Buchgenerator (deaktivieren)

Programmierkurs: Delphi: Pascal: Das erste Programm

Aus Wikibooks

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Das erste Programm

[Bearbeiten] Die Konsole

Obwohl die schnelle Entwicklung einer grafischen Oberfläche (engl. Graphical User Interface, Abk. Wikipedia-logo.png GUI) eine der größten Stärken von Delphi ist, eignet sie sich nur bedingt zum Einstieg in die Programmierung, da die GUI-Entwicklung ein eher komplexeres und vielseitiges Thema ist. Außerdem setzt sie ein grobes Verständnis allgemeiner Programmiertechniken (wie z.B. Wikipedia-logo.png objektorientierte Programmierung) voraus. In diesem Buch wird als Einstieg die Konsolenprogrammierung genutzt, um Sie auf einfache Art und Weise in die verschiedenen Sprachelemente des Software Engineerings einzuführen. Unter Windows auch als „DOS-Fenster“ bekannt, stellt eine Konsole grundlegende Methoden zur Ein- und Ausgabe von Daten dar, die heutzutage zwar oft als veraltet gilt, aber dennoch nicht wegzudenken ist.

[Bearbeiten] Die Programmvorlage

Startet man Delphi, so öffnet es direkt ein leeres Projekt zur Erstellung eines grafischen Programms. Da wir zunächst aber ein Konsolenprogramm erstellen wollen, müssen wir dieses Projekt schließen und ein anderes erstellen.

Delphi:

Datei->Neu->Weitere...->Konsolen-Anwendung

[1]  program Project1;
[2]
[3]  {$APPTYPE CONSOLE}
[4]
[5]  uses
[6]    SysUtils;
[7]
[8]  begin
[9]    { TODO -oUser -cConsole Main : Hier Code einfügen }
[10] end.

Dies ist nun die Vorlage für unser erstes Programm. Zeile 1: Jedes Programm beginnt mit dem Schlüsselwort program gefolgt von dem Programmnamen (der übrigens identisch mit dem Dateinamen sein muss) gefolgt von einem Semikolon.

Die Zeilen 3–6 sollen uns zunächst nicht interessieren, sie sorgen für die nötigen Rahmenbedingungen, die unser Programm benötigt.

In Zeile 8 leitet das begin nun den Hauptanweisungsblock ein, in dem sich später unser Quelltext befinden wird. In Zeile 10 endet sowohl der Anweisungsblock mit end.. Dieser Anweisungsblock wird beim Programmstart ausgeführt und danach beendet sich das Programm wieder.

Zeile 9 enthält nur einen Kommentar, der für uns unwichtig ist und bedenkenlos entfernt werden kann.

Unter Lazarus sieht der Programmrumpf ähnlich aus, wobei wir auch hier die Zeilen 3–10 zunächst nicht weiter beachten:

Datei->Neu...->Project->Program

 [1] program Project1;
 [2]  
 [3] {$mode objfpc}{$H+}
 [4]
 [5] uses
 [6]   {$IFDEF UNIX}{$IFDEF UseCThreads}
 [7]   cthreads,
 [8]   {$ENDIF}{$ENDIF}
 [9]   Classes
[10]   { add your units here };
[11]
[12] begin
[13] end.

[Bearbeiten] Der Befehl Readln

Delphi stellt mit der Programmvorlage ein zwar funktionierendes aber funktionsloses Programm zur Verfügung. Wenn wir einmal dieses Programm starten (mittels F9), so sehen wir im besten Fall für den Bruchteil einer Sekunde ein Konsolenfenster. Denn da unser Programm noch leer ist, wird es sofort beendet. Um dies zu verhindern, fügen wir den Befehl Readln ein:

begin
  Readln;
end.

Readln steht für „read line“ (deutsch: lies Zeile). Das heißt, Readln macht nichts anderes als eine Zeile Text von der Konsole zu lesen. Die Eingabe einer Zeile wird mit der ENTER-Taste beendet. Bis die ENTER-Taste gedrückt wurde, liest der Readln-Befehl alle Zeichen, die man eingibt, ein. Also müsste unser Konsolen-Fenster nun solange geöffnet bleiben, bis wir die ENTER-Taste drücken.

Tipp:

Info bulb.png

Pascal und Delphi sind case-insensitive. Das heißt, dass sie nicht zwischen Groß- und Kleinschreibung unterscheiden. Es spielt also keine Rolle, ob man „program“, „Program“, „PROGRAM“ oder „PrOgRaM“ schreibt. Sinnvoll ist allerdings, sich für eine Schreibweise zu entscheiden, damit der Quelltext lesbar bleibt (siehe Programmierstil).


Wie man die durch Readln eingelesenen Zeichen verarbeitet, erfahren Sie später.

[Bearbeiten] Die Ausgabe

Nachdem unser Programm nun geöffnet bleibt, damit wir die Ausgaben des selbigen betrachten können, wird es nun Zeit Ausgaben hinzuzufügen. Dazu verwenden wir den Befehl Writeln:

begin
  Writeln('Hello World');
  Readln;
end.

Analog zu Readln steht Writeln für „write line“ (deutsch: schreibe Zeile). Wie sich daher bereits erahnen lässt, führt dieser Befehl dazu, dass der Text „Hello World“ auf der Konsole ausgegeben wird.

Tipp:

Info bulb.png

Die Routine Writeln ist nicht auf Zeichenketten begrenzt, sondern kann alle Arten von Daten aufnehmen. So ergibt z.B.: Writeln(42); dass die Zahl 42 auf der Konsole ausgegeben wird. Man muss sich auch nicht bestimmte „Formatbezeichner“ merken, wie es bei der Programmiersprache C der Fall ist.


[Bearbeiten] Exkurs: Zeichenketten

In Pascal werden Zeichenketten durch ein einfaches Apostroph (') gekennzeichnet und im Allgemeinen als String bezeichnet. Will man allerdings ein ' in seinem String verwenden so ist dies durch '' möglich.

Übersicht:
Zeichenkette in Pascal Entsprechung
'Hello World' Hello World
'Hello '' World' Hello ' World
'Hello '+'World' Hello World

Näheres siehe Strings.


Nun lassen sich selbstverständlich noch beliebig viele weitere Ausgaben hinzufügen. Allerdings entbehrt die reine Ausgabe von Text auf der Konsole, dem eigentlichen Sinn von Programmen, die ja Informationen verarbeiten können sollen. Genau dies ist also Thema des nächsten Kapitels: Wenn Dann Sonst, aber zunächst beschäftigen wir uns erst mal mit den Datentypen.

Arrow left.png Pascal: Aufbau eines Delphi-Programms Inhaltsverzeichnis Pascal: Grundlegende Datentypen Arrow right.png
Persönliche Werkzeuge