![]() |
Ordnername in listbox aufzählen
hab lange gesucht aber nicht genau das gefunden.. nur wie man ordner erstellt oder dateien auflistet...
ich suche was was aus "dir" (aktueller pfad) die unterordner auflistet und deren namen in ListBox1 reinschreibt... nett wehre auch noch, wenn man dann einen namen anklickt das dier in Edit1.Text steht danke schon mal für hilfe.... |
Re: Ordnername in listbox aufzählen
![]() |
Re: Ordnername in listbox aufzählen
Hi,
schau dir mal das TSearchRec an, das ein Property namens "Attr". Nun kannst mit FindFirst und findNext alle Dateien in dem Verzeichnis, was du durchsuchen willst, durchgehen und prüfen, ob Attr = faDirectory ist. |
Re: Ordnername in listbox aufzählen
such mal über google bisschen rum mit listbox und ordner einlesen und sowas, bei meiner suche zum thema listbox box, habe ich dazu ein bsp gefunden, weiß zwar nicht mehr wo, aber ging recht schnell
mfg oH LoRd |
Re: Ordnername in listbox aufzählen
Moin Alexander,
eine Prüfung von
Delphi-Quellcode:
kann leicht daneben gehen, da die Eigenschaft Attr ein Bitfeld darstellt, in dem jedes Attribut in einem eigene Bit verschlüsselt ist. Z.B. würde ein verstecktes Verzeichnis (faHidden) nicht mehr als Verzeichnis erkannt werden.
Attr = faDirectory
Man muss das gewünschte Bit ausmaskieren
Delphi-Quellcode:
um es zu testen.
(Attr and faDirectory) = faDirectory
// oder (Attr and faDirectory) <> 0 |
Re: Ordnername in listbox aufzählen
habs wie folgend gelößt:
Delphi-Quellcode:
ich glaub das macht das was ich denke *g*
procedure TForm2.FormCreate(Sender: TObject);
var x,zahl : Integer; begin dir := ExtractFilepath(ParamStr(0))+'mp3\eigene_mp3s'; //direkter Pfad vom Programm for x := 01 to 99 do begin zahl := x; verzeichnis[x] := dir+'\'+IntToStr(zahl); if DirectoryExists(verzeichnis[zahl]) then Edit1.Text := verzeichnis[zahl] else ForceDirectories(verzeichnis[zahl]); exit; end; end; also folgendes: schaut ob ordner 01 ist wenn nicht dann erstellt er und schreibt das ergebnis ins edit leider das mit listfeld bekomme ich net hin... hat jemand vielleicht ein beispielcode??? (was ich mom hab reicht für meine bedürfnisse) danke ;) |
Re: Ordnername in listbox aufzählen
Zitat:
|
Re: Ordnername in listbox aufzählen
hat jemand vieleicht noch einen weg bzw. kann mir einen der genant in einem beispielcode zeigen *schäm*
halt listbox ein ließt auß dem pfad der in dir steht listbox3 dann aus dir+listbox1 und listbox2 zeigt dann alle *.mp3 aus dir+listbox1+listbox3 an meine momentane lösung läuft über inis die doch ein bissel probs beim weiteren vorgehen machen danke schon mal |
Re: Ordnername in listbox aufzählen
hi,
um Dateien zu finden verwende doch einfach die Komponente JvSearchFiles der ![]() |
Re: Ordnername in listbox aufzählen
Zitat:
|
Re: Ordnername in listbox aufzählen
möcht ja nicht dateien auflisten (weiß wie das schon geht) eher ordner bzw. die ordnernamen und dann halt:
klickt man in der listbox1 auf den ordner öffnet sich der inhalt bzw. dessen ordner (namen) in der listbox3 und wenn man nun in der listbox3 auf einen ordner klickt dann dessen inhalt (*.mp3) in der listbox2 aber trotzdem danke |
Re: Ordnername in listbox aufzählen
|
Re: Ordnername in listbox aufzählen
thx allerdingst ist es keine wirkliche antwort auf meine frage... ich würde gern ordner in einer Listbox auflisten... und wenn man dann auf einein eintrag klickt soll in einer zweiten listbox die unterordner aufgelistet werden und wenn man nun einen ordner (unterordner) klickt in einer dritten listbox dann der inhatl halt die mp3s...
sorry.... |
Re: Ordnername in listbox aufzählen
Liste der Anhänge anzeigen (Anzahl: 1)
wo is dein problem ? is doch ganz einfach...
mit
Delphi-Quellcode:
die unterordner auflisten. wichtig: arbeitsverzeichnis in ner extra variable fürhen und jeweils das neue Verzeichnis anhängen
for i:=0 to listbox1.items.count-1 do
if listbox1.Checked[i] then deine_subfolderproc(listbox1.items.strings[i]); PS: gug ma den anhang |
Re: Ordnername in listbox aufzählen
moin moin,
also irgendwie klingen deine Beschreibungen für mich so, als wolltest du eine Art Explorerfenster in dein Projekt integrieren?! Falls das der Fall ist würde ich dir raten einen Blick auf den Beispiel-Komponenten-Reiter von D7 zu werfen ... dort gibt es eine Komponente namens "ShellTreeView". Ich hab mich zwar noch nie damit beschäftigt aber wenn ich dich richtig verstanden habe scheint das genau deinen Bedürfnissen zu entsprechen. cu phoenix |
Re: Ordnername in listbox aufzählen
@hboy
danke das hat mir teils weitergeholfen... das einzige prob ist wenn ich hier:
Delphi-Quellcode:
einen eintrag anklicke spielt er ihn auch ab, aber wenn ich noch mal drauf klicke auf einen anderen eintrag hängt er an z.b. 'ordner/unterordner/01.mp3'noch dies an '02.mp3' aber warum weiß ich, da ja das 'dir' (var für verzeichnis) ja geändert wurde... mal schauen ob ich dat hinbekomme
for i:=0 to listbox2.Items.Count+1 do begin
if listbox2.Selected[i] = true then begin dir := dir+listbox2.Items.Strings[i]; Edit2.Text := dir; MediaPlayer1.FileName := Edit2.Text; break; end; end; |
Re: Ordnername in listbox aufzählen
es klappt nun einwandfrei nach deine methode @hboy thx...
nur ein prob hab ich nun hier mal der code:
Delphi-Quellcode:
wenn mehr code benötigt wird einfach sagen.....
if RadioButton1.Checked then begin
if (ListBox1.ItemIndex > -1) and // Prüft, ob überhapt etwas in den (ListBox3.ItemIndex > -1) then // Listeboxen ausgewählt ist for i:=0 to listbox2.Items.Count+1 do begin if listbox2.Selected[i] = true then begin dat := pfad+listbox2.Items.Strings[i]; MediaPlayer1.FileName := dat; break; end; end; end; nun werden mp3s in diese listbox eingelesen, wie muss der code eines button lauten der beim klick dann den nächsten eintrag makiert... und das selber vür einen der den voriegen eintrag makiert PS halt wie bei einem mp3player dann.... -----Edit:--------------------------------- Folgendes würde mir schon reichen (überListbox): - Abfrage was angeklickt ist - automatisch das nächste anwählen bzw. wie man das macht - wenn das prog selber das den nächsten eintrag auswählt das dieser auch makiert ist ---Edit 2------------------------------------- hat sich erledigt *g* hab nach 30 min rumprobieren nen code hinbekommen der das tut was er soll naja und hilfe stück für stück studiert ;) hier der code *g*
Delphi-Quellcode:
procedure TForm1.zurueckClick(Sender: TObject);
var i : Integer; mp3pfile : String; begin if Mediaplayer1.Mode = mpOpen then Mediaplayer1.close; ListBox2.ItemIndex := ListBox2.ItemIndex+1; Edit2.Text := pfad+Listbox2.Items[ListBox2.ItemIndex]; Mediaplayer1.FileName := Edit2.Text; mp3File := Concat(MediaPlayer1.FileName); if not FileExists(mp3File) then begin ShowMessage('MP3 file '+#13#10+' '+ mp3File +' '+#13#10+'does not exist!'); exit; end; GetID3TagInformation(mp3File, edTitle, edArtist, edAlbum, edYear, edGenre, edComment); MediaPlayer1.Open; MediaPlayer1.Play; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 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