Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » .pqx (binär) zu .dat (ascii) und wieder zurück, aber wie???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.09.2005, 21:01 Uhr
EagleFox



Hallo Leute,

zunächst mal muss ich sagen, dass ich absoluter Neuling auf dem Gebiet der Programmierung bin. Also geht bitte sorgsam mit mir um!

Ich habe folgendes Problem:

Ich habe einen Datenfile xxx.pqx (binär) der über ein von einem ehemaligen Kollegen geschriebenes Programm namens pqx2dat (in c++ geschrieben) in eine Datei xxx.dat (ascii) umgewandelt wird. In diesem File sortiere ich dann ein paar Daten um (an der Struktur ändere ich jedoch nichts!) und möchte es dann wieder in das ursprüngliche .pqx-Format bringen, weil noch andere Programme, die ich nutze, nur dieses Format lesen können.

Wie kann ich die .dat-Files wieder in die .pqx-Files umschreiben lassen?
Falls das hilft, ich habe sämtliche Bibliotheken von dem pqx2dat-Programm.

Ich hoffe Ihr könnt mir da helfen!

P.S. Ich nutze Linux, die Programme laufen alle über die Konsole.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.09.2005, 08:56 Uhr
ao

(Operator)



Zitat von EagleFox:
Wie kann ich die .dat-Files wieder in die .pqx-Files umschreiben lassen?


Ganz einfach gesagt: Indem du die pqx2dat-Umwandlung umkehrst.

Das ist allerdings gerade für Programmier-Anfänger eine nicht ganz einfache Aufgabe: Einen fremden Quelltext hernehmen und dessen Funktion umkehren. Ob das in diesem Fall ratsam ist, oder ob du besser ganz von vorne anfängst, hängt stark von der Qualität des vorhandenen Codes ab. Die zu beurteilen ist wiederum für Anfänger schwierig.

Wenn es nur darum geht, ein pqx-File zu öffnen, zu bearbeiten und wieder abzuspeichern, dann ist der Umweg über ASCII möglicherweise schon zuviel, und du bist besser dran mit einem Tool, das direkt auf dem pqx-Format arbeitet. Das Hin- und Herkonvertieren sind vermutlich größere Verarbeitungsschritte, bei denen man schließlich auch Fehler machen kann.

Und noch ne Idee: Rumhantieren mit Dateien ist in vielen Fällen eine eher triviale Aufgabe, dafür muss man nicht zwangsläufig C oder C++ nehmen. Häufig kommt man in einer "richtigen" Hochsprache, z.B. Basic, schneller zum Ziel, weil man sich um viel weniger Drumherum kümmern muss.

Mein Vorschlag: Mach dich schlau über dieses PQX-Format und überlege dir dann:

1. Macht es Sinn, zuerst ein ASCII-File zu erzeugen und dieses zu bearbeiten und wieder zurückzukonvertieren, oder arbeitet man besser direkt im binären Format?

2. Braucht man eine Sprache mit Low-Level-Fähigkeiten (C, C++) oder ist man mit Basic genausogut bedient und sogar noch schneller fertig?

3. Ist der vorhandene Sourcecode es wert, weiterverwendet zu werden? Ist er klar strukturiert und fehlersicher, oder ist er nur "dreckig" runterprogrammiert?

Was ist PQX überhaupt?

ao

Dieser Post wurde am 21.09.2005 um 10:21 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.09.2005, 13:48 Uhr
EagleFox



Hallo ao,

vielen Dank für Deine Antwort.

Zunächst mal zur letzten Frage. Es handelt sich um Dateien, die bei Messexperimenten aufgenommen werden. Warum mein Vorgänger die xxx.pqx genannt hat, weiss ich selber nicht. In den Dateien werden ca. 10000 Spektren mit jeweils 10000 Datenpunkten pro Spektrum gespeichert. Zusätzlich wird parallel ein Triggersignal aufgenommen.

Das eigentliche Problem besteht darin, dass es bei neueren Experimenten ein Triggerproblem gab und somit die Spektren nicht alle passend übereinander liegen. Dazu habe ich ein kleines Programm, dass mir diesen Fehler wieder korrigiert. Das liest allerdings nur die .dat-Datei, keine binären Daten. Und wie Du Dir denken kannst, habe ich keine Ahnung, wie ich das umschreiben kann, sodass es direkt die binären Daten bearbeiten kann. Darum muss ich erst mit pqx2dat umwandeln, bearbeiten und dann wieder zurückkonvertieren. Die binären Daten werden dann von einem weiteren Programm, von dem ich allerdings den Sourcecode nicht mehr habe, bearbeitet. Hierbei werden etwas kompliziertere Rechnungen durchgeführt. Anschliessend muss ich wieder durch pqx2dat in ein .dat-File umwandeln, damit ich die Datenauswertung weiterführen kann. Es ist sicherlich einfacher direkt im pqx-File zu arbeiten, nur kann ich das schon mal garnicht programmieren. Ich muss in dem File ja nicht nur mal eben einen Header ändern, oder sowas, sondern tausende von Zahlenwerten umsortieren.


Ob die Programme "sauber" programmiert sind, kann ich wohl nicht beurteilen, aber ich denke schon, es stehen überall Kommentare. Nur ist das für mich so, als sollte ich den Knoten aus meinen Spaghettis auf meinem Teller machen.

Soll ich die Programmdateien (also von pqx2dat und dem kleine "Umsortierungsprogramm") mal auf unserem Server ins Netz stellen, dann kann man ja mal nen Blick drauf werfen? Dann kann man vielleicht herausfinden, ob es Sinn macht, den Code weiter zu verarbeiten. Und aus pqx2dat sollte man herauslesen können, wenn man die Sprache spricht, wie die pqx-Files aufgebaut sind.

Vielleicht kann man das auch mit Basic programmieren, nur versuche ich gerade ein bisschen die c++-Programme zu verstehen und wäre dann wohl mit noch ner Sprache völlig überfordert.

Ich stell die mal ins Netz und poste gleich mal den Link.

Beste Grüße
EagleFox
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.09.2005, 14:22 Uhr
EagleFox



Also der Link zu den Dateien lautet: http://hydrogen.physik.uni-wuppertal.de/pqx/pqx2dat.html
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.09.2005, 09:59 Uhr
EagleFox



Kann denn keiner was mit den Codes anfangen und mir helfen??? ;-(
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: