Variablen
Variablen sind im Sourcecode durch Bezeichner benannte Speicherzellen im Arbeitsspeicher (SRAM) oder Eeprom (ERAM). Ihnen können Werte zugewiesen werden, um sie an anderer Stelle auszulesen.
Dimensionierung
Variablen werden mit Dim (Arbeitsspeicher) und/oder eeDim (Eeprom) dimensioniert (erzeugt/angelegt).
Methoden/Eigenschaften
Variablen besitzen Objekteigenschaften:
Eigenschaften der numerischen Standard-Variablen (boolean, byte, word, integer, long, single, ..) | |||
---|---|---|---|
Name | Beschreibung | Typ | read/write |
.0-x1) | Bit n des Variablenwertes | boolean | read+write |
.LowNibble | Low-Nibble des Variablenwertes | byte | read+write |
.HighNibble | High-Nibble des Variablenwertes | byte | read+write |
.Nibblen | Nibble n (1-8) des Variablenwertes | byte | read+write |
.Byten2) | Byte n (1-4) des Variablenwertes | byte | read+write |
.LowByte3) | Low-Byte des Variablenwertes | byte | read+write |
.HighByte4) | High-Byte des Variablenwertes | byte | read+write |
.LowWord5) | Niederwertiges Word des Variablenwertes | word | read+write |
.HighWord6) | Höherwertiges Word des Variablenwertes | word | read+write |
.Reverse7) | Byte-Anordnung umdrehen, siehe auch CE16(), CE32() | word, long | read |
.Addr8) | Adresse der Variable9) | word | read |
.Ptr10) | Adresse des MemoryBlocks | word | read |
.SizeOf | Vom Datentyp belegte Anzahl Bytes lesen. | byte | read |
Methoden von Byte und Word-Arrays11) | |
---|---|
Name | Beschreibung |
.Sort | Arraywerte aufsteigend sortieren (sehr schneller Qsort-Algorithmus) |
Benutzerdefinierte Datentypen
Benutzerdefinierte Datentypen mittels Struct erben die Methoden/Eigenschaften der jeweilig in der Struktur deklarierten Elemente.
String und MemoryBlock
Die Datentypen String und MemoryBlock besitzten weitere Methoden bzw. Eigenschaften.
Verwendung
Variablen müssen dimensioniert werden, bevor man sie verwenden kann. Variablen speichern Werte entsprechend ihres Datentyps.
Siehe auch: Dim, Abschnitt "Sichtbarkeit von Variablen"
Zugriff auf einzelne Bits einer Variable
Wie in der obigen Tabelle ersichtlich, kann man auf einzelne Bits einer Variable zugreifen und diese lesen oder schreiben. Der Zugriff auf ein Bit ist auch mit einer weiteren Variable möglich, welche die Bit-Nummer enthält:
Beispiel:
- var = var1.var2
- var1.var2 = Ausdruck
Der Zugriff mit einem konstanten Wert ist in der Ausführungsgeschwindigkeit jedoch schneller:
Beispiel:
- var1 = var.3
- var.3 = Ausdruck
Beispiel
dim a,b as byte dim c as word dim s as string c=&ha1b2 ' Wert zuweisen, Hexadezimal (liegen rückwärts im Speicher da Hexwert immer Big-Endian) a=c.LowByte ' Low-Byte des Variablenwertes lesen, Ergebnis: &hb2 b=c.HighByte ' High-Byte des Variablenwertes lesen, Ergebnis: &ha1 c.LowByte=b ' vertauscht wieder hineinschreiben c.HighByte=a c.0=1 ' Bit 0 in c setzen a=b.7 ' Bit 7 von b lesen a=3 c=b.a ' Bit 3 von b lesen, Bitnummer steht in a Print "&h"+hex(c) ' Ausgabe: &hb2a1 s = "Hallo" ' Text zuweisen a = s.ByteValue(1) ' Dezimalwert des 1. Zeichens vom im String gespeicherten Text lesen
Siehe auch