[Only registered and activated users can see links. Click Here To Register...]
Willkommen zu meinem wohl längsten Tutorial, das ich je schreiben werde.
Hier geht es darum, euch die Sprache Delphi näher zu bringen.
Delphi wird oft nicht so gerne gesehen obwohl die sehr einfach zu erlernen ist und durch aus mit C++ mithalten kann. Was hindert uns also daran sich die (Hoch)Sprache näher zu betrachten und seine Vorzüge zu erkennen.
- Delphi? Was ist das?
- Warum gerade Delphi?
- Vorteile / Nachteile
- Grundlagen
- Ein erstes Projekt
- Windows API. Was ist das? Teil 2
- Weiterführendes: OOP, Assembler in Delphi… Teil 2
Delphi ist eine Hochsprache, mithilfe man ganz einfach Programme erstellen kann.
Delphi basiert auf Pascal, das 1972 gegründet wurde. Pascal war eine mit der ersten Sprachen, die strukturierte Programmierung erlaubte und diese auch permanent durchsetzte.
Delphi im heutigen Sinne wurde 2003 von Borland gegründet. Die Sprache ist dabei (fast) die gleiche geblieben, allerdings gibt es keine Konsolenanwendungen mehr, sondern man kann die GUI über einen Designer gestalten. Aktuell sind wir bei der Version 2010. Die beherrscht auch die Programmierung für Linux und Delphi for .NET.
Delphi ist eine sehr leicht zu erlernende Programmiersprache mit hohem Funktionsumfang.
Sie zeichnet sich durch eine einfache OOP (Objekt orientierte Programmierung) aus.
Weitere Vorteile sind folgende:
- Leicht zu erlernender Syntax
- Gute bedienbare DIE
- Sehr guter Debugger
Im folgenden Tutorial zeige ich euch, wie leicht es eigentlich sein kann, eine eigene Win32 Anwendung zu erzeugen.
Natürlich hat Delphi auch so seine Nachteile. Wie jede Programmiersprache halt.
Um nur einige zu nennen.
Aber warum sollte man es da lernen? Naja, stimmt schon. Aber es gibt auch sehr viele Vorteile, die meiens Erachtens die Nachteile in den Schatten stellen.
An unsere C++ Coder. Delphi interessiert Groß/Kleinschreibung nicht!
Ich rede die ganze Zeit von einer gewissen IDE. Doch was genau ist das?
IDE heißt ausgesprochen „Integrated Development Environment“ und bedeutet so viel wie „Integrierte Entwicklungsumgebung“.
Wer weiterhin im Netz nach Tutorials sucht, wird eine große Auswahl finden.
Einige Seiten seien hier genannt.
- [Only registered and activated users can see links. Click Here To Register...]
- [Only registered and activated users can see links. Click Here To Register...]
- [Only registered and activated users can see links. Click Here To Register...]
Wer sucht der findet immer. Gerade bei Delphi gibt’s sehr viele Themen zu fast jedem Problem.
Ok, genug der Theorie. Fangen wir mit Programmieren an.
Doch halt. Wie anfangen? Einfach so?
Das wäre sehr falsch, da gerade Einsteiger gerade dann die Motivation verlieren, wenn sie sich ihr Ziele nicht erfüllen können.
Dazu brauchen wir aber erst mal Delphi. Da Delphi sehr teuer ist habe ich hier eine kostenlos alternative rausgesucht.
[Only registered and activated users can see links. Click Here To Register...]
Beginnen wir als mit den Grundlagen.
Variablen:
Variablen sind Platzhalter, wie sind evtl. Schon aus der Mathematik bekannt sind. Wer nicht weiß, was Variablen genau machen, sollte hier aufhören zu lesen und sich ein zumindest grobes Mathematik Verständnis aneignen
Variablen werden mit folgendem Wort deklariert.
Var steht für „Variable“. Nach dem Var kommt der Name, wie die Variable heißen soll. Dieser Name muss mit einem Buchstaben beginnen. Das bedeutet, keine Zahlen oder Sonderzeichen.
Danach kommt der Typ. Der Typ bestimmt, was für ein Format die Variable haben soll.
Es gibt viele Variabeltypen. Die wichtigsten sind hier aufgelistet.
Weitere Typen werde ich euch später erklären. Aber erstmal ist dies das wichtigste.
Wollen wir z.B. einen String (Zeichenkette wie z.B. "Hallo" speichern benötigen wir ein String).
Dies vereinbaren wir mit einem Doppelpunkt (:).
Das sehe nun wie folgt aus:
Wichtig: Jede Anweisung (außer Ausnahmen) wird mit einem Semikolon abgeschlossen!
Schleifen
Es gibt 3 Arten von Schleifen.
Alle haben Vor und Nachteile, aber im Grunde braucht man jede für eine andere Aufgabe und da sind sie unerlässlich.
While Schleife:
Die While Schleife hat folgenden Sytntax:
Puhh, soviel neues.
Ok, ins Deutsche übersetzt würde das heißen.
Z.B. könnte man es so anwenden.
Für diese Anweisung wäre die nächste Schleife auf jeden Fall praktischer, aber die zeigt was sie macht. Ins Deutsche übersetzt.
For-to-do Schleife
Diese Art von Schleife ist dafür da, wenn man weiß wie oft eine Aktion wiederholt werden soll. Wenn z.B. 100 mal Ein Textfeld ausgegeben werden soll, muss zuerst eine Variable von Typ Integer deklariert werden.
Danach kann sofort die Schleife beginnen.
Was passiert hier? am anfang wird der Variable i der Wert 1 zugewiesen.
Dies geschieht mit
i := 1
Der Doppelpunkt mit dem ist gleich dahinter ist ein Zuweisung Operator.
Mit ihm werden Werte in eine Variable eingefügt.
Nachdem i = 1 ist, wird einmal ein Fenster angezeigt. Dieses zeigt nun "Hallo" an. Nun wird i um 1 erhöht. Dies sieht man nicht, aber es passiert. Im Grunde machen wir das gleiche wie oben bei der While Schleife.
Repeat-Until Schleife
Dies Schleife ähnelt der While-do Schleife.
Nur das hier erst der Code ausgeführt wird und danach die Abbruchs Bedingung.
Der Syntax sieht hier wie folgt aus.
Also so etwa:
Diese Schleife nutze ich relativ wenig, da sie mir einfach nicht gefällt ;)
Bedingungen
Ein Programm darf nicht linear Ablaufen, sondern muss auf Ereignisse reagieren. Dafür gibt es Bedingungen.
if-then-else
Die Wohl Berühmteste und auch einfachste
Um dies zu verstehen, erstellen wir eine neue Variable vom typ Boolean.
Dieser weisen wir gleich den Wert "True" zu.
Erstellt nun folgenden Code.
Ok, was machen wir hier. Wir überprüfen ob die Variable "Running" den Wert true hat. Wenn ja, erzeugen wir eine MessageBox mit dem Inhalt ("Boolean hat den Wert true") ansonsten ("Boolean hat den Wert false").
Nochmal ins Deutsche:
Ändert nun mal die Variable in False
Startet das Programm mit F9 und seht was passiert.
So, das waren erst mal die Grundlagen. Ein paar wichtige Hinweise gibt es aber noch.
Endlich gehts los
Startet nun als erstes Delphi. Darin müsst ihr ein neues Formular eröffnen.
[Only registered and activated users can see links. Click Here To Register...]
Nun seht ihr eure IDE.
[Only registered and activated users can see links. Click Here To Register...]
Erklärung
1: Eure Formular. Dieses wird eure GUI mit der ihr arbeitet
2: Objektinspektor. Hier legt ihr Eigenschaften, Ereignisse... fest
3: Komponentenliste. Hier könnt ihr euer Formular mit Komponenten
bestücken. Diese zieht ihr einfach per Drag and Drop auf das
Formular.
4: Menü. Hier legt ihr allgemeine Einstellungen fest
5: objekthierarchi: Eine Art Stammbaum eures Formulares
Bestücken des Formulars
Bestückt nun eurer Forumlar mit folgenden Komponenten.
3 Labels, 3 Edit Felder und Button. DIes Komponenten befinden sich alle auf der "Standart" Palette.
Zieht sie auf euer Formular und bestückt sie so wie ich.
[Only registered and activated users can see links. Click Here To Register...]
Im Objektinspektor könnt ihr nun die Eigenschaften ändern. Beschriftet die Komponenten um. Klickt auf die Labels und sucht "Caption". Dort tragt ihr den gewünschten Namen ein. Beim Button genauso. Das Editfeld wird im Abschnitt "Text" beeinflusst.
Ok, nun Doppelklickt auf den Button. Hier seht ihr nun den Quelltexteditor.
Dieser Bedarf wohl einer Erklärung, obwohl ihr vieles noch gar nicht wissen müsst.
Doppelklickt ihr nun auf den Button erscheint folgender Quellbereich:
[Only registered and activated users can see links. Click Here To Register...]
Dort gebt ihr nun folgenden Code ein.
Fügt den Code nun ein.
Startet ihr das Programm nun(F9) erhaltet ihr einen Fehler. Der Grund:
weder Kapital oder Laufzeit noch Zinsen und i sind als Variablen vereinbart.
Geht nun in den Var Abschnitt und fügt es hinzu. Als Typ nehmen wir einen Double, da wir mit Komma zahlen arbeiten
Außerdem ist Laufzeit vom typ integer und muss mit i in der Button1 Procedure vereinbart wird,
[Only registered and activated users can see links. Click Here To Register...]
Startet das Programm mit der F9 Taste und seht was ihr geschaffen habt.
Willkommen zu meinem wohl längsten Tutorial, das ich je schreiben werde.
Hier geht es darum, euch die Sprache Delphi näher zu bringen.
Delphi wird oft nicht so gerne gesehen obwohl die sehr einfach zu erlernen ist und durch aus mit C++ mithalten kann. Was hindert uns also daran sich die (Hoch)Sprache näher zu betrachten und seine Vorzüge zu erkennen.
Inhalt
- Delphi? Was ist das?
- Warum gerade Delphi?
- Vorteile / Nachteile
- Grundlagen
- Ein erstes Projekt
- Windows API. Was ist das? Teil 2
- Weiterführendes: OOP, Assembler in Delphi… Teil 2
Delphi? Was ist das?
Delphi ist eine Hochsprache, mithilfe man ganz einfach Programme erstellen kann.
Delphi basiert auf Pascal, das 1972 gegründet wurde. Pascal war eine mit der ersten Sprachen, die strukturierte Programmierung erlaubte und diese auch permanent durchsetzte.
Delphi im heutigen Sinne wurde 2003 von Borland gegründet. Die Sprache ist dabei (fast) die gleiche geblieben, allerdings gibt es keine Konsolenanwendungen mehr, sondern man kann die GUI über einen Designer gestalten. Aktuell sind wir bei der Version 2010. Die beherrscht auch die Programmierung für Linux und Delphi for .NET.
Warum gerade Delphi?
Delphi ist eine sehr leicht zu erlernende Programmiersprache mit hohem Funktionsumfang.
Sie zeichnet sich durch eine einfache OOP (Objekt orientierte Programmierung) aus.
Weitere Vorteile sind folgende:
- Leicht zu erlernender Syntax
- Gute bedienbare DIE
- Sehr guter Debugger
Im folgenden Tutorial zeige ich euch, wie leicht es eigentlich sein kann, eine eigene Win32 Anwendung zu erzeugen.
Vorteile /Nachteile
Natürlich hat Delphi auch so seine Nachteile. Wie jede Programmiersprache halt.
Um nur einige zu nennen.
| Nachteile |
|---|
| Keine Hardware nahe Programmierung. Das heißt, es können nur sehr schwer Treiber erstellt werden. |
| Geringe Verbreitung (es gibt aber trotzdem genug Tutorials im Internet) |
| Im Beruf nicht so gefragt |
| Entwicklungsumgebung recht teuer |
Aber warum sollte man es da lernen? Naja, stimmt schon. Aber es gibt auch sehr viele Vorteile, die meiens Erachtens die Nachteile in den Schatten stellen.
| Vorteile |
|---|
| - Leicht zu erlernte Sprache |
| - Dll Dateien können erzeugt werden. Ebenso können einfach neue Komponenten erstellt werden. |
| - Große Community |
| - GUI kann aus einem Baukasten System zusammen gebaut werden. Das heißt, es müssen keine API Befehle gecallt werden. |
| - Die IDE ist übersichtlich. |
An unsere C++ Coder. Delphi interessiert Groß/Kleinschreibung nicht!
Ich rede die ganze Zeit von einer gewissen IDE. Doch was genau ist das?
IDE heißt ausgesprochen „Integrated Development Environment“ und bedeutet so viel wie „Integrierte Entwicklungsumgebung“.
Wer weiterhin im Netz nach Tutorials sucht, wird eine große Auswahl finden.
Einige Seiten seien hier genannt.
- [Only registered and activated users can see links. Click Here To Register...]
- [Only registered and activated users can see links. Click Here To Register...]
- [Only registered and activated users can see links. Click Here To Register...]
Wer sucht der findet immer. Gerade bei Delphi gibt’s sehr viele Themen zu fast jedem Problem.
Grundlagen
Ok, genug der Theorie. Fangen wir mit Programmieren an.
Doch halt. Wie anfangen? Einfach so?
Das wäre sehr falsch, da gerade Einsteiger gerade dann die Motivation verlieren, wenn sie sich ihr Ziele nicht erfüllen können.
Dazu brauchen wir aber erst mal Delphi. Da Delphi sehr teuer ist habe ich hier eine kostenlos alternative rausgesucht.
[Only registered and activated users can see links. Click Here To Register...]
Beginnen wir als mit den Grundlagen.
Variablen:
Variablen sind Platzhalter, wie sind evtl. Schon aus der Mathematik bekannt sind. Wer nicht weiß, was Variablen genau machen, sollte hier aufhören zu lesen und sich ein zumindest grobes Mathematik Verständnis aneignen
Variablen werden mit folgendem Wort deklariert.
Code:
Var
Var steht für „Variable“. Nach dem Var kommt der Name, wie die Variable heißen soll. Dieser Name muss mit einem Buchstaben beginnen. Das bedeutet, keine Zahlen oder Sonderzeichen.
Code:
Var Test
Es gibt viele Variabeltypen. Die wichtigsten sind hier aufgelistet.
| Typ | Bedeutung |
|---|---|
| Integer | Speichert ganze Zahlen |
| String | Speichert eine Zeichenkette (bis 2Mrd. Zeichen) |
| Boolean | Speichert einen Status (True oder False) |
| Char | Speichert ein einzelnes zeichen |
| Double | Speichert eine Kommazahl |
Weitere Typen werde ich euch später erklären. Aber erstmal ist dies das wichtigste.
Wollen wir z.B. einen String (Zeichenkette wie z.B. "Hallo" speichern benötigen wir ein String).
Dies vereinbaren wir mit einem Doppelpunkt (:).
Das sehe nun wie folgt aus:
Code:
Var Test: String;
Schleifen
Es gibt 3 Arten von Schleifen.
Alle haben Vor und Nachteile, aber im Grunde braucht man jede für eine andere Aufgabe und da sind sie unerlässlich.
While Schleife:
Die While Schleife hat folgenden Sytntax:
Code:
While Ausdruck = true/false do
begin
//Anweisung
end;
Ok, ins Deutsche übersetzt würde das heißen.
Code:
SOLANGE Ausdruck (nicht) erfüllt TUE
begin
Deine Anweisungen ausführen
end;
Code:
While i < 500 do
begin
i := i + 1;
end;
Code:
SOLANGE i unter 500 tue
begin
i um 1 erhöhen (i := i + 1);
end;
For-to-do Schleife
Diese Art von Schleife ist dafür da, wenn man weiß wie oft eine Aktion wiederholt werden soll. Wenn z.B. 100 mal Ein Textfeld ausgegeben werden soll, muss zuerst eine Variable von Typ Integer deklariert werden.
Code:
Var i: integer
Code:
For i := 1 to 100 do
begin
ShowMessage('Hallo');
end;
Dies geschieht mit
i := 1
Der Doppelpunkt mit dem ist gleich dahinter ist ein Zuweisung Operator.
Mit ihm werden Werte in eine Variable eingefügt.
Nachdem i = 1 ist, wird einmal ein Fenster angezeigt. Dieses zeigt nun "Hallo" an. Nun wird i um 1 erhöht. Dies sieht man nicht, aber es passiert. Im Grunde machen wir das gleiche wie oben bei der While Schleife.
Repeat-Until Schleife
Dies Schleife ähnelt der While-do Schleife.
Nur das hier erst der Code ausgeführt wird und danach die Abbruchs Bedingung.
Der Syntax sieht hier wie folgt aus.
Code:
Repeat
Anweisung
Until i = 500;
Code:
Repeat
i := i + 1;
Until i = 500;
Bedingungen
Ein Programm darf nicht linear Ablaufen, sondern muss auf Ereignisse reagieren. Dafür gibt es Bedingungen.
if-then-else
Die Wohl Berühmteste und auch einfachste
Code:
if Variable = true then Anweisung1 else Anweisung2
Code:
Var Running: Boolean;
Code:
Var Running: Boolean = True;
Code:
if Running = true then
ShowMessage('Boolean hat den Wert "True")
else
ShowMessage('Boolean hat den Wert "False");
Nochmal ins Deutsche:
Code:
WENN Runnig = true(wahr) DANN
SHowMessage ('Boolean hat den Wert True')
SONSt
ShowMessage('Boolean hat den Wert false');
Ändert nun mal die Variable in False
Code:
Var Running: Boolean= false;
So, das waren erst mal die Grundlagen. Ein paar wichtige Hinweise gibt es aber noch.
| Weiter wichtige Dinge |
|---|
| Anweisungen werden mit einem ; abgeschlossen |
| Der Variable wird mit := ein Wert zugewiesen. |
| Groß und Kleinschreibung spielt keine Rolle |
Ein erstes Projekt
Wir haben nun die minimalen Grundlagen die wir brauchen um ein ganz einfaches Programm zu erstellen.
Idee:
Was wollen wir programmieren. Zu aller erst etwas einfaches, das die gewonnen Fertigkeiten ausschöpft.
Wir werden ein Rechner bauen, der ausrechnet, wie viel Geld wir bei x Zinsen und x Jahren Laufzeit haben.
Idee:
Was wollen wir programmieren. Zu aller erst etwas einfaches, das die gewonnen Fertigkeiten ausschöpft.
Wir werden ein Rechner bauen, der ausrechnet, wie viel Geld wir bei x Zinsen und x Jahren Laufzeit haben.
Endlich gehts los
Startet nun als erstes Delphi. Darin müsst ihr ein neues Formular eröffnen.
[Only registered and activated users can see links. Click Here To Register...]
Nun seht ihr eure IDE.
[Only registered and activated users can see links. Click Here To Register...]
Erklärung
1: Eure Formular. Dieses wird eure GUI mit der ihr arbeitet
2: Objektinspektor. Hier legt ihr Eigenschaften, Ereignisse... fest
3: Komponentenliste. Hier könnt ihr euer Formular mit Komponenten
bestücken. Diese zieht ihr einfach per Drag and Drop auf das
Formular.
4: Menü. Hier legt ihr allgemeine Einstellungen fest
5: objekthierarchi: Eine Art Stammbaum eures Formulares
Bestücken des Formulars
Bestückt nun eurer Forumlar mit folgenden Komponenten.
3 Labels, 3 Edit Felder und Button. DIes Komponenten befinden sich alle auf der "Standart" Palette.
Zieht sie auf euer Formular und bestückt sie so wie ich.
[Only registered and activated users can see links. Click Here To Register...]
Im Objektinspektor könnt ihr nun die Eigenschaften ändern. Beschriftet die Komponenten um. Klickt auf die Labels und sucht "Caption". Dort tragt ihr den gewünschten Namen ein. Beim Button genauso. Das Editfeld wird im Abschnitt "Text" beeinflusst.
Ok, nun Doppelklickt auf den Button. Hier seht ihr nun den Quelltexteditor.
Dieser Bedarf wohl einer Erklärung, obwohl ihr vieles noch gar nicht wissen müsst.
Code:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; //eingebundene Datein (in C++ include gennant). Sie stellen zusätzliche Funktionen bereit
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1; //Öffentliche Varaibeln -> siehe Grundlagen
implementation
{$R *.dfm}
//Unterhalb von implementation kommt unser Code
end.
[Only registered and activated users can see links. Click Here To Register...]
Dort gebt ihr nun folgenden Code ein.
Code:
Kapital := StrToFLoat(Edit1.Text); //wandelt den String aus Edit1 in eine Gleitkommazahl Prozent := StrToFLoat(Edit2.text); Laufzeit := StrToInt(Edit3.text); for i := 1 to Laufzeit do //Die Schleife wird so oft durch geführt wie in edit3 angeben begin Zinsen := Kapital * Prozent/100; //eigentliche Rechnung Kapital := Kapital + Zinsen; end; Edit1.Text := FloatToStr(Kapital); //Das Kapital nach x Jahren wird dargestellt
Startet ihr das Programm nun(F9) erhaltet ihr einen Fehler. Der Grund:
weder Kapital oder Laufzeit noch Zinsen und i sind als Variablen vereinbart.
Geht nun in den Var Abschnitt und fügt es hinzu. Als Typ nehmen wir einen Double, da wir mit Komma zahlen arbeiten
Außerdem ist Laufzeit vom typ integer und muss mit i in der Button1 Procedure vereinbart wird,
[Only registered and activated users can see links. Click Here To Register...]
Startet das Programm mit der F9 Taste und seht was ihr geschaffen habt.
Abschluss
Ich hoffe ihr habt etwas verstanden. Ich werde mal mein Tutorial fortsetzen und euch dann in die Geheimnisse der Windows API und der OOP entführen. Wenn ihr nun noch ein wenig mit Delphi spielt, werdet ihr merken, was man damit alles machen kann.