AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Listbox mit Lieder füllen funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox mit Lieder füllen funktioniert nicht

Ein Thema von Metallicwar · begonnen am 16. Mai 2011 · letzter Beitrag vom 18. Mai 2011
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

Listbox mit Lieder füllen funktioniert nicht

  Alt 16. Mai 2011, 20:46
Hallo, ich bin gerade dabei einen MP3 Player zu programmieren.
Ich wähle in einem BrowseDialog einen Musikordner aus:
Delphi-Quellcode:
procedure TForm1.btnOpenFolderClick(Sender: TObject);
var mp3Folder : string;
begin
 mp3Folder := BrowseDialog('Wähle einen Ordner mit Liedern aus:', BIF_RETURNONLYFSDIRS);
 if mp3Folder = 'then Exit;

 txtFolder.Caption := mp3Folder;

 MP3ListeFuellen(mp3Folder, mp3List.Items);
end;
zum Schluss wird die function MP3ListeFuellen aufgerufen...
Delphi-Quellcode:
procedure MP3ListeFuellen(Folder: string; sl: TStrings);
var
  Rec : TSearchRec;
  mp3List: TListBox;
begin
 sl.Clear;
 if SysUtils.FindFirst(Folder + '*.mp3', faAnyFile, Rec) = 0 then
  try
    repeat
      sl.Add(Rec.Name);
    until SysUtils.FindNext(Rec) <> 0;
  finally
    SysUtils.FindClose(Rec);
  end;
end;
er durchläuft die Schleife, füllt mir aber nicht die ListBox ..
Kann mir bitte jemand helfen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 16. Mai 2011, 21:03
Findet er denn Dateien?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#3

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 16. Mai 2011, 21:09
Hi Luckie,
ja im "Rec.Name" wird der Mp3 Name gespeichert ....
und geht alle Mp3 durch, die in dem Ordner sind.
bin schon eine ganze Weile dabei, eine Lösung zu finden ....
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 16. Mai 2011, 21:21
er durchläuft die Schleife, füllt mir aber nicht die ListBox ..
Kann mir bitte jemand helfen?
Das stimmt schon von der Logik her nicht. Entweder er durchläuft die Schleife und befüllt die Box oder er durchläuft die Schleife nicht.

Dann solltest du mal schauen, ob in deiner Ordner-Variablen der Pfad mit abschließendem '\' steht. Und in deinem Code fehlt noch ein FindClose.

Bernhard

PS: Das SysUtils. brauchst du eigentlich gar nicht, da ja Windows meist die erste Uses ist und SysUtils danach eingebunden wird und somit die Aufrufe aus der Windows-Unit überschreibt.
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:38
Hallo,
dein Übergabeparameter sl ist nur "oneway" und liefert nicht zurück. Mach einmal ein var davor, dann sollte es klappen (var sl : TStrings)
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:39
Nein, var ist nicht nötig, da es sich bei Objektinstanzen um Pointer handelt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:45
Hallo Detlef,
mmmh, procedure MP3ListeFuellen ist für mich erst einmal nur eine Prozedur.
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:46
Das hat aber nichts damit zu tun, dass Objektinstanzen als Argumente automatisch by Reference übergeben werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:48
Delphi-Quellcode:
procedure MP3ListeFuellen(Folder: string; sl: TStrings);
var
  Rec : TSearchRec;
  mp3List: TListBox;
begin
 sl.Clear;
 if SysUtils.FindFirst(Folder + '*.mp3', faAnyFile, Rec) = 0 then
  try
    repeat
      sl.Add(Rec.Name);
    until SysUtils.FindNext(Rec) <> 0;
  finally
    SysUtils.FindClose(Rec);
  end;
end;
er durchläuft die Schleife, füllt mir aber nicht die ListBox
Ahem. Du machst ja gar nix mit der ListBox, ausserdem ist die lokal definiert, ausserdem wird sie nicht erzeugt - so wird da nie was draus.

Wenn in den TStrings was drin steht, dann ausserhalb der Prozedur einer BESTEHENDEN TListBox zuweisen mit ListBox.Items.Assign();
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Listbox mit Lieder füllen funktioniert nicht

  Alt 17. Mai 2011, 07:52
Die Variable ist lediglich überflüssig, zugegriffen wird ja auf den Parameter.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz