AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unbekanntes Dateiformat einlesen

Ein Thema von ryLIX · begonnen am 3. Dez 2008 · letzter Beitrag vom 1. Mär 2010
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#31

Re: Unbekanntes Dateiformat einlesen

  Alt 9. Dez 2008, 12:17
Zitat von ryLIX:
Aber du hast da was fertiges geliefert also verwende ich das vorerst.
Ich habe zu Hause noch eine Testversion mit TMemoryStream (mit unvollständigem Parser)... also wenn du noch etwas anderes zu tun hast, dann kannst du ja warten
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#32

Re: Unbekanntes Dateiformat einlesen

  Alt 9. Dez 2008, 12:38
Joar versuche grad rauszufinden wie ich Zirkuläre Unit-Referenz umgehe bzw verhindere

Und dann muss ich noch mal den Textparser überarbeiten.
Das mit dem RegEx läuft zwar gut aber irgendwie zu langsam.

Es gibt viel zu tun also lassen wirs liegen oder wie war des noch?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#33

Re: Unbekanntes Dateiformat einlesen

  Alt 10. Dez 2008, 15:10
Zitat von nicodex:
Zitat von ryLIX:
Wie muss ich mir den Inhalt von ABlock.Data vorstellen?
Als Folge von Bytes, deren Interpretation von der ID des Datensatzes abhängt.
(in diesem Fall ein little-endian Word, welches aus zwei Bytes zusammengesetzt wird)
Ok das is mir nun klar aber warum wir um 8 Zeichen nach links versetzt?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#34

Re: Unbekanntes Dateiformat einlesen

  Alt 15. Dez 2008, 10:58
Hmm niemand der mir das erklären kann
Lasst mich nicht dumm sterben
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#35

Re: Unbekanntes Dateiformat einlesen

  Alt 15. Dez 2008, 11:05
Zitat von ryLIX:
Ok das is mir nun klar aber warum wir um 8 Zeichen nach links versetzt?
8 Bits (ein Byte), nicht 8 Zeichen.
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#36

Re: Unbekanntes Dateiformat einlesen

  Alt 15. Dez 2008, 11:22
Oh da habe ich wohl die Delphi Docu etwas missverstanden
Also springe ich da nur ein Byte zurück. Jetzt erscheint mir das ganze auch logischer
Hatte schon den Verdacht das es die Bitebene ist wo sich shl bewegt.

Ich hab mich in der Woche noch mal mit dem Hinweis auf AFormat[x] beschäftigt.
Aber irgendwie will mir da nicht die zündende Idee kommen.

Vielleicht denke ich auch in die falsche Richtung.
Die Buchstaben in DataFormat repräsentieren ja eigentlich Variablentypen.

Also müsste ich eigentlich jedem Buchstaben eine Zahl zuweisen um etwas ordinales zu erhalten.
Oder liege ich da falsch?
Somit müsste ich auch die an ParseData übergebenen Variablen oder Elemente ändern.
Zumindestens 1
Aber mir ich dann immer noch nicht klar wie ich die Daten da rein bekomme.

Wenn ich eine bestimmte Anzahl Bytes aus dem Array gelesen habe stehen diese dann im nächsten Durchlauf wieder zur verfügung oder wurden diese dann entfernt bzw verschoben ins Result bzw den Array aus dem Result später gebildet wird?

Bspw: ich lese aus dem Array die ersten 10 Bytes von der Startposition -1. Ist das Array dann im nöchsten Durchlauf um 11 Bytes kleiner?


Ich weiß viele Fragen aber ich hab mich mit dieser Art der Datenverarbeitung noch nicht sehr intensiv beschäftigt und durch deine kompetente Hilfe habe ich grad die Möglichkeit viel zu lernen
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#37

Re: Unbekanntes Dateiformat einlesen

  Alt 17. Dez 2008, 11:32
*bump*


Jemand eine Idee?

Ich müsste ja ein Array erstellen wo ich jeder Variable einen Eintrag zuweise damit ich das dann abarbeiten kann.
Aber wie kann ich den String mit den enthaltenen Variablen so zerlegen das ich dann weiß was im case Angesprochen wird?
Code:
{L}LWW{B}(B)(A)B
Leider ist das keine Liste ...
Ich steck irgendwie fest
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#38

Re: Unbekanntes Dateiformat einlesen

  Alt 19. Dez 2008, 09:00
Ich hab irgendwie das Gefühl ich bin Betriebsblind.
Keiner da der mich ein wenig unterstützen kann?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#39

Re: Unbekanntes Dateiformat einlesen

  Alt 19. Dez 2008, 09:17
Zitat von ryLIX:
Ich müsste ja ein Array erstellen wo ich jeder Variable einen Eintrag zuweise damit ich das dann abarbeiten kann.
Aber wie kann ich den String mit den enthaltenen Variablen so zerlegen das ich dann weiß was im case Angesprochen wird?
Code:
{L}LWW{B}(B)(A)B
Der Einfachheit halber würde ich den Datenblock in einen Stream schreiben, und hintereinander die Daten einlesen (L = LongWord, W = Word, B = Byte, S = #0-terminierter String). Der Aufwand liegt in der Gruppierung mit Klammern. Ich gehe davon aus, dass es sich bei (xyz) um eine Liste handelt - also dürfte selbige mit einer Anzahl beginnen (wahrscheinlich Byte). Damit man alles über einen Kamm scheren kann, kann man sich eine rekursive Funktion schreiben, die bei einem "(" die Länge liest, die entsprechende ")" sucht und den enthaltenen Ausdruck wieder mit dieser Funktion einliest. Dazu kann man sich beim Start eine Länge von 1 und () um den gesamten Ausdruck "denken".
Was {x} bedeutet kann ich nicht abschätzen, da in den von dir gelieferten Daten immer nur ein Wert enthalten ist (Können es mehrere sein? Und wenn ja, warum werden sie parallel zu () verwendet?).
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#40

Re: Unbekanntes Dateiformat einlesen

  Alt 19. Dez 2008, 10:18
Die Werte in den Klammern haben immer die gleiche Zeichen länge.
Was mir aufgefallen ist das Bytes ignoriert werden.
Als Beispiel:
Code:
141200| 01 00300000  00000000 0100 D602 0001 00 01 01 68 00 |8B
          {00003000},00000000,0001,02D6,{}, (00 01), {68},{}
Für mich sind später nur wenige Werte interessant.
Bei dem oben gezeigten Beispiel ist es ein FSW Parameter.
Daraus brauche ich nur den Wert
Code:
02D6
Denn damit kann ich in der Namesliste den entsprechenden Textwert suchen.
Aber ich muss trozdem alle Werte aus der Datei haben da die Namenslisten nach dem gleichen Schema aufgebaut sind.

Zu dem Stream habe ich noch eine Verständnisfrage:
Du meinst ja wahrscheinlich eine von TStreams abgeleitete Klasse wie TMemorystream.
Mit Datenblock meinst du den Inhalt von AData?

Dann bleibt ja immer noch das Problem zu erkennen um welche Kombination von Variablen es sich handelt.
Also müsste ich was haben womit ich abgleichen kann ob der String von AArgs in AFormat[x] ist.

Ca. so:
Delphi-Quellcode:
for x := 0 to AFormat.Count -1 do
if AArgs = AFormat[x] then begin

fall := x // geht des eigentlich? kann ich hier den index erfassen?
end;
end;
case fall do
1: Do.Something

2: Do.Something.else
end;
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 09:51 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