Einzelnen Beitrag anzeigen

tomsson74

Registriert seit: 8. Jan 2008
73 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Viele Datensätze nacheinander erstellen

  Alt 23. Jan 2008, 00:26
Zitat von Reinhardtinho:
Delphi-Quellcode:
    with MSTable_Wrk do
    begin
      FieldValues['Pfad'] := FileName;
      FieldValues['Name'] := StringReplace(ExtractFileName(FileName), ExtractFileExt(FileName), '', []);
      FieldValues['Ordner'] := ExtractFilePath(FileName);
      FieldValues['Groesse'] := FGroesse;
      FieldValues['Interpret'] := Artist;
      FieldValues['Titel'] := Titel;
      FieldValues['Album'] := Album;
      FieldValues['Jahr'] := Year;
      FieldValues['Genre'] := Genre;
      FieldValues['Lyrics'] := Lyrics;
      FieldValues['Dauer'] := FDauer;
      FieldValues['Bitrate'] := Bitrate;
      FieldValues['Vbr'] := Vbr;
      FieldValues['ChannelMode'] := ChannelMode;
      FieldValues['Samplerate'] := Samplerate;
      FieldValues['Schreibgeschuetzt'] := FReadOnly;
      FieldValues['Versteckt'] := FHidden;
      FieldValues['Erstelldatum'] := Created;
      JvDBImage1.Picture.Assign(JvID3v21.Images.Pictures.CoverFront);
Diese Zuweisungen wirken sich auch auf die Performance des Programms aus - obgleich das wahrscheinlin nicht die Hauptursache für Dein Problem ist. Die Eigenschaft FieldValues arbeitet mit dem Datentyp 'Variant' so dass der Datenzugriff im Vergleich zu nativen Datentypen langsamer erfolgt.

Persönlich würde ich daher die andere Schreibweise empfehlen, z.B so ...

Delphi-Quellcode:
      (...)
      FieldByName('Groesse').AsInteger := FGroesse;
      FieldByName('Interpret').AsString := Artist;
      FieldByName('Titel').AsString := Titel;
      (...)
      FieldByName('Jahr').AsInteger := Year;
usw.

/Thomas
  Mit Zitat antworten Zitat