El Kapitano

Für die Navigation im Quellcode hält Lazarus viele nützliche kleine Hilfen bereit. Zunächst können Sie den Code flexibel mit regulären Ausdrücken durchsuchen und ersetzen. Neben dieser Volltextsuche existiert noch ein Codebrowser, der explizit nur die Namen von Packages, Units und Bezeichnern nach einem Begriff abklappert.

Längere Programme behalten Sie mit dem CodeExplorer-Fenster im Blick. Es führt alle verwendeten Typen, Variablen, Interfaces, Implementierungen und Units übersichtlich in einer Gliederung auf und springt per Mausklick zur entsprechenden Codestelle. Der im CodeExplorer enthaltene Code Observer mahnt auf Wunsch schlechten Programmierstil an, wie etwa falsche Einrückungen oder zu lange und leere Prozeduren. Weitere Fenster zeigen unter anderem die Abhängigkeiten zwischen den Units sowie die bislang angelegten Formulare. Ein eigener FPDoc-Editor hilft bei der Dokumentation des Quellcodes nach FPDoc-Standard.

Lazarus hilft beim Refactoring, indem es Bezeichner im Projekt umbenennt, markierten Quellcode in eine neue Prozedur extrahiert oder Zuweisungen umdreht (aus A := B; würde B := A;). Darüber hinaus kann der Editor automatisch noch nicht implementierte, abstrakte Methoden aufspüren und eine passende, leere Methode erzeugen. Lediglich eine Anbindung an ein Versionierungssystem sucht man vergebens.

Moderne Klassik

Ziehen Sie innerhalb von Lazarus eine Schaltfläche auf ein Formular, erstellt die Entwicklungsumgebung im Hintergrund automatisch ein neues Objekt vom Typ TButton. Die zugehörige Klasse stammt aus der hauseigenen Lazarus Component Library, kurz LCL. Dahinter verbirgt sich eine ganz normale, auch ohne Lazarus nutzbare Klassenbibliothek, deren Units und Klassen die Benutzeroberfläche eines Object-Pascal-Programms erzeugen.

Die LCL zeichnet die einzelnen GUI-Elemente jedoch nicht selbst auf den Bildschirm, sondern greift dazu auf eine klassische Systembibliothek zurück. Auf welche genau, dürfen Sie als Programmierer zur Übersetzungszeit selbst bestimmen. Linux-Nutzer haben die Wahl zwischen Qt, GTK+ oder GTK2, eine eine Unterstützung für das plattformunabhängige Free-Pascal-GUI-Toolkit [2] fpGUI ist derzeit in Arbeit.

Darüber hinaus gibt es die LCL auch für andere Betriebssysteme. Auf Windows und Windows CE nutzt sie direkt die entsprechenden Systemfunktionen, unter Mac OS X dürfen Sie sich derzeit noch zwischen Cocoa und Carbon entscheiden. Abbildung 4 veranschaulicht noch einmal den Aufbau der LCL und das Zusammenspiel der einzelnen Komponenten.

Abbildung 4: Die LCL dient als Schnittstelle zwischen Object-Pascal-Programm und der entsprechenden GUI-Bibliothek der unterstützten Betriebssysteme.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 03/2018 NEUE DISTRIBUTIONEN

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 0 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 2 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...