Autor Beitrag
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mi 26.10.05 14:53 
Hallo Leute !
Ich Suche mit dem unterem Code nach bestimmten Textdateien die den entsprechende String
aus Edit1 im Dateinamen enthalten.
Nun möchte Ich auch Unterordner bei der Suche miteinbeziehen.
Jetzt meine Frage kann Ich das in meinen Code mit einbauen ohne eine Extra Prozedur zu schreiben.
Mir gehts Ja um die Suche nach bestimmten Dateien und nicht nach allen.
Nach allen Dateien Suchen - hab Ich hier im Forum genug gefunden aber das läuft alles über
extra Prozeduren oder Functionen.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var
   sr:TsearchRec;
begin
  Listbox1.Clear;
  Suche:=Edit1.Text;
  if FindFirst(ShellTreeView1.Path + '\*'+Suche+'*.TXT*', faAnyFile - faDirectory, sr) = 0 then
    ListBox1.Items.Add(sr.Name);
     while FindNext(sr) = 0 do
       ListBox1.Items.Add(sr.Name);
    FindClose(sr);
end;
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 26.10.05 14:57 

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Mi 26.10.05 14:59 
Was hast du gegen Prozeduren und Funktionen?

_________________
Bravery calls my name in the sound of the wind in the night...
Blackheart666 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mi 26.10.05 16:20 
"Danke für die Hilfe !"

Hab nichts Dagegen !
Bräuchte die aber nur einmal und da hätt auch die ButtonClick
Methode ausgereicht find Ich naja.

Habs jetzt hinbekommen.
Ich hätte gern dieses hier ('\*') mit in die Prozedur eingebaut hat aber irgendwie nicht so gefunzt.

Für alle die es auch mal brauchen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
procedure DateiSuchen(Pfad:String; Suche:String; Endung:String; Liste: TStrings; Unterverzeichnis: Boolean);
var
 sr:TSearchRec;
begin
  if (Pfad<>''and (Pfad[Length(Pfad)]<>'\'then Pfad:=Pfad+'\';
  if (FindFirst(Pfad + Suche + Endung, faAnyFile-faDirectory, sr)=0then begin
    repeat
      if (sr.Name<>'.'and (sr.Name<>'..'and (sr.Attr<>faDirectory) then
          Liste.Add(Pfad+sr.Name)
    until FindNext(sr)<>0;
    FindClose(sr);
  end;
if Unterverzeichnis then
    if (FindFirst(Pfad + '*.*', faDirectory, sr)=0then
    begin
      repeat
        if (sr.Name<>'.'and (sr.Name<>'..'then
          DateiSuchen(Pfad + sr.Name, Suche, Endung, Liste, True);
      until FindNext(sr)<>0;
       FindClose(sr);
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 Listbox1.Clear;
 DateiSuchen(ShellTreeView1.Path, '\*' + Edit1.Text, '*.txt*', ListBox1.Items, True);
end;