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!' |
- PChar: PChar steht für "Pointer to Char" und ist ein Zeiger auf eine Zeichenkette im Speicher. Es wird häufig verwendet, um mit Zeichenketten zu arbeiten, insbesondere wenn es um die Interaktion mit C-basierten APIs oder um die effiziente Manipulation von Zeichenketten geht. PChar ist ein Zeiger auf den Anfang einer Zeichenkette und kann verwendet werden, um auf den Speicherbereich zuzugreifen, der die Zeichenkette enthält.
- String: String ist ein dynamischer Datentyp in Delphi, der eine Zeichenkette repräsentiert. Im Gegensatz zu PChar handelt es sich bei String um einen komplexen Datentyp, der viele integrierte Funktionen und Methoden zur Manipulation von Zeichenketten bietet. String ist im Grunde ein Array von Char-Zeichen, das automatisch Speicher verwaltet und eine flexible Länge hat. Delphi bietet eine hohe Abstraktionsebene für die Arbeit mit Zeichenketten durch den String-Typ.
- Char: Char steht für einen einzelnen Zeichenwert in Delphi. Es repräsentiert einen einzelnen Buchstaben oder ein Symbol. Ein Char-Wert kann in einem String oder PChar verwendet werden, um ein einzelnes Zeichen darzustellen. Es ist wichtig zu beachten, dass Char ein festes Zeichenformat hat und nicht automatisch Speicher für die Zeichenkette verwaltet wie String.
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 ;) |