Projekt mit
1 €
unterstützen?
So geht das *:


Step 02 - Lazarus-IDE und "Hallo Welt!"

 

Beschreibung der Lazarus-IDE

 


Die Menüleiste.
 Strukturansicht des Formulars ist direkt im "Objektinspektor" eingebettet. Hier kann die Objekthierarchie des Formulars betrachtet und verändert werden. Dies ist z.B. nützlich, wenn man hier das Panel1 löschen, aber die anderen Objekte behalten möchte, dann lohnt sich ein Blick auf die Strukturansicht. Löscht man ohne dies zu beachten, dann werden alle anderen Objekte mitgelöscht.


Eines der wichtigsten Utilities auch bei Lazarus ist der Objektinspektor:

Hier können die Objekte aus der LCL (Lazarus Component Library) ganz einfach verwaltet werden. Eigenschaften sind hier klassisch alphabetisch sortiert.

Eigenschaften sind z.B. der Text oder Titel den ein Objekt hat, das Text anzeigen kann. Dies is, um schonmal was vorwegzunehmen die Eigenschaft Caption vom Typ TCaption oder Text vom Typ TCaption.

Unter Ereignisse befinden sich die Verbindungen zu den Ereignisproceduren. Das am häufigsten verwendete Ereignis ist ohne Zweifel wohl das OnClick-Ereignis. Sobald mit der Maus auf ein Objekt geklickt wurde (Bsp: auf einen Butten) soll etwas ausgeführt werden. Per Doppelklick auf das Ereignis wird automatisch eine Ereignisprcedure erstellt und man wird sofort in die Code-Ansicht (s.u.) gebracht.
Was auch häufig genutzt wird: OnCreate - Die FormCreate-Procedure, wird "beim" Erstellen des Formulars ausgeführt, quasi beim Start des Programmes.

Favoriten: Das gibt es nur bei Lazarus und nicht bei Turbo-Delphi. Hier können Eigenschaften und Ereignisse Favorisiert werden. Ein Objekt mit 100 Eigenschaften wird so durchaus überschaubarer.

Bedingte Eigenschaften lohnt sich auch anzuschauen. Hier können Eigenschaften die eine gewisse Abhängigkeit miteinander haben bearbeitet werden.
Bestes Beispiel: Sichtbarkeit beim Formular. Es macht kein Sinn die Sichtbarkeit auf 128 zu setzen (etwa = 50 %), wenn die Option "AlphaBlend" nicht auf "true" gestellt ist.

 Auch Lazarus hat eine Projektverwaltung, allerdings ist diese nicht gleich sichtbar. Sie heißt "Projektinspektor" und muss erst unter Projekt -> Projektinspektor geöffnet werden. Der Projekinspektor wird bei uns aber keine Rolle spielen, da unsere Projekte recht überschaubar sein werden. Er dient zur Verwaltung der einzelnen Module des Projektes oder einer ganzen Projektgruppe.

Hier ist das Project1 mit der project1.lpr-Projektdatei und seiner Unit unit1.pas vertreten. (Übersicht  über Dateitypen von Delphi siehe eigenes Kapitel später.)

  Auch Lazarus Struktur-ansicht des Codes wird nicht gleich gezeigt und muss erst wenn gewünscht unter Ansicht -> CodeExplorer geöffnet werden.

Ein Datentyp ist in Delphi z.B. eine Klasse bzw. ein definiertes Objekt. "TForm1" würe hier unsere Klasse.

Unter "Variablen" stehen die gerade verfügbaren Variablen bzw. Konstanten, die in der Unit definiert sind und auf die man zugreifen kann.

Bei "Uses" werden alle Module aufgelistet, die im uses-Abschnitt eingetragen wurden.

 Die Tool-Palette in Lazarus ist klassisch noch in im IDE-Hauptfenster integriert. Sie beinhaltet alle Objekte, die per Drag&Drop auf das Formular und somit zum Projekt hinzugefügt werden können.

Man kann also einfach mit Hilfe der Maus die Objekte, die man haben möchte, von hier entnehmen und dann auf dem Formular frei platzieren.

 Vom Formular kann mit F12 zum Quellcode-Editor gewechselt werden (und umgekehrt!). Das Formular ist in etwa ein WYSIWYG-Editor, sodass man mehr Zeit für das wesentliche hat: das Programmieren.
Der Quelltexteditor ist das eigentliche Tool zur Eingabe von Quellcode.

Hier sieht man jetzt den Standartaufbau einer Unit, wenn nur per Drag&Drop einige Objekte eingefügt wurden, genauer: 2 Panels, 2 Buttons, 1 Edit, 1 Label und eine Checkbox. (genaueres zu den einzelnen Objekten, siehe eigenes Kapitel in der Delphi-Übersicht)

Eingeleitet mit "unit unit1;": Hier ist die einzige Stelle, bei der Delphi Casesensitiv ist.  Wenn man hier Unit1 umbenennen will, so muss man dies auch mit dem Dateinamen machen! Lazarus geht da sogar soweit, dass es beim Abspeichern von "Unit1" fragt, ob man nicht doch lieber in kleinbuchstaben abspeichern möchte um einigen Problemen aus dem Weg zu gehen (Beispiel kommt weiter unten).

Dann wird erstmal unterschieden zwischen zwei großen bereichen: dem "interface" und der "implementation":

Wie der Name "interface" schon sagt, befindet sich hier die Information über das Formular und alle Objekte. unter "uses" stehen alle Units oder Module, die geladen werden. z.B. kann man mithilfe von "INIFiles" den Zugriff auf Ini-Dateien einfach regeln. Im "type"-Abschnit werden alle Objekte, die erstellt werden, definiert. Bei unserem Beispiel wird der Typ "TForm1" definiert (Näheres siehe eigenes Kapitel). Hiernach kommen dann die globalen Variablen.

Im "implementation"-Abschnitt befinden sich dann alle Unit-lokalen, für die Implementierung notwendigen Variablen, Konstanten, Methoden, etc. "{$R *.lfm}" ist nicht sonderlich zu beachten. Dies ist eine Compiler-anweisung, und sagt dem Compiler "beim Erstellen einer EXE-Datei" noch beachten muss. Diese Befehle fangen immer mit einem "{$" an und hören mit "}" wieder auf.

 

Hallo Welt

 

  1. Öffne ein neues "Anwendung"-Projekt.
  2. Speichere dieses Projekt in einem neuen Ordner "HalloWelt" und bennene die Dateien wie folgt:
    Das Projekt: hallowelt
    Die Unit: Unit1
    Und dann kommt, was wir aus Turbo-Delphi nicht kennen: Eine Warnmeldung:

    Diese Meldung kann unter Windows igrnoriert werden, da der Free Pascal Compiler damit keine Probleme hat.
  3. Füge von der Toolpalette einen Button auf dein Formular (klick auf "Button" in der Toolpalette, dann auf das Formular, ändere die Größe beliebig)
  4. Der Button ist markiert. Nun gehst du beim Objektinspektor auf "Name" und gibst dort ein: "BtnSagHallo"
    und bei der Eigenschaft "Caption" die Worte "Klick mich"
  5. Klicke beim Objektinspektor auf den Tab "Ereignisse"; doppelklicke nun auf das Ereignis "OnClick" (alternativ hierzu kannst du auch auf den Button doppelklicken.)
  6. Nun solltest du automatisch in die Code-ansicht zu einer frisch erstellten Procedure "procedure TForm1.BtnSagHalloClick(Sender:TObject)...."  gelangt sein.
  7. Der eigentliche Code, der ausgeführt werden soll, wird nun einfach zwischen "begin" und "end" geschrieben:

       ShowMessage('Hallo Welt!');

  8. In der Menüleiste noch auf das grünen "Wiedergabe"-Dreieck klicken, und nach ein bisschen Zeit für die Compilierung sollte das Formular auftauchen.

Insgesammt sollte dein Quelltext so aussehen:

Herzlichen Glückwunsch!

Dein Hallo-Welt-Programm mit Lazarus ist nun fertig! 

 

Einige aufgefallenen Besonderheiten

 

  1. Die Exe-Datei ist groß: 12,9 MB sind recht bemerkenswert für ein Hallo-Welt-Programm.

    Grund hierfür ist der Linker! Aber es gibt Abhilfe:

    Man bekommt es von Haus aus zumindest mal auf 2 MB runter:
    Unter Projekt -> Projekteinstellungen... folgendes aktivieren:

    Und schon haben wir nur noch "2,04 MB (2.144.295 Bytes)" als Exe-Dateigröße.

  2. Falls man bereits mit einer Delphi-IDE unterwegs war, so merkt man schon beim Klick auf den "Run"-Button, dass Lazarus ein bisschen mehr Zeit braucht. Aber darauf werden wir später unter OOP nochmal zurückkommen, wenn wir wirklich größere Projekte erstellt haben.

 

Ich hoffe es hat soweit bei allen funktioniert. Ansonsten bitte hier das Kommentar-Modul nutzen!


Da das Kommentarmodul dieser Seite zur Zeit neu überarbeitet werden muss, sendet bitte alle Fragen, Anregungen oder Probleme mit Betreff zu welchem Thema es sich handelt an folgende Mailadresse:



www.marco-hetzel.de
www.delphi-lernen.de
www.lazarus-lernen.de

© 2006-2019 by Marco Hetzel , last modified 01.11.2018, 11:28

(* Unterstützung dient der Aufrechthaltung laufender Kosten für dieses Projekt.)