AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dateien Konvertieren / Eigenen Dateityp erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien Konvertieren / Eigenen Dateityp erstellen

Ein Thema von everdream · begonnen am 7. Dez 2007 · letzter Beitrag vom 10. Dez 2007
Antwort Antwort
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#1

Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 7. Dez 2007, 18:41
Hallo liebe DP-Gemeinde,

Ich möchte ein Programm schreiben, das einen bestimmten Dateitypen (z.B. .txt) einliehst und dann in einen anderen (eigenen) Dateitypen verpackt.

Mein erstes Problem wäre dann dieser eigene Dateityp. Hier im Forum habe ich leider nur Topics gefunden, in denen irgendwer schon einen eigenen Typen hatte, aber noch nichts dazu, wie man sowas eigentlich macht. Ein kurzer Verweis auf ne art Tutorial oder die Funktionen mit erklärung wäre hilfreich.

Wie man eine Textdatei einliehst weiß ich, aber wie geht das bei "komplexeren" Dateien, z.B. .mp3, .exe, oder .jpg?

Umgekehrt soll das Programm auch meine Datei zurück in .txt (oder was anderes halt) übersetzen können. Muss ich dabei noch irgendwas besonderes beachten?

Vielen Dank im Voraus, everdream
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 7. Dez 2007, 18:50
Im Prinzip ist die Dateiendung völlig egal. Du kannst auch in einer .txt-Datei Bilder speichern. Die Endung dient dazu, dass der Benutzer erkennt, was gespeichert wird und außerdem kann sich ein Programm für eine Dateiendung registrieren, d.h. wenn du im Explorer eine .txt-Datei öffnest, wird automatisch dieses Programm gestartet (gewöhnlich Notepad). Wenn du nun in der .txt-Datei Bilder gespeichert hast, zeigt Notepad nichts sinnvolles an, weshalb man sich an das Format halten sollte.
Wie du "komplizierte" Dateitypen einliest, hängt davon ab, was du machen willst. Für ein Archiv ist der Dateityp ohne Belang, daher wird es einfach einen Stream verwenden. Wenn du jedoch das Bild, oder was auch immer in der Datei ist, anzeigen willst, musst du wissen, wie die Datei aufgebaut ist. Das ist im einfachen Fall (Bitmap) ziemlich einfach, in komplizierteren Fällen (.jpeg) aber recht schwierig.

Wenn du daher die Datei nur verpacken willst, kann dir die Dateiendung egal sein. Nimm einen TFileStream und fertig ist die Laube.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 7. Dez 2007, 19:04
Jo, an so ne Art Archiv hatte ich gedacht. Allerdings würde ich das ganze gerne so anlegen, dass ich genau festlegen kann was in der Datei stehen könnte. Also z.B. dass darin nur Ziffern stehen und ich diese dann umwandle in was-auch-immer ich will. Also möchte ich sozusagen das "Alphabet" festlegen... wenn ich nur Ziffern in meiner Datei stehen hab, dann braucht ja nicht jede Stelle x-Bytes, weil die Datei denkt da könnte ja auch irgendwann ein "?", ein "M" oder ein "[" kommen.... Am liebsten wäre mir eigentlich die Datei Bit für Bit selbst aufbauen zu können (zumindest der Inhalt).
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 9. Dez 2007, 10:27
Hat keiner ne Idee?
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#5

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 9. Dez 2007, 11:09
zum einlesen einfach im binärformat. wurde oben erwähnt. zum konvertieren, kannst dir mal z.b. den LHA Quellcode angucken... ist über: LHA erreichbar.

viel spass
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#6

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 9. Dez 2007, 11:10
Moin,

ich glaub, dass das Problem ist, dass niemand so recht weiß, was dein Problem ist. Du beschreibst nämlich etwas recht alltägliches: Du möchtest irgendwelche Daten in einem von dir selbst definierten Format in eine Datei schreiben - also mach das

Dein Ansatz, dass man ein Integer nicht unbedingt als String speichern muss, ist ja auch sinnvoll. Daher kam ja auch schon der Hinweis, dass dir wahrscheinlich ein Blick auf TFileStream weiterhelfen könnte.

Ein Tutorial findest du hier.

Ich hoffe, ich hab dein Problem richtig verstanden und das hilft dir erstmal weiter.

Bis denn
Bommel
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 9. Dez 2007, 11:16
lol naja sry wenn sich das ein wenig bloed anhoert aber verschluessel doch deine datei einfach und gib der datei einfach *.such_dir_wat_aus als endung^^

ich verstehe zwar nich wieso du en eigenen dateityp erstellen willst aber wenn ich die idee haette wuerde ich zur encryption greifen^^

falls interessiert gugg mal bei torry hatte da viel dafuer gesehen(fuer blowfish,...etc)

hoffe ich konnte mal helfen anstatt immer zu fragen

da o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 9. Dez 2007, 11:26
Hi,

na ich denke Du solltest dich mal mit "Typisierten Dateien" beschäftigen.

Wenn Du ein bestimmtest Datenformat schreiben willst, und die Datensätze alle gleich aufgebaut sind,
könntest Du z.B. einen Record definieren und eine Datei von diesen Records erstellen.

z.B.

Delphi-Quellcode:
type
  tMeineDaten = record
    Zahl1: integer;
    Zahl2: integer;
    Kommentar: array[1..40] of char; // achtung nicht string verwenden für Datei
  end;

var
  MeineDatei: file of tMeineDaten;

begin
  AssignFile(MeineDatei, 'MeinDateiname.xyz';
  // schreiben ....
  reset(MeineDatei,1);
  write(MeineDatei, einDatensatz);
  Closefile(MeineDatei);

  // .... und lesen
  reset(MeineDatei,1)
  read(MeineDatei, einDatensatz);
  Closefile(MeineDatei);
end;
Dies ist nur ein rudimentäres Beispiel, und kein lauffähiges Programm.
Wie gesagt - schau nach Typisierten Dateien..


Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Dateien Konvertieren / Eigenen Dateityp erstellen

  Alt 10. Dez 2007, 13:53
Also, das Tutorial zum Stream hat mir sehr geholfen, vielen Danke dafür!

Außerdem habe ich mir mal den Aufbau einer Bitmap angesehen und daran ein wenig geübt.

Meine Datei soll vorerst so ähnlich aufgebaut sein wie eine Bitmap, allerdings soll sie variabler sein was die Anzahl der Farben und den damit verbundenen Speicherplatz angeht... So soll z.B. immer die platzsparendere Art der Speicherung (mit Farbtabelle und Verweisen oder mit direkter FarbInfo für jeden Pixel) gewählt werden. Außerdem möchte ich von 1 bis 24 Bit jede mögliche Anzahl von Farben nutzen können. Mithilfe meines Programms soll dann mein Dateityp in eine passende Bitmap verwandelt werden können.

Nebenbei sei erwähnt, dass ich zu Beginn des Projekts kein bestimmtes Ziel hatte, ich wollte mich einfach "weiterbilden"
Daher habe ich mir auch ein Buch besorgt, dass sich mit DirectX Grafiken beschäftigt. Allerdings ist das Buch für C++ geschrieben -.-

Mittlerweile fänd' ich es ganz interessant ne Visualisierung der Mandelbrot-Menge oder von versch. Juliamengen zu schreiben. Dafür wären Bitmaps oder sonstige Formelemente aber wohl zu langsam...
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:22 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