Wie kann man bitte eine HexText-Datei in Deci-Text-Datei umw

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Wie kann man bitte eine HexText-Datei in Deci-Text-Datei umw

Beitrag von funkheld »

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.
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

Beitrag von tft »

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: Alles auswählen

Debug Str(Val("$F8"))
Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
mk-soft
Beiträge: 3700
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

Beitrag von mk-soft »

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

Code: Alles auswählen


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

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

Re: Wie kann man bitte eine HexText-Datei in Deci-Text-Datei

Beitrag von funkheld »

Hallo, danke für die Hilfe.

Das hat mir gut weiter geholfen.
Antworten