Programmierkurs: Delphi: Pascal: Input und Output

Aus Wikibooks

Eingabe und Ausgabe[Bearbeiten]

Um mit dem Benutzer zu kommunizieren, muss der Computer die eingegebenen Daten (Input) speichern, verarbeiten und dann später ausgeben (Output). Um das Verarbeiten kümmert sich das nächste Kapitel; in diesem Kapitel dreht sich alles um das Ein- und Ausgeben von Daten.

Eingaben erfassen[Bearbeiten]

Kommen wir nun zu unserem eigentlichen Ziel, dem Einlesen und Verarbeiten von Eingaben auf der Konsole. Unser Ausgangs-Programm:

program Eingabeerfassung;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  { ... }

begin
  { ... }
  Readln;
end.


Nun erweitern wir den Anweisungsblock um die Ausgabe der Nachricht: 'Bitte geben Sie ihren Vornamen ein:'; Dies sollte kein größeres Problem darstellen. Als nächstes legen wir eine Variable an, in der wir den Vornamen des Benutzers speichern wollen. Wir fügen also

Vorname: string;


in den „Var-Abschnitt“ ein. Nun wollen wir den Vornamen von der Konsole einlesen und in der Variable Vorname speichern dies geschieht mittels des folgenden Aufrufes im Hauptprogrammteil:

Readln(Vorname);


Vorname wird hier der Routine Readln als Parameter übergeben. Da es sich bei Readln um eine sehr spezielle Funktion handelt, gehen wir nicht näher auf dieses Konstrukt ein. Uns genügt die Tatsache, dass sich der in die Konsole eingegebene Text, nach dem Ausführen des Befehls in der Variable Vorname befindet.

Variablen ausgeben[Bearbeiten]

Ähnlich der Eingabe mit Readln, kann man mit Writeln Variablen ausgeben. Beispielsweise so:

Writeln(Vorname);


Nun wird der gerade eingegebene Vorname auf dem Bildschirm ausgegeben.

Schreiben wir jetzt das erste Programm, das aus der Eingabe eine Ausgabe „berechnet“, denn dazu sind Programme im Allgemeinen da.

Unser Programm soll den Benutzer fragen, wie er heißt und ihn dann mit dem Namen begrüßen, und zwar so, dass er die Begrüßung auch sieht.

program Eingabeerfassung;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  Vorname: string;

begin
  Writeln('Wie heisst du?');
  Readln(Vorname);
  Writeln('Hallo ', Vorname, '! Schoen, dass du mal vorbeischaust.');
  Readln;
end.


Hier wird deutlich, dass Writeln mehrere Parameter (nämlich eine beliebige Anzahl) annimmt und deren Wert auf dem Bildschirm ausgibt. Dabei ist es egal, ob dieser aus einer Variablen stammt, direkt angegeben wird oder wie hier eine Kombination von beidem darstellt. Die Parameter können jeden beliebigen einfachen Datentyp haben, jedoch nicht Aufzählungen, Mengen, Arrays, Records, Klassen und Zeiger. Die Typ Variant wiederum ist erlaubt.

Alternativ kann man Strings und String-Variablen übrigens auch miteinander verketten:

Writeln('Hallo ' + Vorname + '! Schoen, dass du mal vorbeischaust.');


Pascal: Operatoren Inhaltsverzeichnis Pascal: Verzweigungen