AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFiles)
Thema durchsuchen
Ansicht
Themen-Optionen

Hohe "Ladezeit" bei vielen MP3 Dateien (FindAllFiles)

Ein Thema von strange-t · begonnen am 26. Jun 2007 · letzter Beitrag vom 1. Jul 2007
Antwort Antwort
Seite 2 von 2     12   
bigg
(Gast)

n/a Beiträge
 
#11

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

  Alt 26. Jun 2007, 19:38
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.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#12

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

  Alt 26. Jun 2007, 19:39
Zitat von bigg:
Häh, Datenbank?
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++).
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#13

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

  Alt 26. Jun 2007, 20:01
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


@ghostwalker:
die sammlung hat bestimmt auch mal über 10.000 dateien jenachdem wer die jukebox dann benutzt
ist die methode von bigg dann nicht zu empfehlen oder wie soll ich das verstehen?
Torsten
  Mit Zitat antworten Zitat
bigg
(Gast)

n/a Beiträge
 
#14

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

  Alt 26. Jun 2007, 20:02
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.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#15

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

  Alt 26. Jun 2007, 20:24
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
  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
Dominik
  Mit Zitat antworten Zitat
strange-t

Registriert seit: 9. Mär 2007
Ort: Saarland
13 Beiträge
 
Delphi 7 Enterprise
 
#16

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

  Alt 1. Jul 2007, 00:24
danke dominik, werde das bei gelegenheit mal ausprobieren.
is im moment aus zeitgründen eher schlecht. ;(

gruß
torsten
Torsten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:33 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