Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mp3 files auch aus allen unterverzeichnissen einbeziehen (https://www.delphipraxis.net/33803-mp3-files-auch-aus-allen-unterverzeichnissen-einbeziehen.html)

100nF 13. Nov 2004 10:23

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
er markiert die stelle nach dem ersten komma (listbox1.items.strings, :!: ...) und er schreibt: '[' erwartet, aber ',' gefunden

muss man da noch irgend einen itemindex angeben??
funktioniert aber auch nicht...

tommie-lie 13. Nov 2004 10:27

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
Ohne "Strings" hinter den Items, denn Strings ist ein Property, daß eienn String anhand eines Index zurückliefert:
Delphi-Quellcode:
findallfiles(listbox1.items, label2.Caption, '*.mp3', true);

100nF 13. Nov 2004 10:33

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
geht auch nicht...

er markiert wieder die gleiche stelle und der fehler heisst:
'Konstantenobjekt kann nicht als VAR-Parameter weitergegeben werden'

aus diesem text werde ich nicht wirklich schlau, aber vielleicht könnte man ja die function etwas abändern, dass es das funktioniert...??

tommie-lie 13. Nov 2004 11:05

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
:wall:
Ist ja auch wieder ein Property mit Zugriffsmethoden...
Also dann:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  GetFilesInDirectory('h:\', '*.mp3', Listbox1.Items, true);
end;
Wobei GetFilesInDirectory aus diesem Beitrag von Arakis stammt.
Luckies Funktion scheint wohl Probleme mit der Rekursion zu haben, jedenfalls hat bei meinen Tests ein rekursives Suchen keine Dateien in Unterverzeichnissen gefunden, die eindeutig vorhanden waren. Arakis' Funktion arbeitet fehlerfrei, zumindest meinen Tests zufolge, obiger Code ist getestet und läuft so wie er ist, die Listbox wird mit den Dateien gefüllt.

100nF 13. Nov 2004 11:59

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
genau das ist es!!

erstmal vielen dank

aber jetzt muss ich diese files noch in meine datenbank hineinschreiben können.
das habe ich so gemacht:

Delphi-Quellcode:
 begin
label8.Caption := '0';
listbox1.ItemIndex := 0;
  repeat
  listbox1.ItemIndex := listbox1.ItemIndex+1 ;
  label8.Caption := inttostr(strtoint(label8.caption)+1);
  player.Button3.Click;         // files-informationen auslesen
  button2.Click;                // in die datenbank einschreiben
  until listbox1.ItemIndex = listbox1.Count-1;
label8.Caption := inttostr(strtoint(label8.caption)+1);
player.Button3.Click;
button2.Click;
end;

das problem ist jedoch, dass immer nur der letzte eintrag der listbox in die datenbank eingeschrieben wird

gibt es dafür eine erklärung? oder noch besser eine lösung?

tommie-lie 13. Nov 2004 12:09

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
Zitat:

Zitat von urbanbruhin
gibt es dafür eine erklärung? oder noch besser eine lösung?

Eigentlich nicht, auch wenn dein Weg sehr unorthodox ist.
Wie sieht denn player.OnButton3Click und OnButton2Click aus?

100nF 13. Nov 2004 12:18

Re: mp3 files auch aus allen unterverzeichnissen einbeziehen
 
ich habe jetzt gleich beide prozeduren in eine gepackt, das andere macht ja keinen sinn...

Delphi-Quellcode:
procedure Tplayer.Button3Click(Sender: TObject);
begin
  mp3file := add.ListBox1.Items.Strings[add.ListBox1.itemindex];
  FillID3TagInformation(mp3file, add.edit1, add.edit2, add.edit3, add.edit4, add.edit5, add.edit6);
  table1.Insert;
  add.dbedit1.Text := add.edit1.Text;
  add.dbedit2.Text := add.edit2.Text;
  add.dbedit4.Text := add.edit4.Text;
  add.dbedit5.Text := add.edit5.Text;
  add.dbedit6.Text := add.edit6.Text;
  add.dbedit9.Text := add.edit13.text;

  mediaplayer1.Close;
  mediaplayer1.FileName := mp3file;
  mediaplayer1.Open;
  a := mediaplayer1.Length*(929/930092);
  b := Rounder(a, 0);
  label1.Caption := floattostr(b);
  add.DBEdit8.Text := timetostr(SecondsToTime(strtoint(label1.Caption)));


  add.dbedit3.Text := add.StaticText1.Caption;
  add.dbedit7.Text := mp3file;
  table1.Post;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.
Seite 2 von 2     12   

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