Text in Zahl umwandeln und dann als Bin-Datei abspeichern.

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

Text in Zahl umwandeln und dann als Bin-Datei abspeichern.

Beitrag von funkheld »

Hallo, guten Tag.

Wenn ich die Zeilen (256) mit Readstring auslese , möchte ich die Werte bitte davon in eine Bin-Datei abspeichern.
Das sind 768 Werte.

Ich bekomme das nicht hin.

Danke.
Gruss

----------------------------

Code: Alles auswählen

file$ = OpenFileRequester("Datei auswählen...","","Text (.txt)|*.txt|All files (*.*)|*.*",0)

If file$
    OpenFile(1, "c:\neo6502\palettepal.bin") 
    ReadFile(0, file$) 
      While   Eof(0)=0    
        text$=ReadString (0)
        WriteStringN(1,text$)
        .......  ; in palettepal.bin die Werte reinschreiben
      Wend
    CloseFile(0)
    CloseFile(1)
  EndIf  
----------------------------

Textdatei ;
-----------------------------
0 0 0
0 0 85
0 0 170
0 0 255
0 36 0
0 36 85
0 36 170
0 36 255
0 72 0
0 72 85
.....
.....
--------------------------
Benutzeravatar
mk-soft
Beiträge: 3844
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Text in Zahl umwandeln und dann als Bin-Datei abspeichern.

Beitrag von mk-soft »

Nicht getestet ...

Code: Alles auswählen

file$ = OpenFileRequester("Datei auswählen...","","Text (.txt)|*.txt|All files (*.*)|*.*",0)

If file$
  If CreateFile(1, "c:\neo6502\palettepal.bin")
    If ReadFile(0, file$)
      While Eof(0)=0
        text$ = ReadString(0)
        For i = 1 To 3
          ubyte.a = Val(StringField(text$, i, " "))
          WriteByte(1, ubyte)
        Next
      Wend
      CloseFile(0)
    EndIf
    CloseFile(1)
  EndIf
EndIf
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: Text in Zahl umwandeln und dann als Bin-Datei abspeichern.

Beitrag von H.Brill »

Wie schon mk-soft vorgemacht hatte
Wenn du die ersten 256 Zeilen auslesen möchtest, führe doch einfach eine Zählervariable mit,
die du nach While Eof(0) = 0 auf kleiner 257 abfragen kannst. Die Zählervariable mußt du natürlich
vor dem Wend immer ums 1 erhöhen und vor dem While oder Programm anfang einmalig auf 1 setzen.
So etwa (auch nicht getestet) :

Code: Alles auswählen

file$ = OpenFileRequester("Datei auswählen...","","Text (.txt)|*.txt|All files (*.*)|*.*",0)

If file$
  If CreateFile(1, "c:\neo6502\palettepal.bin")
    If ReadFile(0, file$)
      x.l = 1
      While Eof(0)=0
        If x < 257
           text$ = ReadString(0)
           For i = 1 To 3
                ubyte.a = Val(StringField(text$, i, " "))
                WriteByte(1, ubyte)
           Next
       Else 
          text$ = ReadString(0)   ; um den Dateizeiger vorwärts zu bewegen und es sauber bis EOF durchläuft.
       EndIf
       x = x + 1
      Wend
      CloseFile(0)
    EndIf
    CloseFile(1)
  EndIf
EndIf
PB 6.10
funkheld
Beiträge: 647
Registriert: 31.12.2009 11:58

Re: Text in Zahl umwandeln und dann als Bin-Datei abspeichern.

Beitrag von funkheld »

Hallo, danke euch beiden.
Es funktioniert super.

Auch daran wäre ich verzweifelt:
ubyte.a = Val(StringField(text$, i, " "))

Danke.
gruss
Antworten