Variable in PASCAL

 

Variable in Pascal sind ein Kapitel für sich:

Da verschiedene Variabelentypen verschieden viel Platz benötigen, muss man sie vor dem Kompilieren deklarieren, d.h. benennen und dem Typ nach festlegen. Hier einige Beispiele:

var

   
  x, y : byte;      // belegt ein Byte im Speicher 
  s1, s2 : string; // Kette von max 255 Zeichen Länge
  r :real;      // reelle Zahl 
  n, m : integer;   // vorzeichen-behaftete Ganzzahl 

Variablen können für den gesamten Programm-Code als gültig erklärt werden: Man nennt sie dann globale Variable. Ihr Deklaration geschieht am besten zu Beginn des Implementationsteiles des Programms. Variable, die nur für einen Programmteil, z.B. für eine Prozedur oder eine Funktion gültig sein sollen, werden zu Beginn des Programmblock definiert. Man nennt sie dann lokale Variable. Nach Verlassen der Prozedur 'vergisst' PASCAL sie, d.h. man kann nicht mehr auf sie zugreifen.

PASCAL ist sehr eigen bei der Behandlung verschiedener Variabelentypen. So ist z.B. der Inhalt einer EditBox  vom Typ String. Möchte man einen Zahlenwert ausgeben, so muss man diesen Zahlentyp (hier: integer) mittels der Funktion IntToStr in einen string umwandeln: Ausgabe.Text:= IntToStr(x).

Soll umgekehrt mit dem Zahlenwert in einer EditBox weitergerechnet werden, so muss diese Zeichenkette  in einen Zahlentyp umgewandelt werden: x := StrToInt(Eingabe.Text).

 
Bei einer Anzeige, die durch Zeichen getrennt Minuten, Sekunden und Zehntelsekunden anzeigt, muss man schon ein wenig nachdenken:  Sie besteht aus drei Zeichenketten, die sich mit Hilfe der obigen Funktionen aus den Ganzzahlwerten für min, sek und zehntelsek ergeben. Zusätzlich treten noch die beiden Zeichen ':' und ',' auf. Die Syntax für solche eine Ausgabe wäre dann: 

Label.Caption := IntToStr(min)+':'+IntToStr(sek)+','+IntoToStr(zehntelsek);

Variable, auf die von verschiedenen Prozeduren des Programms zugegriffen werden muss, müssen global zu Beginn der Implementationsteils des Programms deklariert werden. Man nennt sie daher auch globale Variable.

Variable, die lokal nur innerhalb einer Prozedur verwendet werden (z.B. Zähler in Zählschleifen) , werden auch nur in dieser Prozedur deklariert und zwar wiederum vor dem Implementationsteils dieser Prozedur. Solche Variablen heißen  lokale Variable. Man deklariert sie dann auch nur innerhalb dieser Prozedur. Nach dem Verlassen der Prozedur 'vergisst' Delphi diese Variablen. Ihren Bezeichner kann man gleichlautend auch in anderen Prozeduren verwenden.

 

procedure TForm1.Timer1Timer(Sender: TObject);
var zs,sek,min : integer;      // Das sind lokale Variable, die nur
    sekstr,minstr : string;    // in dieser Prozedur benötigt werden
begin
    inc(z,34);                  // z ist eine globale Variable.
    zs := z mod 10;
    sek := (z div 10) mod 60;
    min := (z div 10) div 60;
    if sek <10 then sekstr := '0'+IntTostr(sek)else sekstr := IntToStr(sek);
    if min <10 then minstr := '0'+IntTostr(min)else minstr := IntToStr(min);
    Label1.Caption := minstr+':'+sekstr+','+IntTostr(zs);
end;

 

 

Zurück zu Delphi

© Dietrich Praclik