Der Epina Delphi-Kurs bietet Ihnen eine allgemeine Einführung in das Programmieren mit Delphi/Pascal. Mit vielen ausgearbeiteten Beispielen können Sie direkt in die Delphi-Programmierung einsteigen. Mehr dazu finden Sie hier....

Variable

Variable sind eines der zentralen Elemente jeder Programmiersprache. Sie sind als "Datencontainer" aufzufassen, die man benützt um z.B. Ergebnisse zwischenzuspeichern, oder als Laufindex einer Schleife oder als Steuervariable bei der Programmausführung. Die Einsatzmöglichkeiten von Variablen sind so vielfältig, dass an dieser Stelle nur auf die grundlegenden Aspekte eingegangen werden kann.

Deklaration von Variablen

Variable kann man nach ihrem Geltungsbereich in globale und lokale Variable unterscheiden. Die Deklaration ist für beide Arten syntaktisch gleich, allerdings wird man lokale Variable anders einsetzen als globale. Die Deklaration von einer oder mehreren Variablen erfolgt immer außerhalb des eigentlichen Programmcodes (der durch ein begin-end-Paar eingeklammert ist) und wird mit dem Schlüsselwort var eingeleitet. Die Syntax einer Variablendeklaration sieht folgendermaßen aus:

Name : Typ;

Der Name einer Variablen kann beliebig gewählt werden, er darf sich nur nicht mit den von Pascal reservierten Wörtern decken. Nach dem Namen steht der Typ der Variable, abgeschlossen durch einen Strichpunkt. Man darf Variable des gleichen Typs auch durch Beistriche getrennt in einem Statement deklarieren.

Beispiel:
var
  ShoeSize   : integer;
  Age        : double;
  i, j, k    : longint;

Für die Benennung von Variablen haben sich bei den Entwicklern bestimmte Übereinkünfte herauskristallisiert, die man möglichst gut einhalten sollte, um die gute Lesbarkeit von Programmcode zu erreichen:

  • als Namen sollte man sprechende Namen wählen, die auf die Verwendung bzw. Bedeutung der Variable hinweisen (also z.B. BirthDay anstatt von bd2x) .
  • jedes Teilwort sollte zur besseren Lesbarkeit mit einem Großbuchstaben beginnen (z.B. GeoBaseDat statt geobasedat) .
  • Variablennamen sollten immer in Englisch angelegt werden, da man nie weiß wer in Zukunft den Code lesen wird. Eine deutschsprachige Namensgebung ist hier hinderlich und erspart eventuell notwendige Übersetzungen

 

Persönl. Anmerkung:

Ich habe mir zur Gewohnheit gemacht, Variablendeklarationen "schön" zu formatieren, da nur so die Lesbarkeit gewährleistet wird. Ein Beispiel dazu: Die folgende Variablendeklaration (die aus einem Programm eines Kollegen stammt) würde ich folgendermaßen schreiben:

ursprünglicher Code meine Formatierung
var
  i,k,l,m: integer; Test: boolean;
  weight, height, x: integer;
  lastdateofemission: Tdatetime;
var
  i, k, l, m         : integer;
  Test               : boolean;
  weight             : integer;
  height             : integer;
  x                  : integer;
  LastDateOfEmission : Tdatetime;

Man sieht, dass erstens das Untereinanderschreiben der Doppelpunkte es sehr leicht macht, den jeweiligen Typ der Variablen zu erkennen. Außerdem kann man durch Einfügen von Großbuchstaben bei langen Variablennamen diese wesentlich leichter lesen.

 

Verwendung von Variablen

Der Einsatz von Variablen im Programmcode ist ziemlich einfach - man verwendet einfach an der passenden Stelle den entsprechenden Namen. Allerdings gibt es Arten von Variablen (z.B. dynamische Variable), die man vor der ersten Verwendung erzeugen muss (= einen Platz im Speicher dafür reservieren). Grundsätzlich wird der Einsatz einer Variablen durch die verwendeten Operatoren bestimmt.

Grundsätzlich dürfen an einer bestimmten Stelle im Programm nur Variable eingesetzt werden, die vom passenden Typ sind - man kann also nicht eine floating point-Variable (z.B. double) einer Boole'schen Variablen (boolean) zuweisen. Allerdings sorgt der Compiler für eine automatische Umwandlung des Variablentyps, falls das sinnvoll und möglich ist (ohne Veränderung des Inhalts der Variablen). Es können also z.B. integer-Variable an floating point-Variable zugewiesen werden, aber nicht umgekehrt. Im ersten Fall wird der Inhalt der Variablen nicht verändert (eine Gleitkommazahl kann ja auch ganzzahlig sein), im zweiten Fall müsste man die Gleitkommazahl zuerst runden, bevor sie der ganzen Zahl zugewiesen werden kann. Die Rundung muss aber vom Programmierer explizit (Funktion round) durchgeführt werden.

Beispiel:
var
  x1 : double;
  x2 : integer;

begin
x1 := 3*x2;        // das ist erlaubt
x2 := 3*x1;        // das ist nicht erlaubt
x2 := round(3*x1); // ist wieder erlaubt
end;

Last Update: 2008-09-09