Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ordner verwendet - "gelockt" (https://www.delphipraxis.net/67625-ordner-verwendet-gelockt.html)

Delphi-Freak 17. Apr 2006 20:03


Ordner verwendet - "gelockt"
 
Nachdem ich es mit Hilfe von dem mit Dateien geschafft habe bräuchte ich es auch für Ordner. Ich möchte wissen, ob ich sie umbenennen bzw. löschen kann. Geht das nur mit dem wirklichen Umbenennen - und wenns funktioniert hat dann wieder zurückbenennen - oder gibts da eine bessere Methode?

LG, ich

sakura 17. Apr 2006 20:09

Re: Ordner verwendet - "gelockt"
 
Ich denke mal, dass Du für jede darin enthaltene Datei überprüfen musst, ob diese evtl. in Benutzung ist ;) Oder versuche einfach mal FileExists mit DirectoryExists zu ersetzen. Der Rest geht auch mit Foldern ;)

...:cat:...

Delphi-Freak 17. Apr 2006 20:22

Re: Ordner verwendet - "gelockt"
 
Nur die einzelnen Dateien zu überprüfen funktioniert nicht, weil manchmal ist es ja so, dass man zwar alle Dateien in einem Ordner löschen kann, den Ordner selbst aber nicht; sogesehen muss es sowas wie locked auch für einen Ordner direkt geben...
An den anderen Code habe ich irgendwie nicht gedacht, weil in der Hilfe gestanden ist:
Zitat:

An application cannot create a directory with CreateFile
Aber klar! Erstellen nicht, aber öffnen schon - danke, werd ich gleich probieren...

...und es funktioniert!!! DANKE :thumb:

Delphi-Quellcode:
function DirInUse(const FileName: String): Boolean;
var
   HFileRes: HFILE;
begin
   Result := False;
   if not DirectoryExists(FileName) then Exit;
   HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_BACKUP_SEMANTICS, 0);
   Result := (HFileRes = INVALID_HANDLE_VALUE);
   if not Result then CloseHandle(HFileRes);
end;
LG, ich


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz