Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#6

AW: Änderungsdatum prüfen

  Alt 24. Feb 2011, 15:12
soo, hab mal was gecoded, kann aber nicht sagen, ob das so funktioniert:
Delphi-Quellcode:
procedure TfrmBankenDownload.Button1Click(Sender: TObject);
var
  iDOSDatumLokal: Integer;
  dtWINDatumLokal : TDateTime;
  sDateiEndung: String;
begin
  TRY
    TRY
      ftpDateiDownload.Username := 'admin';
      ftpDateiDownload.Password := 'passwort';
      ftpDateiDownload.Host := 'FTP SERVER';
      ftpDateiDownload.Connect;
      {Änderungsdatum der lokalen Datei herausfinden}
      iDOSDatumLokal := FileAge('C:\Importdateien\Datei.txt');
      dtWINDatumLokal := FileDateToDateTime(iDOSDatumLokal);
      {Abfrage, ob Datei auf Server aktueller als Datei Lokal}
      if ftpDateiDownload.FileDate('Datei.zip',false) > dtWINDatumLokal then
        if dlgDateiAbspeichern.Execute then
          begin
            {Datei downloaden und entpacken}
            ftpDateiDownload.Get('Datei.zip', dlgDateiAbspeichern.FileName, false);
            AbZIPEntpacken.FileName := 'C:\Importdateien\Datei_Neu.txt';
            AbZIPEntpacken.BaseDirectory := 'C:\Importdateien\';
            AbZIPEntpacken.ExtractFiles('*.*');
            {Tabelle leeren und neue Werte eintrage}
            qTabelleLeeren.SQL.Text := 'DELETE FROM Tabelle';
            qTabelleLeeren.ExecSQL;
            {Werte aus Datei (csv oder txt) in Datenbank schreiben}
            if dlgDateiEinelsen.Execute then
              sDateiendung := ExtractFileExt(ansilowercase(dlgDateiEinelsen.FileName));
              if sDateiendung = '.txtthen
                importFromTextfile(dlgDateiEinelsen.FileName)
              else
                importFromCSVfile(dlgDateiEinelsen.FileName);
          end;
    EXCEPT
      MessageDlg('Es ist ein Fehler beim Download aufgetreten, Prozess wird beendet', mtError, [mbOK], 0);
    END;
  FINALLY
    ftpDateiDownload.Quit;
    qTabelleLeeren.Close;
  END;
end;
Anregungen?
Fehler gefunden?
  Mit Zitat antworten Zitat