hi,
irgendwie hänge ich gerade und komme hier nicht weiter.
ich möchte eine textdatei mit einem filelock belegen (schreib und leserechte), dann soll dieser textdatei eine zeile hinzugefügt werden und zeilenweise ausgelesen werden, JEDOCH NUR wenn diese textdatei keinen vorherigen filelock von einem anderen programm hat.
das ist bereits dass was ich zusammen gemurckst habe
Es wird nichts in die Textdatei gespeichert.
Wisst ihr wie ich das lauffähig bekomme?
Delphi-Quellcode:
...private
ChatDateiPfad : String;
ChatDateiPfadFull : String;
...
procedure TForm1.TimerWatchMessagesTimer(Sender: TObject);
var
ThisTime : String;
FileHandle : THandle;
FileWithLock : TextFile;
begin
MemoLog.Lines.add('--------------------------------------------------------------------------------------------------------------------------------------------');
ThisTime := formatdatetime('c', Now);
MemoLog.Lines.add(ThisTime + ' - ' + 'Checking File: ' + ChatDateiPfadFull + '...');
if DirectoryExists(ChatDateiPfad) = True then
begin
//lblChatDateiPfad.Caption := 'OK';
if FileExists(ChatDateiPfadFull) = True then
begin
//lblChatDateiName.Caption := 'OK';
MemoLog.Lines.add(ThisTime + ' - ' + 'File is reading: ' + ChatDateiPfadFull + '...');
FileHandle := FileOpen(ChatDateiPfadFull, fmOpenReadWrite or fmShareDenyWrite);
try
AssignFile(FileWithLock, ChatDateiPfadFull);
ReWrite(FileWithLock);
FileMode := fmOpenWrite;
//ReSet(FileWithLock);
WriteLn(FileWithLock, 'Hello123');
//ReWrite(FileWithLock);
//WriteLn(FileWithLock, 'Hello!');
CloseFile(FileWithLock);
MemoLog.Lines.add(ThisTime + ' - ' + ' Schreibzugriff AN');
finally
FileClose(FileHandle)
end;
end
else
begin
MemoLog.Lines.add(ThisTime + ' - ' + 'File not found: ' + ChatDateiPfadFull + '...');
end;
end
else
begin
MemoLog.Lines.add(ThisTime + ' - ' + 'Directory not found: ' + ChatDateiPfad + '...');
end;
end;