3 Byte aus Datei auslesen und darstellen

Anfängerfragen zum Programmieren mit PureBasic.
funkheld
Beiträge: 636
Registriert: 31.12.2009 11:58

3 Byte aus Datei auslesen und darstellen

Beitrag 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
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: 3 Byte aus Datei auslesen und darstellen

Beitrag 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
PB 5.60
Benutzeravatar
#NULL
Beiträge: 2235
Registriert: 20.04.2006 09:50

Re: 3 Byte aus Datei auslesen und darstellen

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
H.Brill
Beiträge: 356
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: 3 Byte aus Datei auslesen und darstellen

Beitrag von H.Brill »

Ich ging auch davon aus, da er mit SetGadgetText
diese 3 Bytes anzeigen will.
PB 5.60
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: 3 Byte aus Datei auslesen und darstellen

Beitrag 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.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
Josh
Beiträge: 1028
Registriert: 04.08.2009 17:24

Re: 3 Byte aus Datei auslesen und darstellen

Beitrag von Josh »

Drei Zeichen? Kann es sein, dass es sich um ein BOM am Dateianfang handelt?
Antworten