In dieser Videoreihe geht es darum, wie man mit Lazarus programmiert.
Ziel / Motivation
Diese Reihe ist für Einsteiger gedacht, aber es geht am Ende trotzdem doch schon ein bisschen in die Tiefe und man kann dann doch paar coole Projekte auf die Beine stellen. Und bevor wir also direkt starten, habe ich als kleine Motivation hier mal so ein Spiel, was man also am Ende dieser Videoreihe auf die Beine stellen kann. Schauen wir uns mal an: Es ist ein Auffangspiel, wo man einen Dude steuern kann, der Äpfel und Birnen auffangen soll. Aber den Scheißhaufen sollte man nicht auffangen. Ich glaube, das Spielprinzip ist klar geworden.
Lazarus installieren
Wie kriege ich Lazarus zum laufen? Ihr könnt ja einfach mal auf die Webseite schauen: Lazarus – dort siehe Download, wo ihr die Entwicklungsumgebung runterladen könnt. In Lazarus wirst du mit Objekt-Pascal programmieren, aber die Entwicklungsumgebung hilft ungemein. Gerade für Einsteiger ist das sehr hilfreich, deswegen empfehle ich das, denn es ist auch Open Source und alles kostenlos. Ihr könnt das also komplett kostenlos hier runterladen. Da wählt ihr einfach euer Betriebssystem, klickt auf den Link und dann wird der Download gestartet.
Sobald es fertig runtergeladen wurde, startet ihr die Setupdatei. Und dann folgt ihr einfach den Anweisungen … das ist relativ einfach. Und dann schauen wir wenn wir das Programm dann installiert haben wie es dann weitergeht.
Neues Projekt anlegen
So dann startet doch einfach mal Lazarus und dann sollte hier ein neues Projekt erscheinen. Wenn das nicht der Fall ist, klickt ihr einmal auf: Projekt > Neues Projekt > Anwendung, und dann kriegt ihr immer ein neues Projekt, was ihr bearbeiten könnt. Bevor wir da irgendwas machen, speichern wir das einmal ordentlich ab. Dafür legt ihr am besten einen neuen Ordner an. Ich kann euch das wirklich nur empfehlen, damit das auch übersichtlich und strukturiert bleibt. Für jedes neue Projekt mit seinen Dateien packt ihr alles in einen neuen Ordner.
So wir wollen also am Anfang mal ein „Hello World“ Projekt programmieren, deswegen erstellen wir mal einen Ordner mit dem Namen „Hello World“. Da kommen jetzt alle Projektdateien rein. In Lazarus muss ich halt mehrere Dateien speichern. Da reicht also nicht nur den Programmcode zu speichern, es muss auch die ganze Projektdatei gespeichert werden. Um auf Nummer sicher zu gehen, geht ihr einfach auf: Datei > Alles speichern, und wenn ihr das das erste Mal gemacht habt für ein neues Projekt und dann sucht ihr euren Dateipfad da wo das reingespeichert werden soll, gibt einen ordentlichen Namen für das Projekt ein z.B „Hello World“. Und dann werdet ihr auch aufgefordert, die Unit noch zu speichern. Das ist meine Haupt-Unit, die nenne ich in der Regel „Main“. Wenn ihr alles gespeichert habt, werden von Lazarus ganz viele Dateien automatisch angelegt.
Ihr habt hier die Unit, da ist der Quellcode drin, den könnt ihr übrigens auch mit dem Editor ganz normal öffnen, dann seht ihr da ist noch nicht viel passiert, aber ihr könnt euch das auch anschauen – braucht nicht immer Lazarus öffnen. Dann habt ihr die Projektdatei selbst, das ist diese .LPI Datei. Die anderen Dateien könnt ihr erst mal getrost ignorieren, die sind von Lazarus selbst erstellt. Ihr habt auch einen Backup-Ordner, den kann man eigentlich löschen.
Editor und Komponenten
So dann starten wir mal mit dem eigentlichen Programm. Ihr könnt zwischen diesem Quelltexteditor und dem Formblatt mit F12 immer ganz leicht wechseln. Und wir haben hier das Formblatt wo die ganzen Steuerelemente und die Komponenten später drauf kommen. Unser Formblatt soll am Anfang nur einen Button erhalten, wo man drauf klicken kann.
Die ganzen Komponenten, die ihr verwenden könnt, findet ihr hier oben in dieser Komponentenzeile. Da findet ihr z.B. eine Komponente mit dem Namen TButton, da klickt ihr einmal drauf und dann klickt ihr nochmal aufs Formblatt, dann erscheint hier der Button. Den könnt ihr auch in der Größe verändern, kein Problem. Ihr seht auch schon den Objektinspektor, da habt ihr ganz viele Eigenschaften, die ihr bei dem Button verändern könnt. Das könnt ihr selber ausprobieren, alle möglichen Eigenschaften.
Wir wollen hier jetzt mal die Eigenschaft Caption verändern: Das ist dann der Schriftzug, der auf dem Button erscheint. Und dann sehen wir: das ist jetzt das was hier auf dem Button drauf steht. Ich kann natürlich auch die Eigenschaften von meinem Formblatt verändern. Da seht ihr auch wenn ich das Formblatt auswähle, was ich hier für Eigenschaften verändern kann, z.B. auch die Eigenschaft Caption: das ist das was im Titel dann drin steht.
Programmieren
Jetzt soll aber was passieren, wenn ich auf den Button klicke. Aktuell passiert noch nichts. Wir haben noch gar nichts programmiert. Wenn ich das Programm mal starte, auf F9 oder auf diesen kleinen Pfeil hier drücken, … dann ist das Projekt kompiliert, wenn er keine Fehler gemacht habt. Und ihr habt einen Button, passiert aber noch nichts, wenn ich drauf drücke. Das wollen wir jetzt ändern: Um den Button mit einer Funktionalität zu versehen, könnt ihr einmal doppelt drauf klicken. Wenn ihr es richtig gemacht habt, wird von Lazarus automatisch eine Methode erzeugt: die ButtonClick-Methode und dann könnt ihr hier reinschreiben: nach dem Begin und vor dem End – was dann also da genau passieren soll. Mit Begin und mit End wird also ein Anweisungsblock gekennzeichnet und zusammengefasst. Ihr könnt diese ButtonClick-Methode einmal durch das doppelte Klicken auf den Button hier automatisch erzeugen.
Alternativ findet ihr auch bei dem Reiter hier im Objektinspektor verschiedene Ereignisse, die bei dem Button ausgelöst werden können. Wir haben jetzt das Ereignis OnClick und auch hier kann man – wenn man nicht doppelt auf den Button klicken möchte – einmal doppelt hier reinklicken und dann wird auch automatisch diese ButtonClick-Methode erzeugt. Und ich kann hier meinen Programmcode reinschreiben.
‚Hello World!‘
So dann schreiben wir mal unser erstes kleines Programm, und zwar folgende Anweisungszeile: Form1.Caption – wird auch schon vorgeschlagen. Und da soll jetzt ‚Hello World‘ reingeschrieben werden. Und in dieser einen Anweisungszelle steckt auch schon eine Menge drin. Hier links steht das Attribut, was ich verändern möchte. Wir haben ja schon vorhin gesehen, können wir auch noch mal gucken: Form1, das ist mein Formblatt, hat die Eigenschaft Caption, die ich auch verändern kann. Ich spreche also die Komponente Form1 an und mit dem Punkt kann ich dann Attribute bzw. Methoden von dieser Komponente auswählen, in dem Fall das Attribut Caption. Dieses Doppelpunkt-Gleich ist der Zuweisungsoperator, da kann ich also Werte von Attributen verändern. Links steht immer was ich verändern möchte und rechts steht immer was der Wert ist, den ich dann dort reinschreibe.
In dem Fall ist es ein String also eine Zeichenkette – das sieht man daran, dass es in Anführungsstrichen gesetzt ist – und die Entwicklungsumgebung macht das auch schon deutlich, indem das so hellblau unterlegt ist: das ein String. Jede Anweisungszeile wird in Lazarus mit einem Semikolon abgeschlossen. Also grundsätzlich könnt ihr per default schon mal davon ausgehen: jede Anweisungszeile unbedingt mit einem Semikolon abzuschließen.
Mein Programm starten
Wenn ich mit dem Programm einverstanden bin, gehe ich hier auf Start, dann wird das Programm kompiliert – und wenn keine Fehler drin sind, sollte das jetzt funktionieren. Ich klicke auf den Button und im Titel erscheint „Hello World“. Super!
Wir können spaßeshalber ja mal einen Fehler einbauen und den Zuweisungsoperator verändern: statt einem Doppelpunkt-Gleich nur ein ist gleich hinschreiben. Das wäre ein Vergleichsoperator. Wenn ich das versuche auszuführen, kommt ein Fehler: der Compiler meckert: hier das klappt so nicht: Du kannst das nicht vergleichen. Hier steht auch unten die Fehlermeldung drin: illegal expression. Es ist manchmal ein bisschen kryptisch was mit diesem Fehler genau gemeint ist. Das ist dann auch eine Erfahrungssache. In dem Fall zeigt es mir die Zeile an, wo der Fehler ist. Das kann ich hier beheben und dann sollte es wieder funktionieren.
Wie es weitergeht, erfahrt ihr im Video …
… z.B. wie man mit Farben arbeitet oder wie man einen Schneemann zeichnet.
