Hallo alle zusammen,
Ich wollte zwei verschieden Datentypen bzw. zwei verschiedene Datentypen in einen gemeinsamen Datentyp temporär konvertieren... Damit sie vergleichbar sind und am ende wieder zurück konvertieren....
Könnt ihr mir da da etwas helfen? Wo könnt ihc da anfangen zu schauen ?
Files in einen gemeinsamen Datentyp konvertieren
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Files in einen gemeinsamen Datentyp konvertieren
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
Dazu musst du als allererstes wissen, wie die Dateien strukturiert sind.
Z.B. ob die Informationen in Listenform dargestellt, die einzelnen Werte Komma-separiert, oder am Ende binär kodiert, etc.
Dafür solltest du irgendwo eine Spezfikation deines Formates haben (sonst hat es alles keinen Sinn.)
Auch musst du wissen, ob die beiden Dateien überhaupt vergleichbar sind.
Wenn du eine relationale SQLite-Datenbank mit dem als Excel gespeicherten Einkaufszettel vergleichen willst, hast du ein ziemliches Problem
Sobald du die einzelnen Spezifikationen hast, kannst du anfangen zu strukturieren. Anhand der gewonnenen Infos wirst du dir dann Stück für Stück eine eigene kleine Spezifikation schreiben können.
Wenn du eh nur 2 Formate hast, kannst du dir ja das aussuchen, welches dir am besten gefällt, dann kannst du das andere in dieses Format konvertieren. (Kannst das natürlich auch bei vielen Formaten machen).
Aber das ganze ist sicher nicht so trivial, wie du dir das vllt. vorstellst (außer es sind wirklich einfache Spezifikationen, wo ein Element einfach nur anders heißt (z.B. Statt "Turnschuh" dann "Laufschuh")).
Du willst dir ja dann auch die Unterschiede "mergen" (zusammenführen).
Und du musst dir auch überlegen, wie so ein Unterschied überhaupt darzustellen ist.
Z.B. bei XML wirst du dir bei einem Unterschied am Ende eines Astes den kompletten Ast in den diff reinholen dürfen...
Viel Erfolg
Franz
Z.B. ob die Informationen in Listenform dargestellt, die einzelnen Werte Komma-separiert, oder am Ende binär kodiert, etc.
Dafür solltest du irgendwo eine Spezfikation deines Formates haben (sonst hat es alles keinen Sinn.)
Auch musst du wissen, ob die beiden Dateien überhaupt vergleichbar sind.
Wenn du eine relationale SQLite-Datenbank mit dem als Excel gespeicherten Einkaufszettel vergleichen willst, hast du ein ziemliches Problem
Sobald du die einzelnen Spezifikationen hast, kannst du anfangen zu strukturieren. Anhand der gewonnenen Infos wirst du dir dann Stück für Stück eine eigene kleine Spezifikation schreiben können.
Wenn du eh nur 2 Formate hast, kannst du dir ja das aussuchen, welches dir am besten gefällt, dann kannst du das andere in dieses Format konvertieren. (Kannst das natürlich auch bei vielen Formaten machen).
Aber das ganze ist sicher nicht so trivial, wie du dir das vllt. vorstellst (außer es sind wirklich einfache Spezifikationen, wo ein Element einfach nur anders heißt (z.B. Statt "Turnschuh" dann "Laufschuh")).
Du willst dir ja dann auch die Unterschiede "mergen" (zusammenführen).
Und du musst dir auch überlegen, wie so ein Unterschied überhaupt darzustellen ist.
Z.B. bei XML wirst du dir bei einem Unterschied am Ende eines Astes den kompletten Ast in den diff reinholen dürfen...
Viel Erfolg
Franz
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Also, die eine Datei handelt sich um FileA.asc die andere um FileB.lst ...
Wenn ich beide Dateien in txt oder rtf umwandele habe ich folgendes Problem das die Abstände halt von einem zum anderem String mit unterschiedlichen anzahl von leerzeichen sind d.h.:
File A: r123 r231 r343
File B: r123 r231 r342
Also File b hat ein leerzeichen und file b hat mehrere leerzeichen dazwischen...
Was auch noch ne Rolle spielt ist das das vergleichen ab einem bestimmten Keyword beginnen soll!Das heisst einfach, die ersten 100 Zeilen sind irrelevant... ab 101 wo es mit *NET* beginnt wirds interessant
Wenn ich beide Dateien in txt oder rtf umwandele habe ich folgendes Problem das die Abstände halt von einem zum anderem String mit unterschiedlichen anzahl von leerzeichen sind d.h.:
File A: r123 r231 r343
File B: r123 r231 r342
Also File b hat ein leerzeichen und file b hat mehrere leerzeichen dazwischen...
Was auch noch ne Rolle spielt ist das das vergleichen ab einem bestimmten Keyword beginnen soll!Das heisst einfach, die ersten 100 Zeilen sind irrelevant... ab 101 wo es mit *NET* beginnt wirds interessant
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
Dann sollte doch die im anderen Thread gezeigte Lösung (QSet) funktionieren!
Die zusätzlichen Leerzeichen kriegste ruckzuck mit QString::simplified() weg.
(BTW: sind die denn beim zusammenfügen wieder wichtig? Oder kann man sich die schenken...).
Und iterieren über Container + finden in QString steht alles in der Doku.
Die zusätzlichen Leerzeichen kriegste ruckzuck mit QString::simplified() weg.
(BTW: sind die denn beim zusammenfügen wieder wichtig? Oder kann man sich die schenken...).
Und iterieren über Container + finden in QString steht alles in der Doku.