Delphi ist eine höhere Programmiersprache für Programme unter dem Betriebssystem Windows. Delphi wurde aus der Programmiersprache Turbo Pascal entwickelt. Delphi ist eine objekt- und ereignisorientierte Sprache. Programmieren mit Delphi bedeutet visuelles Programmieren. Ein Algorithmus ist eine Folge von eindeutigen und ausführbaren Anweisungen zur Lösung einer Vielzahl von Problemen einer Art.
Ein Programm ist ein Algorithmus, der in einer Programmiersprache programmiert ist. Eine auf einem Datenträger abgelegte Datenmenge bezeichnet man als Datei.
Ein Delphi-Programm besteht nicht nur aus der Programmtextdatei (Quelltext-Datei), sondern aus einer Reihe weiterer Dateien.
Die Delphi-Oberfläche besteht aus vier Fenstern, dem Formfenster (Formular), dem Objektinspektor, dem Editorfenster (Quelltextfenster) sowie dem Hauptfenster.
Das Hauptfenster besteht aus Menüleiste, Symbolleiste und Komponentenpalette. In der Komponentenpalette finden wir die einzelnen schon vorgefertigten Bausteine einer Delphi-Anwendung. Diese Komponenten lassen sich in ein Programm einbauen.

Erste Schritte zum Erstellen eines Programms

Merke: Jedes Projekt sollte nach dem Start von Delphi, d. h. nach Erscheinen der Delphi-
Oberfläche noch als leeres Projekt in einem separaten vorher angelegten Ordner gespeichert werden.

Man verhindert damit, dass seine Dateien unkontrolliert auf der Festplatte gespeichert werden. Auf eine Diskette passen z. B. drei bis vier Projekte.

Projekt speichern

Nachdem Start von Delphi gehen Sie auf "Datei" > "Projekt speichern unter" und es erscheint ein Fenster zum Speichern der "Unit1". Hierbei handelt es sich um den Namen der Quelltextdatei. Nach dem Speichern der Datei, die in einen Ordner gespeichert werden sollte, da noch einige andere Dateien automatisch erstellt werden, erscheint ein weiteres Fenster, für die Projektdateien. Diese sollten zur Quelltextdatei in den Ordner gespeichert werden.

Projekt öffnen

Gehen Sie auf "Datei" > "Projekt öffnen" und wählen Sie die gespeicherte Projektdatei aus. Anschließend wählen Sie "Öffnen" und das Projekt und die "Unit"-Datei werden geöffnet.

Weitere Funktionen

Umschaltung vom Formular zur Unit "Ansicht" > "Umschalten Formular/Unit" F12
Speichern Speicherlogo in der Leiste Strg + S
Formular-Ausdruck Formular auf Delphi-Oberfläche, "Datei" > "Drucken" > "OK"  
Unit-Audruck (Programm-Ausdruck) Unit auf Delphi-Oberfläche, "Datei" > "Drucken" > "OK"  

Dies sind die Standardeinträge, die in einer leeren Seite zu finden sind:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

end.

Um nun mit dem Programmieren zu beginnen, fügt man in das Form-Fenster die benötigten Komponenten ein. Besonders häufig werden folgende Komponenten benötigt:

Label Geeignet zur Beschriftung und zum Anzeigen von Ergebnissen
Edit Eingabefelder für die auszuwertenden Daten
Button Tastfeld zum Starten der Funktion
Group Box Zur Gliederung der Ergebnisse

Im Objektinspektor kann man nun unter "Caption" anstatt "Form1" die Überschrift, die in der Windows-Leiste erscheint, verändern. Die Größe des Fensters kann man einfach durch das Zusammenschieben verändern.

Um nun die Standardbeschriftungen zu verändern (z. B. beim Label "Label1") kannst Du ebenfalls im Objektinspektor unter "Caption" den Text ändern. Durch Entfernen verschwindet das Feld, ist aber noch vorhanden. Dies ist sehr praktisch für das Anzeigen von Ergebnissen.

Wähle nun den Button mit einem Doppelklick aus und es erscheint folgender Skriptabschnitt:

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

Zwischen "begin" und "end" wird dann die auszuführende Aktion eingetragen.

Die einfachste Funktion für einen Button ist "close". Wenn man später in der EXE-Datei auf den Button drückt, wird das geöffnete Fenster mit dem Programm geschlossen.

Jede Codezeile muss mit einem Semikolon abgeschlossen werden (ausgeschlossen sind z. B. if-Abfragen).

Der Code für das Schließen einer Seite sieht so aus:

procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

String-Zahl-Umwandlungen

Als "String" bezeichnet man eine Zeichenkette, die über die Textfelder geliefert wurde. Die Typen werden bereits bei der Variablen-Übermittlung festgelegt.

Für die Umwandlung in einen String mittels der Funktion "FloatToStr" wird das allgemeine Zahlenformat mit 15 Dezimalstellen verwendet.

Folgende Umwandlungen stehen zur Verfügung:

String in eine Ganzzahl umwandeln StrToInt(Stringvariable)
Ganzzahl in einen String umwandeln IntToStr(Zahlvariable)
String in eine Dezimalzahl umwandeln StrToFloat(Stringvariable)
Dezimalzahl in einen String umwandeln FloatToStr(Zahlvariable)
Dezimalzahl formatiert in einen String umwandeln FloatToStrF(Zahlvariable, ffFixed, Vorkommastellen, Nachkommastellen)

Die Delphi-Konstante "ffFixed" gibt an, dass es sich um einen String fester Stellenanzahl handelt.
Die Zahllänge bezieht sich nur auf die Ziffernanzahl.

Die Rundung der Dezimalzahl geschieht nur bei der Formularausgabe, nicht jedoch im Speicherplatz.

Zur Vermeidung der Rundung des Nachkommateils sollte statt der Vorkommastellen-Zahl stets die maximale Zahllänge (Ziffernanzahl) angeben werden.

Allgemeiner Aufbau einer if-Abfrage

Als erstes müssen alle Variablen mit "var" festgelegt werden. Das "real" am Ende steht in dem folgenden Fall für reelle Zahlen:

procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2, zahl3, merkzahl : real;
begin

end;

Als nächstes müssen alle Strings (Zeichenketten) in Dezimalzahlen umgewandelt werden:

procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2, zahl3, merkzahl : real;
begin

zahl1 := strtofloat(edit1.text);
zahl2 := strtofloat(edit2.text);
zahl3 := strtofloat(edit3.text);

end;

Das "edit1" steht für den Namen und "text" für den Typ des Textfeldes, aus dem die Daten ausgelesen werden.

Als nächstes beginnt dann die if-Abfrage:

procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2, zahl3 : real;
begin

zahl1 := strtofloat(edit1.text);
zahl2 := strtofloat(edit2.text);
zahl3 := strtofloat(edit3.text);

if(bedingung)
then begin

// Bei Bedingungserfüllung wird dieser Code ausgeführt!

end;

end;

Man kann dann natürlich auch if-Abfragen kombinieren:

if(bedingung1) or (bedingung2)

Bei diesem Code muss eine der beiden Bedingungen erfüllt sein. Beim nächsten Code müssen beide Bedingungen erfüllt sein:

if(bedingung1) and (bedingung2)

Möchte man nun, dass bei Nicht-Erfüllung der Bedingung eine andere Aktion ausgeführt wird, kann man dies durch die Funktion "else" erreichen:

procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2, zahl3 : real;
begin

zahl1 := strtofloat(edit1.text);
zahl2 := strtofloat(edit2.text);
zahl3 := strtofloat(edit3.text);

if(bedingung1) or (bedingung2)
then begin

// Bei Bedingungserfüllung wird dieser Code ausgeführt!

end

else

// Bei Nicht-Bedingungserfüllung wird dieser Code ausgeführt!

end;

end;

Rechnen mit Variablen

Das Rechnen mit Variablen ist ähnlich wie das normale Rechnen mit dem Taschenrechner. Delphi beherrscht alle Grundrechenregeln:

Zahl1 := Zahl2*zahl3;

Folgende Rechenzeichen sind Delphi bekannt:

  • + Additon
  • – Subtraktion
  • * Mulitplikation
  • / Division
  • := Definiert als
  • > Größer als
  • < Kleiner als
  • <> Ungleich

Ausgeben von Werten

Nun möchten wir Werte ausgeben, die durch eine Aktion erstellt wurden. Dazu geben wir folgenden Code ein:

Label1.Caption := 'Text';

"Label1" steht für den Namen des Objektes, in das der Text geschrieben werden soll. In diesem Fall wird in das Label1 "Text" geschrieben.

Wenn Sie nun zwischen den Text Werte von Variablen einfügen möchten, können Sie dies mit Hilfe von "+"-Zeichen tun:

Label1.Caption := ‘Text’+zahl1+‘Text’;

Achten Sie darauf, dass Sie vorher die Variable in einen String umwandeln.

// Kommentare einfügen

Um Ihren Code übersichtlicher zu gestalten, können Sie Ihre Kommentare einfügen. Vor jedem Kommentar kommt „//“. Der Kommentar darf aber immer nur einzeilig sein:

procedure TForm1.Button1Click(Sender: TObject);
begin
close; // Dies ist ein Kommentar.
end;

Allgemeiner Aufbau einer for-Schleife

Folgender Code ist der Standardsaufbau einer for Schleife:

procedure TForm1.Button1Click(Sender: TObject);
var n, i : integer;
summe : real;
begin

n := strtoint(edit1.text);

for i:=1 to n do
begin
// Auszuführender Code
end;

end;

Nach diesem Script wird in der for-Schleife der Code so lange wiederholt, bis "i" gleich "n" ist. Dieser Code eignet sich zum Beispiel zur Addition der darauf folgenden Zahl in dieser Form: S=1+2+3+…+n

procedure TForm1.Button1Click(Sender: TObject);
var n, i : longint;
summe : real;
begin

n := strtoint(edit1.text);
summe := 0;

for i:=1 to n do
begin
summe := summe+i;
end;

label1.caption := ‘S = ’+floattostr(summe);

end;

Als erstes werden die Variablen "n" und "i" als "lange" Ganzzahlen und "summe" als reelle Zahl festgelegt, dann kommt die Umwandlung der Variablen. Nun beginnt die for-Schleife mit "for", worauf dann die Startgröße folgt. Dann wird die folgende Aktion zwischen "begin" und "end;", bis die Zahl "n" ist, ausgeführt. In der nächsten Zeile kann dann das Ergebnis nach der Umwandlung ausgegebenen werden.

Wenn die Funktion nun S=1+1/2+1/3+…+1/n lautet, muss nur eine Zeile verändert werden:

summe := summe+(1/i);

Bild einfügen

Wenn Du ein Bild in das Fenster einbinden möchtest, kannst Du dies einfach durch einen einfachen Klick auf das Bild-Symbol in der oberen Leiste unter "Zusätzlich" wählen. Anschließend fügst Du, wie bei Textfeldern, ein leeres Feld ein. Anschließend gehst Du in den Objektinspektor und klickst bei "Picture" auf "…". Dann öffnet sich ein Fenster, in dem Du ein Bild auswählen kannst.

Achte darauf, dass das Bild in Originalgröße angezeigt und nicht im Format GIF unterstützt wird.

Allgemeiner Aufbau einer while-Schleife

Folgender Code ist der Standardsaufbau einer while Schleife:

while (Bedingung) do

begin
// Auszuführender Code
end;

Der Code wird so oft ausgeführt, wie die oben genannte Bedingung erfüllt ist. Wenn man nun möchte, dass immer Brüche addiert werden, bis die obere "Schranke" erreicht ist, sieht der Code wir folgt aus:

procedure TForm1.Button1Click(Sender: TObject);
var i : longint;
summe, schranke : real;
begin

schranke:=strtofloat(edit1.text);

i:=0;
summe:=0;

while (summe<=schranke) do

begin
i:=i+1;
summe:=summe+1/i;
end;

summe:=summe-1/i;
i:=i-1;

Label5.Caption := floattostr(schranke);
Label6.Caption := floattostr(summe);
Label7.Caption := floattostr(i);

end;

Nach dem auf den Button geklickt wurde, werden die Variablen festgelegt. Dann wird erstmal die Zahl ausgelesen, die eingegeben wurde:

schranke:=strtofloat(edit1.text);

Nun werden "summe" und "i", eine feste Zählvariable, als "0" definiert. Nun beginnt auch schon die while-Schleife. Es wird nun so oft die der folgende Code ausgeführt, bis die Bedingung "summe" ist kleiner oder gleich "schranke" durchlaufen. In der Schleife wird "i" immer um eine Zahl erhöht und addiert ein Glied hinzu:

while (summe<=schranke) do

begin
i:=i+1;
summe:=summe+1/i;
end;

Wenn nun die Bedingung nicht mehr erfüllt wird, wird die Zahl "i" und "summe" wieder um eine Zahl verringert, um wieder auf das gewünschte Ergebnis der Aufgabe zu kommen. Zuletzt werden dann noch die Ergebnisse in Labels ausgegeben.

Titel des Fensters ändern

Wenn Du nun den Titel des Fensters ändern möchtest, klicke ein Mal auf den Titel und gehe dann im Objektinspektor auf "Caption". Standardmäßig steht in dem sich dahinter befindenden Feld der Name "Form1". Hier kannst Du nun einen beliebigen Titel eingeben.

Anschließend können Sie mit einem einfachen Klick wieder in das Formfenster wechseln.

repeat-Schleife

Diese Schleife ähnelt sehr der while-Schleife. Folgender Code ist der Standardaufbau einer repeat Schleife:

repeat
// Auszuführender Code
until (Bedingung);

Gleich weiterlesen