Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

Variablen werden benutzt, um Daten zu speichern. Dieser Artikel soll eine Übersicht über die Variablen in Bascom bieten.

Zur Erklärung

In den Quelltexten zur Erzeugung der Variablen steht "Name" immer für den Namen, der der Variablen zugewiesen werden soll (ist ja auch logisch ;-)

Bits

Alle Zahlen und Buchstaben in der Digitaltechnik bestehen letztendlich aus mehreren Bits, doch dazu mehr im Abschnitt Bytes. Ein Bit kann entweder 0 oder 1 sein und ist somit die Variable mit dem kleinsten Wertebereich.

Hier der Steckbrief:

Wertbereich: 0 bis 1

Erzeugung in Bascom:

Dim Name As Bit

Wertzuweisung in Bascom:

Name = 1 'setzt die Variable auf 1
Name = 0 'setzt die Variable auf 0

oder

Set Name 'setzt die Variable auf 1
Reset Name 'setzt die Variable auf 0


Bytes

Wie oben angesprochen setzt sich alles in der Digitaltechnik aus Bytes zusammen. Wie das funktioniert soll diese Tabelle erläutern:

Bit-Nummer 7 6 5 4 3 2 1 0
Bit-Wert 128 64 32 16 8 4 2 1
Bitmuster 0 1 1 0 0 1 0 0

Diese Bitfolge (Bitmuster) stellt die Zahl 100 dar. Ist das Bit unter der entsprechenden Zahl gleich 1, wird die Zahl addiert, ist das Bit 0 dann nicht. So kann man aus einsen und nullen ganze Zahlen machen. Die Menge der Bits bestimmt den Wertebereich der Variablen, z.B. hat die oben gezeigte Tabelle 8 Bits (also ein 8-Bit Byte). Würde man jetzt jedes Bit auf eins setzen, hätte man den maximalen Wertebereich, in unserem Fall 255. In Bascom werden passenderweise auch 8-Bit Bytes verwendet.

Da hier ein Binärsystem vorliegt (Basis 2) könnte man auch die folgende Schreibweise anwenden:

(2^2) + (2^5) + (2^6) = 100 Dez. (nur die gesetzten Bits bzw, deren Nummer als Hochzahl addieren) {2^0 = 1}.


So viel zur Theorie, kommen wir zur Praxis.

Dazu wieder ein kleiner Steckbrief:

Wertebereich: 0 bis 255 und alle Buchstaben des Alphabets (ausgenommen Umlaute + das ß)

Erzeugung in Bascom:

Dim Name As Byte

Wertzuweisung in Bascom:

Name = 100 'setzt die Variable auf 100
Name = "a" 'speichert den Buchstaben a in der Variable
Name = Name + 2 'addiert 2 zur Variablen, funktioniert logischerweise nur korrekt, wenn die Variable eine Zahl als Wert hat

Integer

Im Gegensatz zu Bytes können Integer (Integralzahlen) nur Zahlen und keine Buchstaben speichern. Außerdem können sie auch Zahlen im negativen Bereich speichern.

Mehr ist dazu nicht zu sagen, also gleich der Steckbrief:

Wertebereich: -32767 bis +32768

Erzeugung in Bascom:

Dim Name As Integer

Wertzweisung in Bascom:

Name = 2500 'setzt die Variable auf 2500
Name = Name + 5000 'addiert 5000 zur Variablen


Long-Variablen

Long-Variablen haben den größten Wertebereich.

Hier wieder ein Steckbrief:

Wertebereich: -2147483648 bis 2147483647

Erzeugung in Bascom:

Dim Name As Long

Wertzuweisung in Bascom:

Name = 10000000 'setzt die Variable auf 1000000
Name = Name + 30234 'addiert 30234 zur Variablen


Word-Variablen

Words können ebenfalls nur Zahlen speichern, aber sind nur im positivem Bereich gültig. Steckbrief:

Wertebereich: 0 bis 65535

Erzeugung in Bascom:

Dim Name As Word

Wertzuweisung in Bascom:

Name = 3333 'setzt die Variable auf 3333
Name = Name + 20 'addiert 20 zur Variablen


Strings

Strings können sowohl Zahlen als auch Buchstaben speichern, allerdings kann man mit den Zahlen in Strings nicht rechnen. Sie sind besonders für längere Textabschnitte wie Namen, etc. geeignet.

Aber ein Steckbrief sagt mehr als tausend Worte:

Wertebereich: max. 70 Zeichen

Erzeugung in Bascom:

Dim Name As String * 50 'Die Zahl am Ende gibt an, wie viele Zeichen die Variable maximal enthalten kann
                        'Hier kann man 0 bis 70 auswählen

Wertzuweisung in Bascom:

Name = "Hallo! 123456" 'Weist der Variablen den Text in Anführungszeichen zu


Konstanten

Wie dem Namen zu entnehmen ist, handelt es sich hier nicht wirklich um Variablen. Aber es wäre unnötig extra dafür einen Artikel anzulegen, also wird dieses Thema hier mit behandelt. Konstanten kann man nur einmal einen Wert zuweisen, danach ist dieser unveränderlich. Auch sie können sowohl Zahlen als auch Buchstaben speichern.

Der Steckbrief:

Wertebereich:Von mir noch nicht erprobt, sollte ihn jemand kennen bitte hier eintragen.

Erzeugung in Bascom + Wertzuweisung:

Const Name = "test" 'Weist der Variablen den Text in Anführungszeichen zu

mit Zahlen funktioniert das auch:

Const Name = 1234 'Weist der Variablen den Wert 1234 zu

Wie man sieht muss man den Wert direkt bei der Erzeugung angeben.


Und was soll das ganze?

Für alle die sich jetzt fragen, was genau dieser Artikel bewirken soll:

Ich weiß, dass viel erklärt wird, was die meisten sowieso schon wissen (z.B. dass die Zahlen aus Bits bestehen), aber keiner wusste es von Anfang an, jeder muss es irgendwann gelernt haben. Dennoch dient dieser Artikel nicht nur Anfängern als Tutorial, sondern auch Fortgeschrittenen als Nachschlagewerk (Ich wette es gibt nicht viele Leute, die den Wertebereich der Long-Variablen auswendig können ;-)


Autor

  • Shahri 17:45, 17. Mai 2006 (CEST)

LiFePO4 Speicher Test