/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Hvordan sletter jeg et dir, incl alle file~
Fra : Ulrik Vadstrup


Dato : 10-03-01 21:56



--
Med venlig hilsen
Ulrik Vadstrup



 
 
Renè Rasmussen (11-03-2001)
Kommentar
Fra : Renè Rasmussen


Dato : 11-03-01 08:37

Hej Ulrik.

Her er to mulige løsninger:

uses SysUtils;

function RemoveTree(DirName: string):Boolean;
var
DirInfo: TSearchRec;
begin
if FindFirst(DirName+'*.*', FaAnyfile, DirInfo) = 0 then
repeat
if (DirInfo.Attr = faDirectory) and (DirInfo.Name <> '.') and (DirInfo.Name <> '..') then
RemoveTree(DirName+DirInfo.Name);
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <>
FaVolumeID)) then
DeleteFile(PChar(DirName+DirInfo.Name));
until FindNext(DirInfo) <> 0;
FindClose(DirInfo);
Result:= RemoveDirectory(PChar(DirName));
end;

......

uses ShellAPI;

function RemoveTree(DirName: String):Boolean;
Var
F: SHFileOpstruct;
begin
F.Wnd:= handle;
F.wFunc:= FO_DELETE;
F.pFrom:= PChar(DirName+#0);
F.pTo:= nil;
F.fFlags= nil;
Result:= SHFileOperation(F);
end;

Prøv at kigge i Hjælp under SHFileOpstruct,
der er flere muligheder med fFlags,
F.eks vil FOF-ALLOWUNDO slette til Papirkurven.

Bemærk den dobbelte Null-terminering i pFrom,
hvis du vil slette flere mapper (eller filer) skriver du f.eks:
F.pFrom:= PChar(DirName1+#0+DirName2+#0+DirName3+#0);

mvh. Rene Rasmussen






Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste