Autor Beitrag
cux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mi 06.04.05 23:33 
hi

kurze frage:
wie kann ich alle dateien aus einem ordner einlesen ohne dass ich deren namen kenne?

cux
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mi 06.04.05 23:47 
ausblenden volle Höhe 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:
30:
31:
32:
33:
34:
35:
36:
37:
procedure GetAllFiles(Path, ExtMask: String; List: TStrings;
  SubFolder: Boolean);
var
  Attrib, i: Integer;
  Search: TSearchRec;
begin
  Attrib := faArchive + faReadOnly + faHidden;

  if Path[Length(Path)] <> '\' then Path := Path + '\';

  with TStringList.Create do
  try
    CommaText := ExtMask;

    for i := 0 to Count - 1 do
    if FindFirst(Path + '*.' + Strings[i], Attrib, Search) = 0 then
      repeat
        List.Add(AnsiUpperCase(Path + Search.Name));
      until FindNext(Search) <> 0;

    FindClose(Search);
  finally Free end;

  if SubFolder then
  begin
    if FindFirst(Path + '*.*', faDirectory, Search) = 0 then
    begin
      repeat
        if ((Search.Attr and faDirectory) = faDirectory) and
          (Search.Name[1] <> '.'then
          GetAllFilesEM(Path + Search.Name, ExtMask, List, SubFolder);
      until FindNext(Search) <> 0;

      FindClose(Search);
    end;
  end;
end;

ausblenden Delphi-Quelltext
1:
GetAllFiles('c:\programme\''*', ListBox1.Items, False);					

_________________
Popov
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 06.04.05 23:48 
Eine fantastische Erfindung, die sich Suche nennt (Suche in: Delphi-Forum, Delphi-Library DATEIEN ORDNER AUSLESEN) hätte dir sicher schneller geholfen.


@Popov: Wie war das? Wozu schreibt jemand FAQ-Beiträge, wenn Sie keiner liest? :)
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Do 07.04.05 00:16 
Ja, aber GetAllFiles ist meine lieblings Prozedur :D . Keine Ahnung wie oft ich die schon verbessert habe. Es fällt mir immer eine neue Kleinigkeit ein. Bei dieser kann man mehrere Erweiterungen eingeben. Solche Verbesserungen müssen unter das Volk ;)

_________________
Popov
cux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Do 07.04.05 09:52 
Danke!

Deine Procedure ist echt genial! Genau das was ich gesucht habe!

cux
Mafoe
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 05.07.05 15:11 
Kann man das dann auch irgendwie in ein Feld speichern?
Oder anderweitig verwenden als in der Listbox?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 05.07.05 15:21 
user profile iconMafoe hat folgendes geschrieben:
Kann man das dann auch irgendwie in ein Feld speichern?
Oder anderweitig verwenden als in der Listbox?

Wie meinst du das mit dem Feld?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  tmpList: TStringList;
begin
  tmpList := TStringList.Create;
  GetAllFiles('c:\programme\''*', tmpList, False);
  ShowMessage(tmpList.Text);
  if tmpList.Count > 1 then
    ShowMessage(tmpList[1]);
  tmpList.Free;
end;