
In der vorherigen Lektion öffnet die IDE standardmäßig ein Projekt mit leerem Fenster, das Projekt ist aber noch nicht gespeichert. Drücken Sie Strg + S, um das Projekt in einem Ordner abzuspeichern.

Nach dem Speichern sehen Sie die Projektdateien wie oben abgebildet.
backup-Ordner
Automatisches Sicherungsverzeichnis, speichert alte Dateikopien zur Wiederherstellung bei versehentlichem Löschen oder fehlerhafter Bearbeitung.
project1.ico
Programmsymbol, das nach dem Kompilieren im Fenster und auf dem Desktop-Verknüpfung angezeigt wird.
project1.lpi
Projektkonfigurationsdatei: Speichert Kompilierungsparameter, referenzierte Units, Plattformeinstellungen, Abhängigkeitspakete und weitere globale Projekteinstellungen.
project1.lpr
Hauptprogramm-Einstiegsdatei (Hauptquellcode), Startpunkt des Programms, verwaltet alle Formular-Units.
project1.lps
IDE-Sitzungsprotokoll: Speichert zuletzt geöffnete Dateien, Fensterlayout, Cursorpositionen; stellt die Bearbeitungsoberfläche beim Öffnen des Projekts automatisch wieder her.
project1.res
Kompilierte Ressourcen-Binärdatei, bündelt Symbole, Versionsinformationen und weitere eingebettete Ressourcen.
unit1.lfm
Formular-Layoutdatei, speichert Fenstergröße, Koordinaten, Steuerelemente, Titel und weitere visuelle Oberflächeneinstellungen.
unit1.pas
Formular-Logik-Quelldatei, hier schreiben Sie Button-Klick-Ereignisse, Variablen, Funktionen und Geschäftslogik; wird gemeinsam mit der passenden LFM-Datei verwendet.
unit1.pas
Dies ist unsere Pascal-Quelldatei. Genau wie Delphi basiert Lazarus auf der Pascal-Sprache.
- Pascal: Grundlegende Programmiersprache mit übersichtlicher Syntax, unterteilt in Standard-Pascal und objektorientiertes Object Pascal.
- Delphi: Kommerzielle Closed-Source-IDE und Compiler, nutzt Object Pascal, unterstützt nativ nur Windows und enthält die VCL-Oberflächenbibliothek.
- Lazarus: Kostenlose Open-Source-plattformübergreifende IDE auf Basis des Free Pascal-Compilers mit LCL-Komponentenbibliothek. Kompatibel mit Delphi-Syntax, kann Programme für Windows, macOS, Linux und weitere Systeme kompilieren.
Kurz zusammengefasst: Pascal ist die Programmiersprache, Lazarus und Delphi sind zwei unterschiedliche IDE-Entwicklungswerkzeuge.
Hier sehen Sie den Quellcode aus der PAS-Datei:
unit Unit1; // Unit-Dateiname Unit1
{$mode objfpc}{$H+} // Compileranweisung: ObjFPC-Modus + Unterstützung langer Zeichenketten
interface // Schnittstellenbereich: Klassen und Variablen nach außen sichtbar machen
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs; // Einbindung grundlegender Bibliotheken
type
TForm1 = class(TForm) // Hauptfenster-Klasse, erbt von Basisformular
private // Private Mitglieder
public // Öffentliche Mitglieder
end;
var
Form1: TForm1; // Globale Fensterinstanz
implementation // Implementierungsbereich: Hier steht die gesamte Logik
{$R *.lfm} // Bindet die visuelle Formularlayout-Datei Unit1.lfm
end.Code-Sprache: JavaScript (javascript)
*.lfm: Lazarus Formular-Layoutdatei, speichert gezogene Steuerelemente, Fenstergrößen und Eigenschaften;
interface deklariert öffentliche Schnittstellen, implementation enthält die Geschäftslogik;
Die eingebaute Anweisung {$mode objfpc} aktiviert den standardmäßigen objektorientierten Kompilierungsmodus von Free Pascal;
Ein leeres Projekt enthält keine Buttons oder Ereignisse, nur ein minimales Fenstergerüst; Sie können direkt Steuerelemente ziehen, um Funktionen hinzuzufügen.
unit1.lfm
unit1.lfm ist unsere Formular-Layoutdatei
object Form1: TForm1
Left = 915
Height = 240
Top = 237
Width = 320
Caption = 'Form1'
LCLVersion = '4.8.0.0'
end
Code-Sprache: JavaScript (javascript)
Erläuterung der einzelnen Parameter:
object Form1: TForm1 // Objektdefinition: Fensterinstanz vom Typ TForm1
Left = 915 // Linker Abstand des Fensters zum Bildschirmrand: 915 Pixel
Height = 240 // Fensterhöhe: 240 Pixel
Top = 237 // Oberer Abstand des Fensters zum Bildschirmrand: 237 Pixel
Width = 320 // Fensterbreite: 320 Pixel
Caption = ‚Form1‘ // Text der Fenstertitelleiste
LCLVersion = ‚4.8.0.0‘ // Version der LCL-Bibliothek, die dieses Layout erstellt hat
end // Ende der Fensterobjektdefinition
project1.ico
Dies ist eine ICO-Symboldatei, die als Anwendungssymbol verwendet wird.

Sie kann mit jedem Webbrowser geöffnet werden.
project1.lpi
Dies ist ein XML-Dokument.
Die Datei project1.lpi ist die zentrale Projektkonfiguration, gegliedert in drei Hauptblöcke:
1. ProjectOptions Basiseinstellungen des Projekts
<Version Value="12"/>: Formatversion der Konfigurationsdatei 12<PathDelim Value="\\"/>: Windows-Pfadtrennzeichen Backslash
General Allgemeine Projekteinstellungen
SessionStorage=InProjectDir: IDE-Bearbeitungsdaten werden im Projektordner gespeichertTitle=project1: ProjektnameScaled=True: Fenster skaliert automatisch für hochauflösende BildschirmeResourceType=res: Nutzt RES-Ressourcendatei zur Speicherung von SymbolenUseXPManifest=True: Aktiviert moderne Windows-OptikDpiAware=True: Programm unterstützt hohe DPI-Bildschirme, unscharfe Oberflächen werden vermieden
Icon=0: Nutzt das standardmäßige ICO-Symbol des Projekts
BuildModes
Nur das Standard-Kompilierungsprofil Default (hier werden Debug- und Release-Modi unterschieden)
RequiredPackages
Abhängigkeit von der LCL-Grafikkomponentenbibliothek (unverzichtbar für GUI-Programme)
Units Im Projekt enthaltene Dateiliste
project1.lpr: Haupteinstiegspunkt des Programmsunit1.pas: Formular-Unit gebunden an die Form1-Klasse des visuellen Fensters
2. CompilerOptions Compiler-Kompilierungsparameter
- Ausführbarer Dateiname:
project1 - Ausgabeordner für Zwischenkompilierungsdateien:
lib\CPU-System(z. B. lib\x86_64-win64) <GraphicApplication=True>: Markiert das Programm als grafische Windows-GUI-Anwendung, keine Konsolenanwendung
3. Debugging Debug-Einstellungen
Bestimmte Ausnahmen werden ignoriert, sodass der Debugger nicht unterbricht: EAbort, Dateiöffnungsfehler, Toolcode-Fehler usw.
project1.lpr
Diese Datei nutzt ebenfalls die Syntax von Free Pascal (Object Pascal)
// Definiert diese Datei als Haupteinstiegspunkt des Projekts
program project1;
// Compileranweisungen: Aktiviert objektorientierte Syntax und Unterstützung langer Zeichenketten
{$mode objfpc}{$H+}
uses
// Einbindung Thread-Bibliothek für Unix-Systeme (Linux/macOS)
{$IFDEF UNIX}
cthreads,
{$ENDIF}
// Einbindung Thread-Bibliothek für Amiga-Systeme
{$IFDEF HASAMIGA}
athreads,
{$ENDIF}
Interfaces, // Plattformübergreifende unterlagernde Grafikschnittstelle von LCL
Forms, // Basis-Formularframework
Unit1 // Eigene Hauptfenster-Unit
{ you can add units after this }; // Neue Units hier einfügen
{$R *.res} // Lädt die Projektressourcendatei (Symbole, Versionsinformationen)
begin
RequireDerivedFormResource:=True; // Aktiviert das Laden von LFM-Formularlayoutdateien
Application.Scaled:=True; // Automatische Oberflächenskalierung für hochauflösende Bildschirme
{$PUSH}{$WARN 5044 OFF} // Deaktiviert vorübergehend Compiler-Warnung 5044
Application.MainFormOnTaskbar:=True; // Hauptfenster bekommt eigenes Taskleistensymbol
{$POP} // Stellt ursprüngliche Warnungseinstellungen wieder her
Application.Initialize; // Initialisiert die Laufzeitumgebung der GUI-Anwendung
Application.CreateForm(TForm1, Form1); // Erstellt die Instanz des Hauptfensters Form1
Application.Run; // Startet die Fensternachrichtenschleife, wartet auf Benutzerinteraktionen
end.Code-Sprache: PHP (php)
Unterschied zur Erklärung:
- Gewöhnliche
.pas: Unit-Dateien (Formulare oder Funktionsmodule) .lpr: Haupt-Pascal-Projektdatei, Startpunkt des Programms
project1.lps
Lazarus Project Session (Projektsitzungsdatei), kein Pascal-Quellcode
Es handelt sich um reine IDE-Konfigurationsaufzeichnung, speichert den Bearbeitungszustand der letzten Projektsitzung
Beispiele: Geöffnete Code-/Formulardateien, Position und Größe aller Fenster, aufgeteilte Layouts, Cursorpositionen, Breakpoints, Suchverlauf und vieles mehr
.lpr/.pas: Quellcodedateien, zwingend für die Kompilierung erforderlich;
.lps: Nur temporäre Aufzeichnungsdatei für die IDE, hat keinen Einfluss auf die Kompilierung.
project1.res
Kompilierte binäre Ressourcendatei
Wird automatisch generiert aus project1.ico, Programmversionsinformationen und dem Windows-Oberflächenmanifest während der Kompilierung
- Speichert das Software-Symbol, das nach der Kompilierung bei Rechtsklick auf die EXE, in der Taskleiste und auf Desktop-Verknüpfungen angezeigt wird
- Enthält Systemressourceneinstellungen wie Windows-Hochauflösungsunterstützung und XP-Optikstile
Kompilierungsverknüpfung Die Code-Anweisung {$R *.res} bindet diese Ressourcendatei in die fertige EXE ein Eigenschaften
- Kann bedenkenlos gelöscht werden; wird bei der nächsten Projektkompilierung automatisch neu erstellt;
- Nur für Windows-GUI-Programme erforderlich, Konsolenanwendungen erzeugen diese Datei nicht.
Wenn Sie die IDE öffnen, sehen Sie diesen visuellen Designer-Bereich

Dies ist unser visueller Formulareditor, Sie können beliebige Steuerelemente darauf ziehen. Die Arbeitsweise entspricht weitgehend VB, WinForm, WPF, Delphi, Qt und anderen formbasierten Entwicklungswerkzeugen.
Beispiel: Ziehen Sie einen Button auf das Formular

Führen Sie das Projekt erneut aus.

Auf dem Fenster erscheint ein neuer Button.

Im unteren Nachrichtenfenster Messages sehen Sie den Ausgabeordner der erstellten EXE-Datei
Direkt im Projektordner wird eine neue EXE-Datei erzeugt

Diese EXE ist unser fertiges kompiliertes Programm, Sie können es direkt an andere Computer senden und ausführen – es ist eine eigenständige ausführbare Datei ohne zusätzliche Laufzeitabhängigkeiten.
Die Ausführgeschwindigkeit ist extrem hoch…