Seite 1 von 1

Zweimal IncludeBinary

Verfasst: 01.09.2006 18:01
von Eckhard.S
Text 1 hat drei Buchstaben und Text 2 hat 5 Buchstaben.
Wie geht das mit zweimal IncludeBinary richtig?. Momentan besteht PeekS(?drei) aus 9 Buchstaben (Text 1 + Text 2+ ?) anstatt 3.
Wie kann man es trennen?
Ist am Ende immer genau ein zusätzliches Zeichen?

Code: Alles auswählen

;PB4


  ; 1. Text 
  
    TextString$ = PeekS(?drei)                          
    AnzahlBuchstaben = Len(TextString$)
    
    Debug TextString$
    Debug "Anzahl: " + Str(AnzahlBuchstaben)
    
    For i = 1 To AnzahlBuchstaben
    Debug Asc(Mid(TextString$,i,1))
    Next i 
    

; 2. Text 
  
    TextString$ = PeekS(?fuenf)                         
    AnzahlBuchstaben = Len(TextString$)
    
    Debug " "
    Debug TextString$
    Debug "Anzahl: " + Str(AnzahlBuchstaben)
            

DataSection
  drei: 
  IncludeBinary "./text-mit-3-buchstaben.txt" ; Dateiinhalt: aaa
EndDataSection

DataSection  
  fuenf:
  IncludeBinary "./text-mit-5-buchstaben.txt" ; Dateiinhalt: bbbbb
  IncludeEnd:
EndDataSection


Verfasst: 01.09.2006 18:12
von Kaeru Gaman
du musst sicherstellen, dass der string mit einem NULLbyte abgeschlossen wird,
damit du ihn per PeekS() ausm speicher holen kannst.

das ist bei simpler einbindung von textfiles nicht der fall.

du hast auch im Notepad keine möglichkeit, das Nullbyte einzufügen.


das zusätzliche zeichen entsteht irgendwie... k.a.

aber der string ist nur deshalb da zuende, weil dein programm da zuende ist.

wenn du noch ein

Code: Alles auswählen

Data.s "hallo zusatztest"
an deinen code anfügst, dann wird PeekS das auch noch einlesen.

Verfasst: 01.09.2006 18:15
von ts-soft
IncludeBinary ist zum Einbinden von Dateien! Meinste vielleicht sowas:

Code: Alles auswählen

DataSection
  drei:
  Data.s "aaa"
  Data.b 0
EndDataSection

DataSection 
  fuenf:
  Data.s "bbbbb"
  Data.b 0
EndDataSection
Die Data.b 0 sind nur zur Sicherheit

Verfasst: 01.09.2006 18:34
von Eckhard.S
Ja, jetzt klappt es :D

Durch das Data.b 0 wird das Null-byte geschrieben. Danke! :allright:

Code: Alles auswählen

;PB4


  ; 1. Text 
  
    TextString$ = PeekS(?drei)                          
    AnzahlBuchstaben = Len(TextString$)
    
    Debug TextString$
    Debug "Anzahl: " + Str(AnzahlBuchstaben)
    
    For i = 1 To AnzahlBuchstaben
    Debug Asc(Mid(TextString$,i,1))
    Next i 
    

; 2. Text 
  
    TextString$ = PeekS(?fuenf)                         
    AnzahlBuchstaben = Len(TextString$)
    
    Debug " "
    Debug TextString$
    Debug "Anzahl: " + Str(AnzahlBuchstaben)
    
    For i = 1 To AnzahlBuchstaben
    Debug Asc(Mid(TextString$,i,1))
    Next i         

DataSection
  drei: 
  IncludeBinary "./text-mit-3-buchstaben.txt" ; Dateiinhalt: aaa
  Data.b 0 

EndDataSection

DataSection  
  fuenf:
  IncludeBinary "./text-mit-5-buchstaben.txt" ; Dateiinhalt: bbbbb
  Data.b 0 
EndDataSection