Seite 1 von 1

3 Byte aus Datei auslesen und darstellen

Verfasst: 14.04.2019 15:05
von funkheld
Hallo, guten Tag.
Wie kann ich hier bitte 3 Byte auslesen und darstellen:
3 Byte werden immer einlesen in die Datei daten.dat

Code: Alles auswählen

Global wert.b

 If EventGadget =  #b_start2
     RunProgram("chacocmd.exe","--addr 0x400 --len 3 --readmem d:\winvice\daten\daten.dat","d:\winvice\")

     OpenFile(2, "d:\winvice\daten\daten.dat")    
     wert=ReadByte(2) 
     SetGadgetText(#String_1, Str(wert))   
     ........  3 Byte lesen.....
 EndIf

Danke.
Gruss

Re: 3 Byte aus Datei auslesen und darstellen

Verfasst: 14.04.2019 16:11
von H.Brill
Wenn es darstellbare Zeichen sind :

Code: Alles auswählen

If ReadFile(0, "d:\winvice\daten\daten.dat")
  length = Lof(0)
  zeile.s = ""
  *MemoryID = AllocateMemory(length)
  If *MemoryID
    bytes = ReadData(0, *MemoryID, length)
    For i = 0 To length - 1  ; 1 mehr, da Datei-Ende zeichen
        ; die drei Zeichen einzeln aus Speicherbereich lesen
      Debug Chr(PeekB(*MemoryId + i))
      zeile = zeile + Chr(PeekB(*MemoryID + i))
    Next 
    Debug zeile
    CloseFile(0)
  EndIf  
EndIf

Re: 3 Byte aus Datei auslesen und darstellen

Verfasst: 15.04.2019 08:15
von #NULL
Letztes Beispiel ist aber nur ASCII tauglich, weil es die code units auseinanderreißt, die zu einem code point gehören.

Du kannst auch einfach 3 mal ReadByte() aufrufen, oder ReadData()) mit lenght 3.

Re: 3 Byte aus Datei auslesen und darstellen

Verfasst: 15.04.2019 10:04
von H.Brill
Ich ging auch davon aus, da er mit SetGadgetText
diese 3 Bytes anzeigen will.

Re: 3 Byte aus Datei auslesen und darstellen

Verfasst: 15.04.2019 10:10
von TroaX
Nicht alle Bytes haben Werte für druckbare bzw. visualisierbare Zeichen. Es kommt also darauf an, was du genau visualisieren willst bzw. damit weiter arbeiten willst. Die einfachste Möglichkeit, Bytes zu visualisieren, wäre eine hexadezimale Darstellung. Wenn du nur Daten vergleichen willst, kannst du auch eine Base64 kodierung verwenden. Allgemein aber ist es schwer, die Eingangsfrage zu beantworten. Die Frage nach dem Warum ist unbeantwortet.

Re: 3 Byte aus Datei auslesen und darstellen

Verfasst: 15.04.2019 10:42
von Josh
Drei Zeichen? Kann es sein, dass es sich um ein BOM am Dateianfang handelt?