Entwickler-Ecke
Dateizugriff - Ermitteln welche dateien in einem Verzeichnis sind (name)
crip - Sa 29.06.02 17:02
Titel: Ermitteln welche dateien in einem Verzeichnis sind (name)
Koennte mir jemand sagen wie ich ermitteln kann welche dateien bzw. ihren namen in einem Verzeichnis drin sind!!
Z.B der User waehlt einen Verzeichnis aus und ich gebe ihm eine Liste (in listbox oda so) welche dateien in der listbox drin sind!
Klabautermann - Sa 29.06.02 17:13
Hallo Crip,
wenn du es selber machen willst musst du mit FindFirst, FindNext und FindClose arbeiten.
Hierbei Findest FindFirst die erste Datei die in den Suchschema (z.B. C:\*.*) passt und FindNext die jeweils nächste. Mit FindClose gibst du am ende wieder den Speicher Frei. Genauere Infos dazu findest du in der Online-Hilfe.
Alternatv kannst du auch die Komponenten FileListBox, DirListBox & DriveComboBox von der Komponentenpalette Win 3.1 verwenden.
Unter Delphi 6 Findest du auf der Komponentenpalette Beispiele auch noch 4 zusätzliche Komponenten die für dich in Frage kommen könnten.
Was für dich am besten passt must du selbst entscheiden.
Gruß
Klabautermann
crip - Sa 29.06.02 17:49
Noch ne Frage wie kann ich den Open dialo sagen, dass man da ein Verzeichnis und keine Dtaei auswaehlen soll?!!! oda brauch ich anderen Dialog dazu? Obwohl man koennte nach einer datei indem Verzeichnis Fragen und dann den auch ermitteln, geht auch :D Aber was ist denn besser ? :-)
crip - Sa 29.06.02 18:03
Danke Klabautermann!!!
Ich hab auch schon passenden Beispiel dazu gefunden :
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:
| procedure GetDirs(RootDir: string; dirlist: TStrings); var search: TSearchRec; ts: TStringList; begin ts := TStringList.Create; try if FindFirst(RootDir + '*.*', faDirectory, search) = 0 then begin repeat if ((search.Attr and faDirectory) = faDirectory) and (search.Name <> '.') and (search.Name <> '..') then ts.Add(search.Name); until FindNext(search) <> 0; FindClose(search); end; ts.sort; dirlist.Text := ts.Text; finally ts.Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin GetDirs('C:\', listbox1.Items); end; |
mal sehen was draus wird :-)
Klabautermann - Sa 29.06.02 20:53
crip hat folgendes geschrieben: |
Noch ne Frage wie kann ich den Open dialo sagen, dass man da ein Verzeichnis und keine Dtaei auswaehlen soll?!!! |
Wenn du nur ein Verzeichnis auswählen willst, dann kannst du den Befehl
SelectDirectory verwenden.
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!