- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Radera mappar rekursivt Kategori: Filer
Inlagt: 2006-11-25
Läst: 1433
Inlagt av: Staffan Berg
Beskrivning
Följande funktion raderar alla mappar på angiven sökväg utan möjlighet att ångra åtgärden när den är utförd. Alla underliggande mappar och filer raderas.
Kod
if DelTree('c:\TempDir') then 
ShowMessage('Directory deleted!') 
else 
ShowMessage('Errors occured!') ; 
 
 
~~~~~~~~~~~~~~~~~~~~~~~~~ 
uses ShellAPI; 
Function DelTree(DirName : string ): Boolean; 
var 
 SHFileOpStruct : TSHFileOpStruct; 
 DirBuf : array [0..255] of char; 
begin 
 try 
  Fillchar(SHFileOpStruct,Sizeof(SHFileOpStruct),0) ; 
  FillChar(DirBuf, Sizeof(DirBuf), 0 ) ; 
  StrPCopy(DirBuf, DirName) ; 
  with SHFileOpStruct do begin 
  Wnd := 0; 
  pFrom := @DirBuf; 
  wFunc := FO_DELETE; 
  fFlags := FOF_ALLOWUNDO; 
  fFlags := fFlags or FOF_NOCONFIRMATION; 
  fFlags := fFlags or FOF_SILENT; 
  end;  
  Result := (SHFileOperation(SHFileOpStruct) = 0) ; 
  except 
  Result := False; 
 end; 
end; 
 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -