Entwickler-Ecke

Dateizugriff - FLV, JPG und Text in eine Datei


Nano-Ware - Mo 07.12.09 16:53
Titel: FLV, JPG und Text in eine Datei
Hi,

ich möchte ein eigenes Dateiformat machen. Leider habe ich garkeinen Ansatz... Könntet ihr mir auf die sprünge hlefen?

Test.flv
Test.jpg

Und ein Text z.B.:

dgfhjkhgfdsdfghjkjhg

soll dann als Test.ytc gespeichert werden... wie soll ich das machen?


Lg Nano-Ware


elundril - Mo 07.12.09 17:24

du könntest XML verwenden. Den String dann als String speichern und die 2 Dateien als Stream. Würde mir so spontan einfallen. ;)

lg elundril


Nano-Ware - Mo 07.12.09 17:27

Ja das könnte ich in der Tat :wink: wenn ich wüsste wie^^


elundril - Mo 07.12.09 17:30

Jedis runter laden zum beispiel, dann dir die demos angucken (samt Quelltext) und dann die Methoden von TJvSimpleXML anschauen. Die haben doch eh alle so bezeichnende Namen. ;) Und notfalls einfach ein bisschen herumexperimentieren. ;)

lg elundril


Nano-Ware - Mo 07.12.09 17:34

Ja ok^^ aber wie speichere ich einen Stream bzw 2 in eine Datei und wie lese ich sie aus???


elundril - Mo 07.12.09 17:38

mit XML. Ich verweise nochmals auf die Demos und auf die Namen der Methoden. ;)

wie man einen Stream erzeugt und verwaltet kannst du [url=http://www.delphi-treff.de/tutorials/datenspeicherung/streams/ ]hier[/url] nachlesen.

lg elundril

P.S.: Etwas mehr Eigeninitiative bitte. Google ist nicht so schwer zu finden und die Schlagwörter liegen eh immer auf der Hand. ;)


jakobwenzel - Mo 07.12.09 17:42

Binäre Daten in ner XML unterzubringen ist IMHO nicht so das wahre, mit dem ganzen Escaping, da wird die Datei nur unnötig groß...
Warum nicht einfach in einer Datei erst die Länge der .flv, dann den Inhalt, dann die Länge der .jpg, deren Inhalt und zum Schluss den Text, wahlweise mit oder ohne XML-Verpackung.
Anhand der Längenangaben lässt sich das dann eindeutig wieder auseinanderfummeln.
Eine gewissen Souveränität im Umgang mit Streams ist dafür allerdings Pflicht. ;)


elundril - Mo 07.12.09 17:58

ja, is vielleicht die elegantere Lösung aber auf jeden Fall die schwerere für Anfänger und auch schlechter zum verwenden in anderen Programmen.

lg elundril


ffgorcky - Mo 07.12.09 19:02

Also ich hoffe, dass ich das ganze richtig verstehe:
Du kennst Dich also noch nicht so wirklich mit dem Speichern von Dateien aus.

Das geht doch so:

Delphi-Quelltext
1:
MemoZuSpeicherndeDatei.Lines.SaveToFile('Dateiname.BeliebigeErweiterung')                    


Wobei ich denke, dass Du das ganze dann doch lieber eher in einer Datenbank-Datei abspeichern möchtest.
Da kann man doch auch Bilder und Texte gemischt speichern - und alle in einer Datei.


elundril - Mo 07.12.09 19:12

du verstehst es leider nicht richtig. er hat eine FLV-Datei (Flashvideo), ein JPEG (Bild) und einen String und den mag er in eine Datei speichern. FLV und JPEG dann in ein memo zu quetschen wäre ja noch um einiges katastrophaler als mein vorschlag, da FLV und JPEG ja binärdateien sind. ;)

lg elundril


ffgorcky - Mo 07.12.09 21:54

Dann also zum zweiten Vorschlag:
Wäre es nicht auch möglich, eine Access-Datei anzulegen, in die er das alles speichert? (Nur deswegen Access, weil er das ja gerne in einer Datei haben möchte.)
- Oder möchte er denn nur immer die Begriffe von einem bestimmtem Thema jeweils in eine Datei alleine speichern?


elundril - Mo 07.12.09 22:52

also ich versteh das so das er in 1 Datei genau 1FLV, 1 JPEG und 1 String speichern will. Demnach wäre es etwas überzogen für nur 3 Objekte jeweils ne neue Datenbank anzulegen. Außerdem wäre bei einer Datenbank nur wieder begrenzt der austausch von Dateien möglich.

lg elundril


jakobwenzel - Mo 07.12.09 23:12

Ich fänds auch übertrieben da ne Datenbank draufzuschmeißen - da lernt man lieber mit Streams umzugehen als mit Datenbanken...