Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Datei Info verändern ! (https://www.delphipraxis.net/161259-datei-info-veraendern.html)

DeddyH 25. Jun 2011 12:59

AW: Datei Info verändern !
 
Doch, aber dazu musst Du Dich selbst mit den ID3-Tags auseinandersetzen.

WM_CLOSE 25. Jun 2011 14:54

AW: Datei Info verändern !
 
Ist im grunde genommen nicht schwer:
Du nimmst die Datei, liest sie in einen Stream ein, navigierst zu der Stelle, wo die ID3 Info anfängt und überschreibst die Information an der gewünschten Stelle. Das sind Strings mit fester Breite. Also 30 Zeichen Z.B. Der Rest der ja nicht mit Zeichen aufgefüllt ist wird mit #0 aufgefüllt (nicht leerzeichen sondern #0).

Zumisndest in C# haben wir das in der Schule mit einem 30 Zeiler gelöst.

mkinzler 25. Jun 2011 15:01

AW: Datei Info verändern !
 
Selber implementieren :stupid:

Zuckerberg 26. Jun 2011 12:20

AW: Datei Info verändern !
 
Ja hab die Unit implementiert, jedoch nicht mit Delphi 5 damit klappts nicht habe meine Delphi 7 Version benutzt ;)

Und ja läuft ganz einfach:

1. Stream einlesen
2. Datei Infos verändern
3. Stream überschreiben

das wars im Grunde ...

Danke ;)

Gausi 26. Jun 2011 14:53

AW: Datei Info verändern !
 
Nur zur Erklärung, warum Mp3FileUtils so "mega kompliziert" ist.

Der angespochene 30-Zeiler bearbeitet nur die einfachen ID3v1-tags am Ende der Datei. Der neuere ID3v2-tag am Anfang der Datei ist deutlich komplexer, und da gibt es dann wieder drei Unterversionen. Und dann kann man da auch Bilder und anderen Kram unterbringen, und dann wird das halt etwas länger. ;-)

Andere Units werden da eigentlich nicht gebraucht. Optional können für ältere Delphi-Versionen die TNT UnicodeControls benutzt werden, um auch Dateien mit Unicodezeichen im Namen bearbeiten zu können. Das lässt sich in der config.inc aktivieren, voreingestellt ist das nicht.

Und mit Delphi 5 sollte das eigentlich auch funktionieren. Afaik macht Delphi3 oder kleiner Probleme, da es dort wohl noch keine dynamischen Arrays gab. Was klappt denn da mit Delphi 5 nicht? :gruebel:

Zuckerberg 26. Jun 2011 20:56

AW: Datei Info verändern !
 
Zitat:

Was klappt denn da mit Delphi 5 nicht? :gruebel:
Naja, ich habe alles eingebunden und in der Frame unit steht dann "mehr als 1024 Zeichen in einer Reihe sind nicht erlaubt"

und da stehen überhaupt keine Zeichen -.-

mkinzler 26. Jun 2011 20:57

AW: Datei Info verändern !
 
Es scheint der falsche Zeilenumbruch verwendet zu werden

p80286 27. Jun 2011 11:52

AW: Datei Info verändern !
 
Zitat:

Zitat von Gausi (Beitrag 1108351)
Afaik macht Delphi3 oder kleiner Probleme, da es dort wohl noch keine dynamischen Arrays gab.

Wenn ich mich nicht irre gab es schon in TP (ab 4,5 ?) die dyn. Arrays, da sollten sie in D3 eigentlich auch schon verfügbar sein.

Gruß
K-H

Luckie 27. Jun 2011 11:57

AW: Datei Info verändern !
 
Zitat:

Zitat von p80286 (Beitrag 1108503)
Wenn ich mich nicht irre gab es schon in TP (ab 4,5 ?) die dyn. Arrays, da sollten sie in D3 eigentlich auch schon verfügbar sein.

Nein, dynamische Arrays wurde erst mit Delphi 4 eingeführt.

Satty67 27. Jun 2011 12:11

AW: Datei Info verändern !
 
Zitat:

Zitat von Gausi (Beitrag 1108351)
Und mit Delphi 5 sollte das eigentlich auch funktionieren.

Nein, Set mit festen Werten macht Ärger
Delphi-Quellcode:
TID3v2FrameVersions = (FV_2 = 2, FV_3, FV_4);
.

Ist zu lange her, aber man muss beim Entfernen des "= 2" ein paar direkte Zuweisungen leicht anpassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 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