Konstanten ---------- Konstanten werden wie Integer-Variablen als vorzeichen- behaftete 24-Bit-Zahlen gespeichert. Ihr Wertebereich reicht von -8388608 bis +8388607. Die Werte koennen in dezimaler oder hexadezimaler Form angegeben werden. G-Pascal untertuetzt String-Konstanten mit ein bis drei Zeichen. Dafuer wird der 24-Bit-Bereich eines Integerwerts in drei Bytes aufgeteilt, die Platz fuer je ein Zeichen bieten. Hat die String-Konstante weniger als drei Zeichen, werden die oberen Bytes auf null gesetzt. Das erste Zeichen wird im niedrigsten Byte, das zweite Zeichen im mittleren Byte und das dritte Zeichen im hoechsten Byte gespeichert. Ein String "abc" wird mit "a" or "b" shl 8 or "c" shl 16 in einen 24-Bit-Integerwert umgewandelt (shl steht fuer bitweises Verschieben nach links). Die folgende Tabelle zeigt die hexadezimalen Werte fuer die Strings "c", "ab" und "abc": String | 24-Bit-Wert -------+------------ "a" | $000041 "ab" | $004241 "abc" | $434241 Um wieder an die einzelnen Zeichen zu gelangen, zerlegt man den 24-Bit-Integerwert mit shr (bitweises Verschieben nach rechts) in seine Bestandteile: const c = "abc" var c1, c2, c3: char; begin c1 := c and 255; c2 := c shr 8 and 255; c3 := c shr 16 and 255; writeln(chr(c1), chr(c2), chr(c3)); end. Die Verwendung dieser bis zu drei Zeichen langen Strings ist eine Alternative zu Variablen vom Typ ARRAY[3] OF CHAR. Der Programmautor nennt als Beispiel Adventure-Spiele, bei denen viel mit kurzen Woertern gearbeitet wird.