Seite 1 von 1

Wie komm ich an die Daten von ReadData() ran?

Verfasst: 25.03.2005 19:39
von Gamer

Code: Alles auswählen

ReadFile(0,"text.txt")
len = 32
*mem = AllocateMemory(len)
ReadData(*mem,len)
Verstehe nicht, warum ich das in den Speicher laden muss?!

Wie komm ich denn wieder an die Daten ran?

Wieso kann man das nicht einfach in einen String lesen?

Verfasst: 25.03.2005 19:42
von DarkDragon
Kannst du doch??? blubb$ = ReadString() ??? Und wenn du an die Daten willst: blubb$ = PeekS(*mem)

Verfasst: 25.03.2005 20:44
von NicTheQuick
[c]ReadData()[/c] ist eigentlich für binäre Daten gedacht und nicht für Strings. Mit [c]ReadString()[/c] kannst du ja keine Daten, die ein Nullbyte (Chr(0)) enthalten einlesen. Deswegen gibt es [c]ReadData()[/c].

Ansonsten kannst du es natürlich auch so machen:

Code: Alles auswählen

len.l = 32
String.s = Space(len)
ReadData(@String, len)
Debug String
Dann hast du einen 32-Zeichen langen String eingelesen und in [c]String.s[/c] gespeichert.

Verfasst: 26.03.2005 09:48
von DarkDragon
Und man sollte immer Abfragen mit einbauen:

Code: Alles auswählen

If ReadFile(0,"text.txt")
len = 32
*mem = AllocateMemory(len)
If *mem <> 0
  ReadData(*mem,len) ;Gibt das auch was zurück? o_O
  Debug PeekS(*mem)
EndIf
CloseFile(0)
EndIf
Oder die ReadString Methode:

Code: Alles auswählen

If ReadFile(0,"text.txt")
Debug ReadString()
CloseFile(0)
EndIf