String (Variable)

Ein String ist eine Kette von beliebigen Zeichen. Jede Art von alphabetischer oder numerischer Informationen kann als Zeichenfolge gespeichert werden. „Heinz Ehrhardt“, „13.11.1981“, „23.42“ sind Beispiele für Strings. In LunaAVR können Strings auch binäre Daten aufnehmen, z.Bsp. Nullbytes.

Im Sourcecode werden Zeichenketten in Anführungsstriche eingebettet. Die maximale Länge eines Strings in LunaAVR beträgt 254 Bytes. Der Standardwert eines Strings ist „“ (Leerstring). LunaAVR legt Strings im Pascal-Format, eingebettet in ein MemoryBlock-Objekt ab.

Stringvariablen belegen im Arbeitsspeicher mindestens 2 Bytes (Zeiger auf MemoryBlock-Objekt). Eeprom-Strings jedoch die entsprechend statisch angegebene Anzahl Bytes im Eeprom. Ein als Arbeitsspeicher-Variable deklarierter String ist ein 16-Bit-Pointer auf einen MemoryBlock mit dynamischer Größe.

Eigenschaften (nur lesen)
Name Beschreibung Rückgabetyp
.Addr Adresse der Variable im Arbeitsspeicher word
.Len Stringlänge lesen (Anzahl Zeichen) byte
.Ptr Adresse des zugewiesenen MemoryBlocks im Arbeitsspeicher word
Methoden (lesen und schreiben)
Name Beschreibung Rückgabetyp
.ByteValue(offset) Einzelnes Byte aus gespeichertem Inhalt1) byte
  • offset: Byte-Position innerhalb des zugewiesenen MemoryBlocks mit Basis Null. Das erste Byte ist das Längenbyte des Strings (offset = 0).

Hinweis
Der Zugriff über die Objektgrenzen hinaus ist ohne deklarierte Exception möglich und wird nicht geprüft (schneller).

Beispiel

dim a as bte
dim s as string
 
s="Hallo"
a=s.ByteValue(0) ' Längenbyte lesen, Ergebnis: 5
s=s.ByteValue(1) ' 1. Zeichen vom Text lesen, Ergebnis: 72 (Ascii-"H")
1) Bei leerem String, gibt die Funktion den Wert „0“ zurück