Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ordnerinhalt mit Pfadangabe zu ListBox (https://www.delphipraxis.net/36483-ordnerinhalt-mit-pfadangabe-zu-listbox.html)

kingflo 20. Dez 2004 18:49


Ordnerinhalt mit Pfadangabe zu ListBox
 
Hallo ich möchte gerne den Inhalt eines Ordners in einer ListBox haben (aber mit Pfad)
z.B der Ordner C:\Ordner
ich habe zu dem Thema folgendes Beispiel bei euch gefunden

Code:
var
  s, path: string;
  i  : integer;
  stl : tstringlist;
begin
   path:=DirectoryDialog.Directory+'\*.*'#0;
   s := path;

   ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
   listbox1.ItemIndex:=0;

  stl:=tstringlist.Create;
  try
    for i := 0 to listbox1.items.count - 1 do
    begin
      stl.Add(listbox1.items.strings[listbox1.itemindex]);
      listbox1.ItemIndex:=listbox1.ItemIndex+1;
    end;
    listbox1.Items.CommaText:=stl.commatext;
  finally
    stl.Free;
  end;
end;
Allerdings ist es so, dass wenn ich es so mache nicht den Pfad mit in der ListBox habe sondern nur die datein
z.B
test.html
text.txt
document.doc

aber ich möchte gerne, dass auch der Pfad davor steht
also
C:\Ordner\test.html
usw...

kann mir da jemand helfen??

Luckie 21. Dez 2004 04:53

Re: Ordnerinhalt mit Pfadangabe zu ListBox
 
FindFirstFindFirst sollte das sein, was du suchst.

kingflo 21. Dez 2004 10:47

Re: Ordnerinhalt mit Pfadangabe zu ListBox
 
Danke :thumb:

jim_raynor 21. Dez 2004 12:20

Re: Ordnerinhalt mit Pfadangabe zu ListBox
 
Zitat:

Zitat von kingflo
Code:
for i := 0 to listbox1.items.count - 1 do
    begin
      stl.Add(listbox1.items.strings[listbox1.itemindex]);
      listbox1.ItemIndex:=listbox1.ItemIndex+1;
    end;
    listbox1.Items.CommaText:=stl.commatext;
  finally
    stl.Free;
  end;
end;

Mach doch einfach: stl.Add(DirectoryDialog.Directory+'\'+listbox1.ite ms.strings[listbox1.itemindex]);
Das mit FindFirst musst nur machen, wenn du die Dateien selber suchen möchtest.


Und diese Zeile
Delphi-Quellcode:
listbox1.ItemIndex:=listbox1.ItemIndex+1;
ist meiner Meinung nach auch Überflüssig. Würde statt dessen lieber ne normale Variable nehmen. Dürfte wesentlich schneller sein.

Und auch das
Delphi-Quellcode:
listbox1.Items.CommaText:=stl.commatext;
geht einfacher mit Listbox1.Items:=stl; oder wenn das doch nicht klappt dann listbox1.Items.Assign(stl);


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz