Autor Beitrag
wlfmario
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114

Windos XP SP2
D7 Enterprise & D2005 PE
BeitragVerfasst: Mi 14.12.05 20:51 
Hallo,

ich beschäftige mich ein wenig mit FindFirst FindNext und FindClose.
Jetzt habe ich versucht ein Script zu basteln das alle Datei in einen Ordner mit größe ausgibt und automatisch auch UnterOrdner durchsucht.
Leider kalppt das nicht so wie ich mir das vorstelle, ist bestimmt wieder ein Gedanken Fehler.

Hier mal das Script
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure senden(pfad: string);
var
  sr: TsearchRec;
begin
  FindFirst(pfad + '*.*', faAnyFile, sr);
  while copy(sr.Name, 11) = '.' do
  begin
    findNext(sr);
  end;
  while FindNext(sr) = 0 do
  begin
    if faDirectory <> 0 then
    begin
      Form1.ListBox1.Items.Add('Directory ' + sr.Name); // Das wird immer ausgegeben Soll aber nicht !
      senden(pfad + sr.Name + '\');
    end
    else
      Form1.ListBox1.Items.Add(sr.Name + ' ' + IntToStr(sr.Size));
  end;
  FindClose(sr);
end;

Es soll zwischen Datein und Ordner Unterschieden werden, wenn es sich um einen Ordner handelt, soll in diesen gesprungen werden.
Leider werden immer Datein als Ordner ausgegeben.
Was mache ich Falsch ?


Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 14.12.2005 um 19:57
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 14.12.05 20:52 
Schon mal im Forum gesucht? Dazu gibt es hier genug Beiträge.
wlfmario Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114

Windos XP SP2
D7 Enterprise & D2005 PE
BeitragVerfasst: Mi 14.12.05 21:21 
Hat sich fast Erledigt.

Es muß heissen
ausblenden Delphi-Quelltext
1:
if (sr.Attr and faDirectory) = faDirectory then					


und nicht
ausblenden Delphi-Quelltext
1:
if faDirectory <> 0 then					


Leider klappt das jetzt nicht wenn viele unterverzeichnisse da sind !
Beispiel:
den Ordner den ich durchsuchen möchte hat fünf unter Ordner, die haben auch noch mal fünf bis zehn unter Ordner usw.
Wie muß ich da vor gehen ?