Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFiles) (https://www.delphipraxis.net/94755-hohe-ladezeit-bei-vielen-mp3-dateien-findallfiles.html)

bigg 26. Jun 2007 18:38

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
Beispiele habe ich nicht, aber so schwer ist es nicht. :???: Du benötigst wie ich schon erwähnt habe eine TList. In dieser Liste speicherst du mit Hilfe von Strukturen/Klassen/Records deine Infos (Eine Liste mit Pointern). Die Listview dient ausschließlich zum Darstellen der Infos. Da das Suchen der Dateien recht flott ist, legst du auch genauso viele Einträge wie die Anzahl gefundener Dateien an, das gilt für die Listview, als auch für die TList. Mit einem zusätzlichen Thread könnte man dann die TList auf Nachfrage füllen. Ist ein gültiger Eintrag vorhanden, so wird er auch gleich gezeichnet.

Um das Zeichnen müssest du dich dann selbst kümmern. Wie man das macht, findest du ebenfalls hier im Forum.

Ghostwalker 26. Jun 2007 18:39

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
Zitat:

Zitat von bigg
Häh, Datenbank? :shock:
Ist das nicht etwas überdimensoniert?

Nein. Es ist alles eine Frage, was man damit machen will und wie groß die Datenmengen sind

Zitat:

Eine TList in Verbindung mit Mergesort ist alles was man für die Verwaltung der Daten benötigt. Anschließend könnte man sich Reports für Excel oder HTML-Tabellen erstellen lassen.
Also, das möcht ich nicht mit ner einigermaßen guten Sammlung machen (10.000 MP3++). :)

strange-t 26. Jun 2007 19:01

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
ohje, das ist mir doch irgendwie zu hoch :(
werd mich mal bissl damit beschäftigen aber falls jemand lust hat n kleines beispiel dazu zu machen, is das natürlich viel besser. dann könnte ich anhand des codes etc. auch richtig sehen wie was funzt etc.

naja, mal abwarten und tee trinken bzw. rumprobieren :zwinker:


@ghostwalker:
die sammlung hat bestimmt auch mal über 10.000 dateien jenachdem wer die jukebox dann benutzt :zwinker:
ist die methode von bigg dann nicht zu empfehlen oder wie soll ich das verstehen? :gruebel:

bigg 26. Jun 2007 19:02

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
10.000 sind ja nicht grade sehr viel. In einer Excel-Tabelle nimmt das ja nicht mal 1/6 des verfügbaren Platzes ein. Ein Kumpel verwaltet so zum Beispiel seine Video-Sammlung. Ziemlich abenteuerlich, aber es funktioniert. :)

Ich schätze, wenn ich mal irgendwann ein Musikportal entwickeln sollte, wo man mehrere Millionen Titel katalogisieren müsste, würde ich auch zu einer DB greifen, aber so. Sind ja nur eine handvoll Songs. :cheers:

dominikkv 26. Jun 2007 19:24

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
so, bin auch grad drann an nem musik-katalogisierungsprogramm zu schreiben xD
dabei benutze ich meine eigene "datenbank"
einfach nen record definieren:
Delphi-Quellcode:
  TTabelle = Record
    Interpret, Album, Titel, Pfad: String[255];
    // und was du hier halt noch speichern willst
  end;
dann noch ne variable
Delphi-Quellcode:
  Tabelle = Array of TTabelle;
zum laden und speichern einfach

Delphi-Quellcode:
function TDatenbank.SaveToFile(Dest: string): Boolean;
var f: file of TTabelle;
    I: Cardinal;
begin
  result := true;
  if high(tabelle) > 1 then
  try
    assignFile(f, Dest);
    reWrite(f);
    for I := 1 to high(Tabelle) do
      write(f, Tabelle[i]);
    closeFile(f);
  except
    result := false;
  end; // try
end;

function TDatenbank.LoadFromFile(Source: string): Boolean;
var f: file of TTabelle;
begin
  result := True;
  try
    try
      assignFile(f, Source);
      reset(f);
      SetLength(Tabelle, 0);
      SetLength(Tabelle, FileSize(f)+1);
      C := 0;
      while not eof(f) do
        begin
          Inc(C);
          read(f, Tabelle[C]);
        end;
    finally
      closeFile(f);
    end;
  except
    result := false;
  end; // try
end;
end;
bei ca 18.500 musikfiles brauch das laden und speichern ca 1 sekunde, und das suchen und anzeigen in meiner "datenbank" ne halbe sekunde^^

eine ListView würde ich nicht zum anzeigen empfehlen, eher ein VirtualTreeView

strange-t 30. Jun 2007 23:24

Re: Hohe "Ladezeit" bei vielen MP3 Dateien (FindAl
 
danke dominik, werde das bei gelegenheit mal ausprobieren.
is im moment aus zeitgründen eher schlecht. ;(

gruß
torsten


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

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