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
|
|
|
|
Ta reda på total mappstorlek
|
Kategori: Filer
Inlagt: 2005-01-10
Läst: 1241
Inlagt av: Staffan Berg
|
Beskrivning |
Detta exempel tar reda på den total storleken på en mapp med hjälp av att bestämma storleken på dess filer.
|
Kod |
procedure TForm1.Find(Str: string ); var MySearch: TSearchRec; FindResult: Integer; begin FindResult:=FindFirst(Str+'\*.*', faArchive+faHidden+ faAnyFile+faVolumeID+ faSysFile+faReadOnly+faDirectory, MySearch); while FindResult=0 do begin if (MySearch.Attr=faDirectory) and (MySearch.Name<>'.') and (MySearch.Name<>'..') then Find(Str+'\'+MySearch.Name) else TotalSize:=TotalSize+MySearch.Size; FindResult:=FindNext(MySearch); end; FindClose(MySearch); end; procedure TForm1.Button1Click(Sender: TObject); begin TotalSize:=0; if Length(Edit1.Text)>0 then begin Find(Edit1.Text); Label2.Caption:='Total size = '+IntToStr(TotalSize); end; end; procedure TForm1.Button2Click(Sender: TObject); var St: string ; begin St:='c:\'; if SelectDirectory(St, [], 0) then Edit1.Text:=St; end;
|
|
|