Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
Delphi 2006 Architect
|
Re: auf Änderungen im Ordner reagieren
30. Apr 2004, 03:07
Zitat von Luckie:
Hi,
ich habe dashier in einem Buch dazu gefunden. Nur wie rufe ich das ganze jetzt auf?
Delphi-Quellcode:
unit DirChangeThread;
interface
Uses
Classes, Windows, Dialogs;
Type TDirChange = Class(TThread)
Private
{ Private-Deklarationen }
Handle : THandle;
Path : String;
Protected
Procedure Execute; Override;
Procedure RefreshListBox;
Destructor Destroy;
Public
{ Public-Deklarationen }
Constructor Create(Path : String);
End;
implementation
Uses
Unit1;
Constructor TDirChange.Create(Path : String);
Begin
Inherited Create(False);
Path := Path;
FreeOnTerminate := True;
End;
Procedure TDirChange.Execute;
Begin
Handle := FindFirstChangeNotification(PChar(Path), FALSE, FILE_NOTIFY_CHANGE_NAME);
If Handle <> INVALID_HANDLE_VALUE Then
While True
Begin
If WaitForSingleObject( Handle, 500) = WAIT_OBJET_0 Then
Begin
Synchronize(RefreshListBox);
End;
FindNextChangeNotification( Handle);
If Terminated Then
Break;
End;
End;
Procedure TDirChange.RefreshListBox;
Begin
Form1.FileListBox1.Update;
End;
Destructor TDirChange.Destroy;
Begin
If Handle <> NULL Then
FindCloseChangeNotification( Handle);
Inherited Destroy;
End;
end.
Vielen Dank!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
|