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 =)