ďťż

Ładny brzuch

Jak sprawdzić rozmiar folderu (wraz z plikami) i ilośc plików znajdujących się w tym folderze??




Jak sprawdzić rozmiar folderu (wraz z plikami) i ilośc plików znajdujących się w tym folderze?? Co za problem: wyszukujesz wszystkie pliki z katalogu i jego podkatalogów i dodajesz ich rozmiary :) Szukanie plików było wiele razy, poszukaj!

Więc chce wyszukać te pliki. Pod słowem Type wklejam kod:
TSearchRec = record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData;
przy kompilacji wyskakuje mi błąd:
"expected ':' but '=' found" - o co biega? :blink:

{$R *.dfm} var TSearchRec : record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end;

albo

type TForm1 = class(TForm) private { Private declarations } public TSearchRec : record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; end;

albo

[code] type TForm1 = class(TForm) private TSearchRec : record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; public end;
Użytkownik Private edytował ten post 05 sierpień 2006, 12:27


Private: przed record stawia sie = a nie : <_<
Zapomniales enda na koncu ;p Tak w ogole to nie wydaje mi sie, aby byla ta deklaracja potrzeba.


Private: przed record stawia sie = a nie : <_<
Zapomniales enda na koncu ;p Tak w ogole to nie wydaje mi sie, aby byla ta deklaracja potrzeba.

mozna zadeklarowac zmienna jako rekord, np:
var bleeh: record s: string; i: integer; end; begin bleeh.s := ''; bleeh.i := 0;

Ale rozkminki :Pvar rozmiar:int64; function RozmiarKat(dir:string):cardinal; var w:win32_find_data; f:integer; begin f:=FindFirstFile(pchar(dir+'\*.*'),w); if f>0 then while FindNextFile(f,w) do begin if (w.cFileName[0]='.')and(w.cFileName='..') then continue; if w.dwFileAttributes and faDirectory>0 then RozmiarKat(dir+'\'+w.cFileName); inc(rozmiar,w.nFileSizeLow); end; end; procedure TForm1.Button1Click(Sender: TObject); begin rozmiar:=0; rozmiarkat('c:\katalog'); caption:=inttostr(rozmiar); end;
Użytkownik Cyrkiel edytował ten post 05 sierpień 2006, 14:25

[...]
Dobra, ale w kodzie Private'a przed deklaracja bylo type- w tym przpadku nalezy uzyc = ;)


Private: przed record stawia sie = a nie : <_<
Zapomniales enda na koncu ;p Tak w ogole to nie wydaje mi sie, aby byla ta deklaracja potrzeba.


To spróbuj postawić zobaczymy co kompilator powie, bo mnie usilnie próbował wmówić ze oczekuje : a nie =
Chyba ze chodzi Ci o wstawianie bezpośrednio po type wtedy tak
Użytkownik Private edytował ten post 05 sierpień 2006, 15:05

To spróbuj postawić zobaczymy co kompilator powie, bo mnie usilnie próbował wmówić ze oczekuje : a nie =
Chyba ze chodzi Ci o wstawianie bezpośrednio po type wtedy tak

Nie musi byc bezposrednio po type, miedzy type, a wlasciwa deklaracja moga byc deklaracje innych klas lub rekordow. A dlaczego kazal ci wstawic dwukropek to nie wiem, pewnie cos robisz nie tak- pokaz kod to zabaczymy.

To jest dobrze, bo w sekcjach private i public nie może byc : po recordzie
type TForm1 = class(TForm) private { Private declarations } public TSearchRec : record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; end;

To tez jest dobrze bo poza sekcjami private i public, a po type po recordzie ma byc =

type TSearchRec = record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; TForm1 = class(TForm) private { Private declarations } public { Private declarations } end;
Użytkownik Private edytował ten post 05 sierpień 2006, 15:50
Bo w deklaracji klasy deklaracja rekorda jest traktowana jako zmienna, to tak jak bys wstawil po var ;) (patrz: post migajka)

aha rozumiem (czyt: staram się) ^_^
dzieki za info

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •