PureBoard
http://forums.purebasic.com/german/

Wie kann man bitte eine HexText-Datei in Deci-Text-Datei umw
http://forums.purebasic.com/german/viewtopic.php?f=3&t=31946
Seite 1 von 1

Autor:  funkheld [ 07.04.2020 14:07 ]
Betreff des Beitrags:  Wie kann man bitte eine HexText-Datei in Deci-Text-Datei umw

Hallo, guten tag.
Wie kann man bitte eine HexText-Datei in Deci-Text-Datei umwandeln?

Ich weiss nicht wie man das so sauber hin bekommt mit der ganzen Ordnung.

Die Dateien bestehen aus mehr oder weniger Zeilen.
Die letzte Zeile kann manchmal weniger als 8 Einträge haben.

Als erste Dataeintragung soll die gesamtanzahl erscheinen.
Ich möchte dann alla Daten mit der Read in Basic einlesen. Der erste Datawert steht dann in der For/Next zum zählen.
data 45
data.....
data...

Jede Zeile soll so aussehen :

data 123 , 234 , 123

und am Ende jeder Zeile soll das letzte Komma immer wegfallen.

----------------------------------------
$FF , $80 , $80 , $80 , $80 , $81 , $81 , $81 ,
$81 , $81 , $81 , $81 , $81 , $81 , $81 , $81 ,
$FF , $00 , $00 , $00 , $00 , $FF , $00 , $00 ,
-----------------------------------------

Danke.

Autor:  tft [ 07.04.2020 16:13 ]
Betreff des Beitrags:  Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

Hallo,

ich habe das nicht explizit getestet, aber ich denke VAL() und STR() könnte da gut weiterhelfen. VAL() wandelt String in Zahlen und STR() Zahlen in String.
Das sollte auch mit "%00111110" gehen. Die Deutsche Hilfe zu den String Sachen ist sehr hilfreich.

Code:
Debug Str(Val("$F8"))


Gruss TFT

Autor:  mk-soft [ 07.04.2020 17:37 ]
Betreff des Beitrags:  Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

1. Du brauchst nicht nach Dezimal wandeln, PB kann das selber.
2. Anzahl Daten brauchst du nicht. Kann man berechnen

Code:

a1.s = "$FF , $80 , $80 , $80 , $80 , $81 , $81 , $81 , "
a2.s = "$81 , $81 , $81 , $81 , $81 , $81 , $81 , $81 , "
a3.s = "$FF , $00 , $00 , $00 , $00 , $FF , $00 , $00 , "

Procedure.s TrimData(String.s)
  String = RTrim(String, " ")
  String = RTrim(String, ",")
  String = RTrim(String, " ")
  ProcedureReturn "  Data.a " + String
EndProcedure

Define r1.s
r1 = "DataSection" + #LF$
r1 + "  BeginData:" + #LF$
r1 + TrimData(a1) + #LF$
r1 + TrimData(a2) + #LF$
r1 + TrimData(a3) + #LF$
r1 + "  EndData:" + #LF$
r1 + "EndDataSection" + #LF$

Debug r1

; ----

Define cnt, i, value

Debug "Methode 1"
cnt = ?EndData - ?BeginData - 1

Restore BeginData
For i = 0 To cnt
  Read.a value
  Debug "" + i + " = " + value
Next

Debug "Methode 2"

Structure ArrayOfUnsignedByte
  a.a[0]
EndStructure

cnt = ?EndData - ?BeginData - 1

Define *pdata.ArrayOfUnsignedByte = ?BeginData
For i = 0 To cnt
  Debug "" + i + " = " + *pdata\a[i]
Next

; Result - vom Debugger Kopiert und eingefügt
 
DataSection
  BeginData:
  Data.a $FF , $80 , $80 , $80 , $80 , $81 , $81 , $81
  Data.a $81 , $81 , $81 , $81 , $81 , $81 , $81 , $81
  Data.a $FF , $00 , $00 , $00 , $00 , $FF , $00 , $00
  EndData:
EndDataSection


Autor:  funkheld [ 08.04.2020 23:15 ]
Betreff des Beitrags:  Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

Hallo, danke für die Hilfe.

Das hat mir gut weiter geholfen.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/