codice:
procedure TfrmMain.DownloadFile;
var i : Integer; ext, s, destinazione : String; b : boolean; remoto, locale : string;
begin
if (FTP.Connected = True) then
begin
FTP.Disconnect;
end;
frmMain.FTP.Host := Configurazione.Nome_Server;
frmMain.FTP.Username := Configurazione.Nome_Utente;
frmMain.FTP.Password := Configurazione.Password;
frmMain.FTP.Connect;
// Se la cartella TMP non esiste la Creo
if not(DirectoryExists('TMP')) then
begin
CreateDir('TMP');
end;
// Ordino il file e lo metto nella cartella TMP
if FileExists('TMP\tmp.mdb') then
begin
DeleteFile('TMP\tmp.mdb');
end;
Configurazione1.Indirizzo_db_copiato := 'TMP\tmp.mdb';
Configurazione1.Indirizzo_db := Configurazione.NomeFile_locale;
if (frm_conf.chkbox_oribruni_sort_copy_mdb.Checked = True) then
begin
frm_main.Show;
frm_main.BringToFront;
frm_main.Sort_Copy_MDB;
frm_main.Close;
end
else
begin
remoto:= Configurazione1.Indirizzo_db;
locale:= Configurazione1.Indirizzo_db_copiato;
CopyFile(Pchar(remoto), PChar(locale), true);
end;
s := Configurazione.NomeFile_remoto;
if (FTP.Size(s) > 0) then
begin // Cancello il file se è presente sul Server FTP.Delete(Configurazione.NomeFile_remoto);
end;
// Copio il file e preparo il file tmp
CopyFile(Pchar('TMP\tmp.mdb'), PChar('TMP\tmp.mdb.tmp'), true);
FTP.Put('TMP\tmp.mdb.tmp', destinazione );
FTP.Noop;
FTP.Rename(destinazione, configurazione.NomeFile_remoto);
FTP.Quit;
FTP.Disconnect;
end;
end;
Da me il codice è indentato correttamente ma qui non riesco a farlo visualizzare bene.
Se io verifico il file nella cartella tmp (prima di fare l'upload) viene aperto correttamente mentre quando lo scarico dal server con filezilla (e non solo) mi da problemi (e ha una dimensione diversa dal file iniziale, maggiore per giunta). Un db mdb di access mi da problemi sull'accesso (mi pare: "il file richiesto viene aperto da più utenti") mentre una foto mi dice di essere danneggiata.
Grazie =)