Step 04 - Variablen und Konstanten

 

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 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.

Ein guter Stil.

Was man sich wirklich gleich zu Beginn aneignen sollte, ist der "gute" Programmierstil. Im Grunde könnte man ein Programm in nur einer Zeile schreiben, aber um den maximalen Überblick zu haben, empfiehlt es sich, eine gewisse Ordnung einzuhalten. Wie in dem obigen Beispiel, kann es sehr hilfreich sein, die Variablen und ihre Typ-Zuweisungen sichtlich zu trennen. Bei einer Zuweisung, wie wir es als nächstes kennenlernen, empfiehlt sich auch immer ein Leerzeichen mehr einzutippen.
Siehe dazu folgendes Code-Beispiel:
Variablen initialisieren (einen Wert erstmalig zuweisen) :
begin
  s := 'Meine Zeichenkette';
  i := 20;
end;
Das ":=" weist einer Variable einen Wert zu. Der Wert muss auch in der Definitionsmenge des Variablen-Types liegen.
 

Deklaration von Konstanten

Konstanten deklarieren (Den Namen der Konstante festlegen UND einen Wert zuweisen) :
const
  APP_NAME = 'Mein Programm';
  VERSION = 1170;
Allgemein: Name der Konstante = Wert;
 

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
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 ;)
 

 

Externe Links zu SocialMedia-Seiten zu diesem Kapitel:

Diese Links sollen dazu dienen, Kommentare und Meinungen rund um dieses Kapitel wiedergeben zu können.
 
  • Twitter: hier klicken *
    • https://twitter.com/Delphianer/status/1436415897242112002?s=20
 
* Hinweis zu externen Links:
Bitte Haftungsausschluss beachten!
Ich übernehme weder Garantie, noch Gewährleistung, noch Haftung für Inhalte, die nach diesem Link folgen. Mit deinem Klick auf den Link verlässt du meine Website. Es öffnet sich in der Regel ein neuer Tab oder ein neues Fenster.