Pascal / Delphi / Kylix Variable, Eingaben


Page updated: 28. Juli 2004


Inhalt: Variable - Datentypen - Eingabe - Länderspezifisch

Demoprogramm eingabe.java


Item Variable. TOP TOP

Namensbildung: Wie bei C.

Deklaration von Variablen: Variable müssen deklariert (vereinbart) werden, bevor man sie im Programm benutzen kann. Die Deklaration erfolgt gleich zu Beginn des Rumpfes der Methode main(), lokale Deklaration genannt. Bei der Deklaration legt man Namen der Variablen und ihren Datentyp fest. Mehrere Variablen gleichen Typs können mit einer Deklaration vereinbart werden. Deklarierte Variable werden bei numerischen Datentypen mit 0, bei alphanumerischen Datentypen mit einer leeren Zeichenkette vorinitialisiert.
Item Datentypen. TOP TOP

Es gelten die folgenden Bezeichnungen für Datentypen:

Datentypen Byte Wertebereich
Byte 1  0 ... 255
Word 2  0 ... 65535
Shortint 1  -128 ... 127
Integer *)
2 oder 4  -32768 .. 32767 oder -2147483648 ... 2147483647
Longint 4  -2147483648 ... 2147483647
Real *)
4 oder 8
 siehe Compilermanual
Single 4  ±1.5E-45 ... ±3.4E38
Double 8  ±5.0E-324 ... ±1.7E308
Extended 10  ±1.9E-4951 ... ±1.1E4932
String 1 .. 255  Bis zu 255 Zeichen aus dem Zeichensatz.
Boolean
1
 true, false

*) In Abhängigkeit von Plattform bzw. Compiler (siehe Referenzmanual des Compilers).


Item Eingabeprozedur readln. TOP TOP

Die Eingabe erfolgt mit der readln Prozedur. Es können mehrere Variable mit einem readln eingelesen werden: Bei der eigentlichen Eingabe über die Tastatur müssen dann die Werte mit Leerzeichen voneinander getrennt werden.

Bei einem Eingabefehler bricht das Programm mit einem Laufzeitfehler ab. Wollen Sie dies vermeiden, so müssen Sie:
  1. Vor dem readln Aufruf die I/O Laufzeitüberwachung mit einer Compilerdirektive abschalten:
    {$I-}
  2. Den Aufruf von readln in eine Schleife wiederholen, bis kein Fehler mehr vorliegt. Dazu wird die Systemvariable IOResult überprüft. Sie nimmt den Wert 0 an, wenn kein Fehler vorliegt.
    repeat <readln Prozedur>; until IOResult=0;
  3. Nach dem wiederholenden readln Aufruf die I/O Laufzeitüberwachung mit einer Compilerdirektive wieder anschalten:
    {$I+}
Im Demoprogramm ist dies für die erste ganzzahlige Eingabe realisiert. Geben Sie bei Programmausführung statt einer ganzen Zahl einen Text ein, wird er ignoriert bis Sie eine gültige Zahl eingeben.
Im Gegensatz dazu bricht das Programm mit einem Laufzeitfehler ab, wenn Sie einen Text bei der Eingabe einer Kommazahl eintippen.

Item Landesspezifische Eingabe. TOP TOP

Sie haben keine direkte Möglichkeit, um landesspezifische Standards bei Eingaben (Dezimalkomma) zu setzen. Alternativ könnten Sie die Eingabe als Zeichenkette vornehmen, nach der Eingabe der Zeichenkette das Komma durch einen Dezimalpunkt vor der Umwandlung in eine reelle Zahl austauschen und dann die Zeichenkette in die reelle Zahl umwandeln.


Dr. J. Kubiak j.kubiak@gmx.net