Autor Beitrag
Pyr0cracker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Di 25.03.03 16:34 
Hallo,
wie kann ich rausfinden wie viele dateien in einem verzeichnis vorhanden sind?
danke schon mal,
FriFra
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 557

Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
BeitragVerfasst: Di 25.03.03 17:04 
Such mal in der Hilfe nach FindFirst bzw. TSearchRec...
Du musst dann für jeden gefundenen Eintrag nur noch prüfen ob es ein Verzeichnis ist bzw. eine Datei... wenn die das egal ist, kannst Du die Anzahl der Ergebnisse auch direkt weiterverwenden...
GruppeCN
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 322



BeitragVerfasst: Di 25.03.03 17:07 
Etwas umständlich geht es mit einer verstekcten FileListBox. Du musst dann einfach über
ausblenden Quelltext
1:
FileListBox1.Directory := 'C:\Texte';					

den Pfad zuweisen und dann die Nummer so abfragen:
ausblenden Quelltext
1:
variable := FileListBox1.Items.Count;					


Es geht bestimmet auch nicht so umständlich, aber dies ist auch eine möglichkeit.

_________________
Warum sind die Sachen, die du suchst, immer da, wo du zuletzt nachsiehst?
Weil du aufhörst zu suchen, wenn du sie gefunden hast.
ShadowCaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 312



BeitragVerfasst: Di 25.03.03 17:13 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function VerzDateiCount(Verzeichnis:string):longint;
var
  SR : TSearchRec;
begin
  Result := 0;
  if Verzeichnis[length(Verzeichnis)]<>'\' then
    Verzeichnis:=Verzeichnis+'\';
  if FindFirst(Verzeichnis+'*.*',$3F,SR)=0 then begin
    repeat
      if ((SR.Attr and faAnyFile)>0) and ((SR.Attr and faDirectory)<1) then
        inc(Result);
    until FindNext(SR)<>0;
    FindClose(SR);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(VerzDateiCount('C:\winnt\')));
end;


Hier mein Beispiel. Etwas quick and very dirty aber es läuft nach meinen Tests.

ACHTUNG: Es werden keine Unterverzeichnisse einbezogen! Du kriegst nur die Infos im angegebenen Verzeichnis, wieviele Dateien du darin hast. Ich hab die Funktion getestet. Sie läuft zumindest.

www.delphi-fundgrube.de/faq03.htm

dort findest du weitere Routinen!
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Mi 26.03.03 10:57 
@ShadowCaster: Danke, genau das habe ich gesucht.