Lazarus/Technisches

Aus ZUM-Unterrichten

Installation

Lazarus gibt es für die unterschiedlichsten Plattformen/Betriebssysteme. Eine detaillierte Beschreibung der Installationsmöglichkeiten findet sich hier:

http://wiki.freepascal.org/Installing_Lazarus/de

Für Benutzer von Microsoft-Windows-Versionen empfiehlt sich im Allgemeinen, wie hier beschrieben eine Installationsdatei herunterzuladen und auszuführen. Eine Installation von den Quellen ist sehr viel aufwändiger und eher etwas für Spezialisten. Und für die meisten Programmierer auch zunächst nicht sinnvoll.

Ein erstes eigenes Lazarus-Projekt

Vorbereitungen für ein neues Lazarus

Bevor wir mit dem eigentlichen Programmieren loslegen, sollten wir dafür sorgen, dass Lazarus unsere nun folgenden Versuche ordentlich verwaltet. Das hier beschriebene Vorgehen empfiehlt sich auch in Zukunft bei jedem neuen Projekt.

  • Im Menü Projekt | Neues Projekt ... wählen
  • Im nun auftauchenden Fenster den Punkt Anwendung auswählen und mit OK bestätigen.
  • Das Projekt gleich abspeichern, dafür zunächst Projekt | Projekt speichern unter ... wählen.
  • Den Ordner wählen, in dem man seine Lazarus-Projekte abspeichern möchte.
    Auf manchen Netzwerk-Systemen in Schulen kann es zu Schwierigkeiten kommen, wenn man etwa in einem Ordner unter "Eigene Dateien" speichern will. Grund hierfür sind die Kennungen von Netzwerklaufwerken. Häufig sind die Eigenen Dateien aber auch direkt über einen gesonderten Laufwerksbuchstaben, etwa G: erreichbar. Sollte es Probleme geben, nochmal mit dem Informatiklehrer Rücksprache halten.
  • In diesem Ordner einen Unterordner mit dem Namen des Projekts erstellen, z.B. testlazarus. Zumindest bei Windows-Rechnern kann man das direkt mit einem rechten Mausklick im Speichern-Dialogfeld erreichen.
  • In diesen Unterordner wechseln.
  • Die Projektdatei unter dem gleichen Namen wie der Ordner speichern (es kann natürlich auch ein anderer sein, aber das führt zu unnötiger Verwirrung), also im Beispiel wieder testlazarus.
  • Danach fragt der Computer gleich noch einmal, wo er etwas speichern soll. Das ist kein Fehler: zu einem Projekt können eine oder mehrere sogenannte Pascal-Units gehören, und die wollen extra gespeichert werden. Wir speichern sie im gleichen Ordner wie die Projektdatei. Ärgerlicherweise kann man nicht den gleichen Dateinamen verwenden. Wir verwenden einen Trick und hängen hinter den Projektnamen einfach noch ein _main an, im Beispiel also testlazarus_main.

Jetzt hat alles seinen geordneten Platz auf der Festplatte, oder sollte es zumindest haben. Bevor man jetzt zu programmieren anfängt, empfiehlt es sich zu testen, ob Lazarus dieses (noch leere Projekt) kompilieren (d.h. in die Computer-eigene Maschinensprache übersetzen) kann. Wenn das schon nicht funktioniert, muss man erst einmal schauen, woran es liegt (z.B. am oben erwähnten Netzwerk-Laufwerk-Problem).

  • Wir wählen im Menü Start | Start oder drücken die Taste F9, was auf Dauer natürlich etwas praktischer ist.
  • Lazarus übersetzt das (noch leere) Projekt. Am Ende sollte im Fenster "Nachrichten" etwa stehen Projekt "testlazarus" erfolgreich kompiliert.
  • Außerdem sollte auf dem System ein neues Fenster aufgegangen sein, über dem Form1 steht, das aber in der Liste der laufenden Programme (bei Windows meist am unteren Bildschirmrand) wie das Projekt heißt, also z.B. testlazarus.

Erste Programmiertätigkeiten

Wir ziehen eine TButton-Komponente (ein Schaltknopf mit der Beschriftung OK ) auf das Formular. Diese Komponente heißt dann automatisch Button1. Im Objektinspektor kann man die Beschriftung dieses Knopfes ändern. Man ändert den Inhalt im Feld Caption . Nach Beendigung durch die Eingabetaste ändert sich dann auch die Beschriftung des Buttons. Durch Druck der Taste F9 wird das Programm in eine ausführbare Datei übersetzt und diese automatisch gestartet. Man sieht den Knopf auf der Oberfläche kann ihn mit der Maus drücken. Aber es tut sich noch nichts, wenn man auf den Knopf drückt. Man kann das Fenster wie jede normale Windows-Anwendung mit den Kreuzchen am oberen rechten Rand schließen.

Nun möchten wir natürlich auch, dass unser Programm etwas tut – zunächst etwas ganz einfaches: Die Beschriftung des Knopfes soll sich ändern, wenn man ihn anklickt.

Um dies zu programmieren, klickt man doppelt auf den Button. Lazarus fügt selbstständig einen Programmbereich (eine procedure) ein, in der das Verhalten beim Klicken des Buttons festgelegt wird. Wirklich hineinschreiben muss man nur die gelb unterlegte Zeile. Diese sorgt dafür, dass sich die Beschriftung ändert und nun lautet "Du hast mich gedrückt".


Vorlage:Kasten blau

Die Anweisung

Button1.Caption:='Du hast mich gedrückt';

bedeutet folgendes:

Der Knopf Button1 hat die Eigenschaft Caption. Diese Eigenschaft wird jetzt geändert. Dies wird dem Computer über die Zeichen := angedeutet, die einen Pfeil nach links (←) andeuten soll.

Der Text „Du hast mich gedrückt.“ besteht aus einer Folge von Buchstaben. Solche Folgen von Buchstaben, werden als String bezeichnet und durch einfache Anführungszeichen markiert.

Alles, was hinter // steht, ist ein Kommentar, der für den Computer „unsichtbar“ ist und nur Anmerkungen für den Programmierer darstellt.

Um den Programmtext zu speichern, wählt man Datei | Speichern unter ...

Nennen wir den Programmtext knopf_main.pas . Die Endung .pas weist auf die Programmiersprache Pascal hin, die nach dem französischen Mathematiker Blaise Pascal benannt ist. Danach fragt Lazarus noch nach, wie das zugehörige Projekt heißen soll. Wir nennen es knopf.lpi. Der Grund für diese doppelte Speicherung ist, dass ein Lazarus-Projekt mehrere Programmtexte (so genannte units) haben kann, was allerdings erst bei komplizierteren Programm nützlich ist.


Der Programmtext ändert sich beim Speichern. Die erste Zeile heißt jetzt nicht mehr

unit Unit1;

sondern

unit knopf_main;

Verschiedene Datei-Typen in Lazarus

Öffnet man einen Ordner, in dem ein Lazarus-Projekt gespeichert ist, so finden sich darin häufig eine Reihe von Dateien mit unterschiedlichen Endungen. Die (am Anfang) wichtigsten davon sind:

Dateityp Inhalt
.lpi Lazarus-Projekt-Information
Hier sind die wichtigsten Projekteinstellungen (im XML-Format) gespeichert.
.lpr Lazarus-(Haupt-)Programm.
Das Hauptprogramm wird vom System automatisch erstellt und eigentlich vom Programmierer nicht per Hand verändert.
.pas Pascal-Unit.
Die Programmierarbeit wird in den "Untereinheiten" (Units) geleistet.
.lfm Lazarus Formular-Datei
Informationen über das Aussehen von Fenstern, Formular genannt.
Zu jeder .lfm-Datei gibt es typischerweise auch eine .pas-Datei, die die Funktion des Formulars steuert.
.ppu,
.o
Präcompilierte Pascal-Unit und Objekt-Datei.
Der Compiler erzeugt für jede (korrekte) Pascal-Unit bereits eine Übersetzung in Maschinensprache.
.exe Die ausführbare Datei (engl. Executable). Diese ist auch ohne das Vorhandensein von Lazarus auf anderen Rechnern lauffähig.

Wichtig:

  • In einem einzigen Lazarus-Projekt kann es mehrere Units und auch mehrere Formulare geben. Man kennt das aus vielen Anwendungs-Programmen: Neue Fenster öffnen sich, etwa um Dinge anzuzeigen oder eingeben zu lassen.
  • Als Dateinamen sollte man unter keinen Umständen Bezeichnungen nehmen, die in Lazarus Befehle oder andere Bezeichner darstellen. Besonders sicher ist es, wenn man nicht-englische, also z.B. deutsche Namen verwendet. Umlaute jedoch sollte man besser vermeiden.
  • Die Pascal-Units dürfen nicht den gleichen "Vornamen" haben wie das Projekt. Eine Möglichkeit besteht z.B. darin, die Unit des Hauptfensters (also das, das sich beim Programmstart öffnet) wie das Projekt zu nennen, aber mit der Ergänzung "_main". So wurde es im Beispiel gemacht: knopf.lpi und knopf_main.pas

Aufgaben

  1. Ändere das Programm so ab, dass beim Drücken des Knopfes der Button die Beschriftung heißt: „Das kitzelt!“ und führe es aus!
  2. Speichere die so geänderte Unit unter einem anderen Dateinamen ab:
    Datei | Speichern unter ... (kitzel_main.pas).
    Dann speichere das gesamte Projekt ab: Projekt | Projekt speichern unter ... (kitzel.lpi )
  3. Füge weitere Buttons hinzu, die beim Drücken ebenfalls ihre Beschriftung ändern.
  4. Ändere das Programm aus Aufg. 3 so ab, dass das Drücken der Buttons, die Beschriftung anderer Buttons ändern.