Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

Re: automatisches verschicken einer datei

  Alt 22. Apr 2004, 10:04
Ihr müsst natürlich prüfen, ob die lokale Datei überhaupt existiert.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
   srcFile: string; // Und nicht so geizig mit lokalen Variablen sein!!!
begin
   srcFile := 'log.log';
   if not FileExists(srcFile) then
   begin
      Caption := Format('Datei %s nicht gefunden', [srcFile]);
      Exit;
   end;

   ....
   IdFTP1.Put(srcFile);
   ....
end;
Und zusätzlich könnte man prüfen, ob die Datei noch im Zugriff ist:
Delphi-Quellcode:
function FileIsClosed(const filename:string):Boolean;
var
   hnd: THandle;
begin
   hnd := CreateFile(PChar(filename), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

   result := hnd <> INVALID_HANDLE_VALUE;

   CloseHandle(hnd);
end;
Ausserdem muss man natürlich die Events von IdFTP1 benutzen (Zumindest bei OnConnect).
Andreas
  Mit Zitat antworten Zitat