Bezeichnung
Poke -- schreibt in einen Speicherblock (V2.0)
Übersicht
Poke(id, offset, val[, type, endian])
Beschreibung
Dieser Befehl schreibt den in val angegebenen Wert oder Zeichenfolge in den Speicherblock mit der id im angegebenen Versatz offset. type gibt den Typ von val an (Standardwert ist #INTEGER). Sie können auch folgende Typen verwenden: #BYTE (1 Byte), #SHORT (2 Byte), #FLOAT (4 Byte Einfach-Präzisions-Fließkommazahl), #DOUBLE (8 Byte Doppel-Präzisions-Fließkommazahl) oder #STRING. Das Einfügen einer Zeichenfolge in einem Speicherblock belegt die Zahl der Zeichen in der Zeichenfolge plus 1 Byte.

Ab Hollywood 6.0 gibt es einen neuen Parameter endian, mit dem Sie die Byte-Reihenfolge angeben können, die beim Lesen der Daten aus dem Speicherblock verwendet werden soll. Dies kann auf die folgenden Typen festgelegt werden:

#BIGENDIAN:
Big-Endian-Byte-Reihenfolge, MSB zuerst. Dies ist die Standardeinstellung.

#NATIVEENDIAN:
Native-Endian-Byte-Reihenfolge. Wenn Sie diesen Typ verwenden, hängt die Byte-Reihenfolge von der Standard-Byte-Reihenfolge auf dem Hostsystem ab, d.h. Big Endian auf Big-Endian-Systemen, Little Endian auf Little-Endian-Systemen. Seien Sie vorsichtig mit diesem Typ, da er die Portabilität einschränkt.

#LITTLEENDIAN:
Little-Endian-Byte-Reihenfolge, zuerst LSB. (V8.0)

Eingaben
id
ID des zu verwendenden Speicherblocks
offset
Versatz, ab dem geschrieben wird (in Bytes)
val
Daten, die geschrieben werden; kann eine Zeichenfolge oder Zahl sein
type
optional: Datentyp, der geschrieben wird (Voreingestellt ist #INTEGER)
endian
optional: Reihenfolge der Bytes (Standardeinstellung ist #BIGENDIAN) (V6.0)
Beispiel
AllocMem(1, 1024)
Poke(1, 0, "Hello World!", #STRING)
Print(Peek(1, 0, #STRING))
Dies wird "Hello World!" auf den Bildschirm ausgeben.

Navigation zeigen