Einzelnen Beitrag anzeigen

Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

Datei löschen trotz Schreibzugriffverbot

  Alt 23. Sep 2004, 08:45
Hi,

ich wüßte gerne ob es eine Möglichkeit gibt den Inhalt eines txt-Files zu ändern auch wenn ich dieses File z.B. in Word aufhabe und mir Word den Zugriff auf diese Datei verweigert. Wenn ja wie mach ich das? Möchte eine Datei die ich für die Übergabe von Daten benutzen muß im Temp-Verzeichnis von Windows ändern. Und zwar zwingend, auch wenn eine andere Anwendung wie Word diese sperrt.

Bis jetzt habe ich nur ne Notlösung damit es wenigstens mal so geht:

Delphi-Quellcode:
function GetTempFolder: AnsiString;
var
  Buf: array[0..MAX_PATH] of AnsiChar;
begin
  GetTempPath(SizeOf(Buf), @Buf);
  Result := Buf;
  if Result <> 'then if AnsiLastChar(Result)^ <> '\then Result := Result + '\';
end;

procedure Speichern(Text: String);
var
  Datei: Integer;
  Buffer: PChar;
  F: String;
begin
  F := GetTempFolder + 'paddydat';
  Datei := FileCreate(F, fmCreate);
  if Datei > 0 then
  begin
    Buffer := PChar(Text);
    FileSeek(Datei, 0, 0);
    FileWrite(Datei, Buffer^, Length(Text));
    FileClose(Datei);
  end
  else Application.MessageBox('Datei kann nicht erstellt werden!' + #13 + #13 +
    'Eine andere Anwendung hat die Datei geöffnet' + #13 +
    'und blockiert den Schreibzugriff!' + #13 + #13 +
    'Schliessen Sie die Anwendung welche die Datei' + #13 +
    'geöffnet hat und versuchen Sie es erneut!', 'Problem',48);
end;
1000 Dank im Voraus
  Mit Zitat antworten Zitat