Hallo zusammen,
folgendes:
Auf einem
FTP Server werden nach 3-4 Monaten eine Aktualisierung einer bestimmten Datei hochgeladen.
Die erste Datei liegt bereits lokal auf meinem Rechner.
Ich möchte nun prüfen, ob die Datei des Servers aktueller ist als die auf dem lokalem Rechner, z.B. über das Änderungsdatum. Ist die Datei aktueller, soll sie heruntergeladen werden, entpackt und der Inhalt in eine Datenbank eingespielt werden. Lässt sich das Änderungsdatum auch direkt auf dem
FTP Server prüfen?? Oder hättet ihr eine ganz andere Lösungsmöglichkeit für mich?
So würde ich es lösen:
Delphi-Quellcode:
procedure TfrmdatenDownload.Button1Click(Sender: TObject);
var
DOSDatum : integer;
WinDatum : TDateTime;
Dateiname :
string;
begin
TRY
TRY
ftpDateiDownload.Username := '
admin';
ftpDateiDownload.Password := '
passwort';
ftpDateiDownload.Host := '
FTP SERVER';
ftpDateiDownload.Connect;
Application.ProcessMessages;
if SaveDlgBankdatendownload.Execute
then
begin
ftpDateiDownload.Get('
Datei.txt', '
G:\Projekte', false);
{wie entpacken}
{sobald Datei entpackt, über
DOSDatum:=FileAge(Dateiname);
WinDatum:=FileDateToDateTime(DOSDatum); anhand des Änderungsdatums prüfen, ob Datei aktueller ist, wenn ja DB UPDATE}
end;
EXCEPT
MessageDlg('
Es ist ein Fehler beim Download aufgetreten, Prozess wird beendet', mtError, [mbOK], 0);
END;
FINALLY
ftpDateiDownload.Quit;
END;
end;