[[Vorlage(Getestet, Jammy )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Free Pascal ist eine freie und quelloffene Implementation der [:Programmiersprache:] Pascal. Neben der Verfügbarkeit auf zahlreichen Plattformen und Betriebssystemen werden auch eine ganze Reihe von Komponenten mitgeliefert, die aufgrund der wenig restriktiven [wikipedia:LGPL:GNU LGPL Lizenz] {de} selbst in kommerziellen Produkten frei verwendet werden können. = Installation = Free Pascal befindet sich in den Ubuntu-Paketquellen. Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation fp-compiler, universe [2] }}} Eine Entwicklungsumgebung mit Textoberfläche erhält man nach der Installation des Paketes: {{{#!vorlage Paketinstallation fp-ide, universe }}} = Benutzung = == Hallo Welt == Üblicherweise verwendet man zum Testen und zum Einstieg ein simples Test-Programm, dass lediglich eine kurze Meldung im Terminal ausgibt. Dafür öffnet man einen Editor [3] und fügt folgenden Inhalt ein: {{{#!code pascal program Hallo; begin writeln('Hallo Welt'); end. }}} und speichert die Datei als '''hallo.pas''' ab. Zum Kompilieren (Übersetzen) des Quelltextes wird nun ein Terminal geöffnet [4] und folgender Befehl eingeben: {{{#!vorlage Befehl fpc hallo.pas }}} Das Programm kann man anschließend im Terminal mit folgendem Befehl ausführen: {{{#!vorlage Befehl ./hallo }}} == Entwicklungsumgebung == Entwicklungsumgebungen haben im Vergleich zu einfachen Texteditoren den Vorteil, dass man von ihnen heraus die Programme per Tastendruck übersetzen und ausführen kann, sowie bei Syntaxfehlern sofort passende Fehlermeldungen und Hilfe erhält. [[Bild(Lazarus/Lazarus-HalloWelt-indiziert256.png, 200, right)]] === Lazarus === Wer möchte kann mit einer vollständigen grafischen Oberfläche namens [:Lazarus:] arbeiten. Sie bietet zusätzlich eine visuelle Programmierumgebung mit der mit wenigen Klicks eine grafische Oberflächen erstellt werden kann und erinnert an das kommerzielle [wikipedia:Borland_Delphi:Borland Delphi] {de} für Windows. Die Komponentenbibliothek unterstützt eine ganze Reihe von [:GUI-Toolkits:] und ermöglicht unter anderem die einfache Kontaktaufnahme zu Datenbanken. === Textoberfläche === Um die Free Pascal Entwicklungsumgebung zu starten kann man ein Terminal öffnen [4] und folgenden Befehl eingeben: {{{#!vorlage Befehl fp }}} Man findet sich in einer Textoberfläche wieder, die sich größtenteils mit der Tastatur steuern lässt. Die wichtigsten Abkürzungen laufen über die Funktionstasten oder mit [[Vorlage(Tasten, Alt)]] + den hervorgehobenen Buchstaben. Die Tastenkombinationen des Terminalfensters und der Free Pascal-IDE können sich überschneiden, daher ist es sinnvoll die Tastenkürzel in den Einstellungen der Terminalemulation zu deaktivieren. [[Bild(Bildschirmfoto.png, 200, right)]] Auch hier kann einmal "Hallo Welt" ausprobiert werden. Das Programm lässt sich mit [[Vorlage(Tasten, Alt+C)]] ''-> Compile'' übersetzen und anschließend mit [[Vorlage(Tasten, Alt+R)]] ''-> Run'' ausführen. Vorher wird man noch aufgefordert das Programm zu speichern. Mit [[Vorlage(Tasten, Tab)]], den Pfeiltasten und [[Vorlage(Tasten, Enter)]] kann man sich gegebenfalls durch das Dialogfenster des Speicherdialogs manövrieren. {{{#!vorlage Hinweis Das Programm ''fp'' erstellt in jedem Verzeichnis, aus welchem es heraus aufgerufen wird, drei Dateien (''fp.cfg'', ''fp.dsk'' und ''fp.ini'') falls diese nicht schon bereits vorhanden sind. Dies dient dazu, dass man zu jedem neuen Projekt individuelle Einstellungen in der IDE vornehmen kann. Nachteilig ist jedoch das die Standardwerte mit denen diese drei Dateien erstellt werden sehr rudimentär sind. Z.B. fehlen Angaben zu den Standard Unit-Verzeichnissen und somit führt das Compilieren des zuvor genannten Programmes ''Hallo'' zu der Fehlermeldung: ''[:Free_Pascal/#Can-t-find-unit-system-used-by-Hallo:Can't find unit system used by Hallo]''}}} = Probleme und Lösungen = == Can't find unit system used by Hallo == Wie zuvor beschrieben fehlen oft beim ersten Aufruf der IDE Verweise zu den Standard-Units. Diese kann man in der IDE über [[Vorlage(Tasten, Alt+O)]] ''-> Directories ...'' wie folgt nachtragen bzw. hinzufügen. {{{ /usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget /usr/lib/x86_64-linux-gnu/fpc/$fpcversion/units/$fpctarget/* }}} Nach Bestätigung der Eingabe mit ''OK'' kann das Programm erneut compiliert werden. Näheres hierzu kann man dem [https://wiki.freepascal.org/FPC_message:_Can_not_find_unit#Can.27t_find_unit_System freepascal wiki] {en} entnehmen. = Links = * [https://www.freepascal.org Free Pascal Projektseite] {en} * [wikipedia:Free_Pascal:Wikipedia-Artikel zu Free Pascal] {de} * [https://github.com/Fr0sT-Brutal/awesome-pascal ''awesome-pascal'' - eine aktuelle Liste mit open-source Projekten zu FreePascal bzw. Lazarus-IDE/Delphi.] {en} # tag: Programmierung