Ich habe mein Programm korrigiert:
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
var SR : TSearchrec;
begin
if FindFirst('*.*', faAnyFile, SR) = 0 then
begin
repeat
// handelt es sich um ein Verzeichnis?
if (SR.Attr and faDirectory) = faDirectory then
begin
if (SR.Name <> '.') and
(SR.Name <> '..') then
ComboBox1.Items.Add(SR.Name);
end;
until
FindNext(SR) <> 0;
FindClose(SR); // wird benötigt um den Speicher wieder freizugeben
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var SR : TSearchrec;
tmp : String;
begin
tmp := ComboBox1.Text + '\*.*';
if FindFirst(tmp, faAnyFile, SR) = 0 then
begin
repeat
// handelt es sich um ein Verzeichnis?
if (SR.Attr and faDirectory) = faDirectory then
begin
if (SR.Name <> '.') and
(SR.Name <> '..') then
ComboBox2.Items.Add(SR.Name);
end;
until
FindNext(SR) <> 0;
FindClose(SR); // wird benötigt um den Speicher wieder freizugeben
end;
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
var SR : TSearchrec;
tmp : String;
begin
tmp := ComboBox1.Text + '\' + ComboBox2.Text + '\*.*';
if FindFirst(tmp, faAnyFile, SR) = 0 then
begin
repeat
// handelt es sich um ein Verzeichnis?
if (SR.Attr and faDirectory) = faDirectory then
begin
if (SR.Name <> '.') and
(SR.Name <> '..') then
ComboBox3.Items.Add(SR.Name);
end;
until
FindNext(SR) <> 0;
FindClose(SR); // wird benötigt um den Speicher wieder freizugeben
end;
end;
Jetzt funktioniert es.
@ SirThornberry:
Mann kann mit "*.*" jede Datei und jeden Ordner suchen. Ein Ordner hat zwar nicht eine "extention" aber es geht eben so. (Wurde mir gesagt). Und es funktioniert!