Was sind Variablen überhaupt?
Eine Variable ist, wie aus der Mathematik bekannt, ein Feld, das gewisse Werte annehmen kann. In Delphi, werden
diese Werte durch einen bestimmten Variablentyp bzw. Wertebereich eingegrenzt.
Als Variablenname sollte man möglichst sprechende Namen nehmen, die dann einen sprechenden Text ergeben
lassen, so dass man auch später wieder leicht in das Projekt reindenken kann.
Variablentypen für Zahlen:
Typ | Wertebereich | Beispiel |
---|---|---|
Byte | (Ganzzahl) von 0 bis 255 | 3 |
Smallint | (Ganzzahl) von -32768 bis 32767 | -30000 |
Word | von 0 bis 65535 | 60000 |
Integer | von -2147483648 bis 2147483647 | 65536 |
Cardinal | von 0 bis 4294967295 | 300000 |
Int64 | von -9223372036854775808 bis 9223372036854775807 | 4294967296 |
Real or Double | (Kommazahl) 5.0 x 10324 bis 1.7 x 10308 | 1.53 |
Extended | von -3,6 x 104951 bis 1,1 x 104932 | 6.74E4000 |
Nun zu den Variablentypen, die Zeichenketten speichern:
Typ | Wertebereich | Beispiel |
---|---|---|
Char | Buchstabe | 'a' (Zeichen und Zeichenketten werden mit einfachem Anführungszeichen abgegrenzt) oder: #[Zahl] gibt die Codierung des Zeichens an. Beispiel: #13 ist ein Zeilenumbruch. |
String | Viele Buchstaben-> Zeichenkette | 'Dies ist eine Zeichenkette' |
PChar | Wie ein String, nur - sagen wir mal - anders von Delphi verarbeitet. | 'Diese Zeichenkette geht auch als PChar' 'Diese hier'+' nicht!' |
Ein PChar ist ein sog. Zeiger auf ein String. PChars können nicht wie einfache Variablentypen genutzt werden,
sondern eher wie Objekte. Später lernen wir genauer, was Objekte sind, aber soviel schonmal vorweg:
Wenn dem Objekt nicht "beigebracht" wurde, was passieren soll, wenn man es addiert, dann bekommt man auch
keine zufriedenstellenden Ergebnisse. PChar + PChar ist also nicht möglich ohne die Einzelnen zu
"konvertieren".
Konstanten
Konstanten sind im Grunde auch verwendbar wie Variablen mit dem Unterschied, dass sie nicht verändert, sondern nur gelesen werden
können. Konstanten werden in der Regel KOMPLETT GROSS geschrieben.
Konstanten-Typen werden nicht benötigt. Die Werte nehmen automatisch den kleinstmöglichen Speicher an.
Deklaration und Initialisierung von Variablen
Beim Benennen der Variablen sollte kleingeschrieben angefangen und ggf. Binnenmajuskel gebildet werden.
Variablen deklarieren (= einführen/festlegen) :
var s : String; a,b,i : Integer; r,s,t : Extended; durchschnitt : Integer; kleinOtto : Word; vorname, nachname : String; |
Allgemein: [Name der Variable] : [Variablentyp];
Immer eingeleitet mit dem Wort "var", wie im Beispiel oben gezeigt.
Immer eingeleitet mit dem Wort "var", wie im Beispiel oben gezeigt.
Variablen initialisieren (einen Wert erstmalig zuweisen) :
Das ":=" weist einer Variable einen Wert zu.
Der Wert muss auch in der Definitionsmenge des Variablen-Types liegen.
begin s := 'Meine Zeichenkette'; i := 20; end; |
Deklaration von Konstanten
Konstanten deklarieren (Den Namen der Konstante festlegen UND einen Wert zuweisen) :
Allgemein: Name der Konstante = Wert;
const APP_NAME = 'Mein Programm'; VERSION = 1170; |
Rechenoperatoren
Die "normalen" Rechenoperatoren (+,-,*) sind auf alle Zahlentypen anwendbar.
Kritisch ist es aber bei der Division. Da z.B. die Rechnung 7/3 für Integer-Werte lösbar ist, muss hierfür ein
spezieller Operator eingeführt werden: DIV
Dieser Operator gibt an wie oft die 3 in die 7 passt (2).
Nun ist aber je nach dem auch die Information über den bei der Division entstandenen Rest brauchbar.
Lösung: Der Operator MOD
7 MOD 3 = 1
Dieser Operator gibt an wie oft die 3 in die 7 passt (2).
Nun ist aber je nach dem auch die Information über den bei der Division entstandenen Rest brauchbar.
Lösung: Der Operator MOD
7 MOD 3 = 1
Beispiele:
// Nebenbei: Mit zwei Slashes wird ein einzeiliger Kommentar eingeleitet // Kommentare werden vom Compiler beim Übersetzen des Quellcodes in Binärcode ignoriert. // Beispiel 1 - Integer: var a,b,r,q : Integer; [..] a := 7 * 5; b := 5 - 3 + 1; q := a DIV b; // q ist hiernach = 11 r := a MOD b; // r ist hiernach = 2 [..] { Ganz nebenbei: Es gibt auch mehrzeilige Kommentare ;-) Auch diese dienen dazu den Code zu kommentieren und werden vom Compiler ignoriert :o) Wichtig ist, dass diese dann aber auch mit dem "Gegenstück" beendet werden: } // Beispiel 2 - Real: const E = 2.71828183; { VORSICHT! In Delphi wird Groß und Kleinschreibung Nicht berücksichtigt! Wird irgendwo eine lokale Variable auch e genannt, so kann auf E nichtmehr zugegriffen werden. Näheres hierzu kommt später in OOP ;) } // Es bietet sich also eher an, "Sprechendere Namen" zu verwenden: EULER_EXP = 2.71828183; [..] var a, b, q : Real; begin a := EULER_EXP*2; b := 20*EULER_EXP/4; q := a/b; // q ist hiernach 0.4 [..] // Beispiel 3 - Strings: var s1, s2, hallo_welt : String [..] s1:='Hallo '; s2:='Welt'; hallo_welt:=s1+s2; // Strings addieren -> Strings werden so zusammengefügt // Subtraktion, Multiplikation und Division sind logischerweise nicht möglich ;) |