Difference between revisions of "InstantFPC/de"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
(20 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{InstantFPC}} | {{InstantFPC}} | ||
− | + | ||
− | |||
− | |||
__TOC__ | __TOC__ | ||
+ | |||
=Überblick= | =Überblick= | ||
− | InstantFPC erlaubt es | + | |
+ | InstantFPC erlaubt es, Pascal Skripte unter Linux, BSD, OS X und Windows auszuführen. | ||
+ | |||
==Unter Linux== | ==Unter Linux== | ||
− | Beispiel für ein | + | |
− | <syntaxhighlight> | + | Beispiel für ein Pascal Skript unter Linux: |
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
#!/usr/bin/env instantfpc | #!/usr/bin/env instantfpc | ||
begin | begin | ||
− | writeln(' | + | writeln('Hallo FPC Programmierer'); |
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Speichern Sie die Datei test.sh und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus. | + | |
− | Beispiel: | + | Speichern Sie die Datei als "test.sh" und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus. |
− | <syntaxhighlight | + | |
+ | Beispiel: | ||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
chmod 755 test.sh | chmod 755 test.sh | ||
./test.sh | ./test.sh | ||
− | + | Hallo FPC Programmierer | |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | + | Sie können dem Pascal Skript Parameter übergeben: | |
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
#!/usr/bin/env instantfpc | #!/usr/bin/env instantfpc | ||
var | var | ||
Line 31: | Line 38: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus. | + | Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus. |
− | <syntaxhighlight lang= | + | |
+ | <syntaxhighlight lang=bash> | ||
chmod 755 test1.sh | chmod 755 test1.sh | ||
./test1.sh A B | ./test1.sh A B | ||
Line 40: | Line 48: | ||
B | B | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
+ | Übung: Wie können Pascal Skripte, welche sich gegenseitig aufrufen, Parameter hinauf- und herabgeben, so wie es mit bash Skripten möglich ist? | ||
+ | |||
== Unter Windows== | == Unter Windows== | ||
− | Beispiel, wie ein Pascalskript aussieht: | + | |
− | <syntaxhighlight> | + | Beispiel, wie ein Pascalskript aussieht: |
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
begin | begin | ||
− | writeln(' | + | writeln('Hallo FPC Programmierer'); |
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Speichern Sie die Datei test.sh und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus. | + | |
− | Beispiel: | + | Speichern Sie die Datei test.sh und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus. |
− | <syntaxhighlight> | + | |
+ | Beispiel: | ||
+ | |||
+ | <syntaxhighlight lang=DOS> | ||
C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test.sh | C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test.sh | ||
− | + | Hallo FPC Programmierer | |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | Selbstverständlich können Sie Ihrem Pascalskript Parameter übergeben. | + | Selbstverständlich können Sie Ihrem Pascalskript Parameter übergeben. |
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
var | var | ||
i: Integer; | i: Integer; | ||
Line 63: | Line 79: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus. | + | Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus. |
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=DOS> | ||
C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test1.sh A B | C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test1.sh A B | ||
A | A | ||
B | B | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
=Download= | =Download= | ||
− | InstantFPC ist im Lieferumfang von Lazarus enthalten. | + | |
− | + | InstantFPC ist im Lieferumfang von Lazarus enthalten. | |
=Die Parameter von InstantFPC= | =Die Parameter von InstantFPC= | ||
Line 84: | Line 100: | ||
*'''--compiler=<Pfad zum Compiler>''' verwendet den Compiler im Pfad. Als Standard wird FPC in $Path bzw. %Path% gesucht. | *'''--compiler=<Pfad zum Compiler>''' verwendet den Compiler im Pfad. Als Standard wird FPC in $Path bzw. %Path% gesucht. | ||
*'''--skip-run''': Do not execute the program. Useful to test if script compiles. Best combined with -B. | *'''--skip-run''': Do not execute the program. Useful to test if script compiles. Best combined with -B. | ||
− | * | + | *Umgebungsvariable '''INSTANTFPCCACHE''': Setzt das Cacheverzeichnis fest. --get-cache kann das Verzeichnis überschreiben. |
− | * | + | *Umgebungsvariable '''INSTANTFPCOPTIONS''': Optionen, die an den Compiler übergeben werden. Diese Optionen werden vor den Parametern übergeben. |
− | |||
=Parameterübergabe an InstantFPC= | =Parameterübergabe an InstantFPC= | ||
− | Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden. | + | |
− | <syntaxhighlight lang= | + | ==Unter Linux== |
+ | |||
+ | Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden. | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
#!/usr/bin/instantfpc -O1 -Ci | #!/usr/bin/instantfpc -O1 -Ci | ||
begin | begin | ||
+ | WriteLn('Hallo'); | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Und / Oder Sie können Compiler-Optionen in der Umgebungsvariable '''INSTANTFPCOPTIONS''' setzen: | + | |
+ | Und / Oder Sie können Compiler-Optionen in der Umgebungsvariable '''INSTANTFPCOPTIONS''' setzen: | ||
+ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
export INSTANTFPCOPTIONS="-Fu~/lazarus/components/codetools/units/x86_64-linux/" | export INSTANTFPCOPTIONS="-Fu~/lazarus/components/codetools/units/x86_64-linux/" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | <syntaxhighlight lang= | + | |
+ | <syntaxhighlight lang=pascal> | ||
#!/usr/bin/instantfpc | #!/usr/bin/instantfpc | ||
uses FileProcs; // Die Unit FileProcs befindet sich im Ordner ../Lazarus/components/codetools | uses FileProcs; // Die Unit FileProcs befindet sich im Ordner ../Lazarus/components/codetools | ||
Line 105: | Line 128: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | <br> | + | |
+ | == Unter Windows == | ||
+ | |||
+ | Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden.<br> | ||
+ | Programmkörper des Pascal Skriptes:<br> | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | begin | ||
+ | WriteLn('Hallo'); | ||
+ | end. | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Temporäres erweitern der Windows-Pfadvariable: | ||
+ | |||
+ | <syntaxhighlight lang=DOS> | ||
+ | SET PATH=%PATH%;C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64 | ||
+ | </syntaxhighlight> | ||
+ | Aufruf des Pascal Skriptes: | ||
+ | |||
+ | <syntaxhighlight lang=DOS> | ||
+ | instantfpc -O1 -Ci test.sh | ||
+ | </syntaxhighlight> | ||
=Beispiel für ein InstantFPC-Skript = | =Beispiel für ein InstantFPC-Skript = | ||
− | Im folgenden Beispiel für Linux liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei '''i18n''' für internationalization). | + | |
− | Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden.< | + | ==Unter Linux== |
+ | |||
+ | Im folgenden Beispiel für Linux liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei '''i18n''' für internationalization). | ||
+ | |||
+ | Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden. | ||
+ | |||
+ | Das Pascalscript speichern Sie unter dem Namen test.sh: | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | #!/usr/bin/env instantfpc | ||
+ | uses | ||
+ | SysUtils; | ||
+ | |||
+ | var | ||
+ | strWord: String; | ||
+ | |||
+ | begin | ||
+ | if ParamStr(1) = '' then | ||
+ | begin | ||
+ | write('Bitte gebe das zu numeronymisierende Wort ein: '); | ||
+ | readln(strWord); | ||
+ | end | ||
+ | else | ||
+ | strWord := ParamStr(1); | ||
+ | |||
+ | if length(strWord) > 2 then | ||
+ | writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)]) | ||
+ | else | ||
+ | writeln('keine Angaben'); | ||
+ | end. | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Geben Sie dem Pascalskript die nötigen Rechte und führen Sie es dann aus: | ||
+ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | + | chmod 755 test.sh | |
+ | ./test.sh | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Unter Windows == | ||
+ | |||
+ | Im folgenden Beispiel für Windows liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei '''i18n''' für internationalization). | ||
+ | |||
+ | Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden. | ||
+ | |||
+ | Das Pascalskript speichern Sie unter dem Namen test.sh: | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
uses | uses | ||
SysUtils; | SysUtils; | ||
Line 130: | Line 219: | ||
writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)]) | writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)]) | ||
else | else | ||
− | writeln(' | + | writeln('keine Angaben'); |
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | < | + | |
+ | Aufruf des Pascalskriptes: | ||
+ | |||
+ | <syntaxhighlight lang="DOS"> | ||
+ | C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc.exe test.sh | ||
+ | </syntaxhighlight> | ||
=InstantFPC mit Lazarus verwenden= | =InstantFPC mit Lazarus verwenden= | ||
− | + | ||
− | ==InstantFPC | + | ==Unter Linux== |
− | Wie man ein Lazarusprojekt mit instantfpc compiliert. | + | |
− | Folgendes wird benötigt: | + | ===InstantFPC mit Lazarus compilieren=== |
− | * Die Hauptdatei des Projektes ist eine InstantFPC Datei. | + | |
− | Einstellungen: | + | Wie man ein Lazarusprojekt mit instantfpc compiliert. |
+ | |||
+ | Folgendes wird benötigt: | ||
+ | |||
+ | * Die Hauptdatei des Projektes ist eine InstantFPC Datei. | ||
+ | |||
+ | Einstellungen: | ||
+ | |||
* Klicken Sie im Lazarus Hauptmenü auf Projekt -> Projekteinstellungen -> Compilereinstellungen -> Kompilierung | * Klicken Sie im Lazarus Hauptmenü auf Projekt -> Projekteinstellungen -> Compilereinstellungen -> Kompilierung | ||
* Entfernen Sie alle Häkchen aus den Zeilen die mit '''Aufruf an:''' beginnen | * Entfernen Sie alle Häkchen aus den Zeilen die mit '''Aufruf an:''' beginnen | ||
* Setzen Sie in der Gruppe '''Vorher ausführen''' in die Zeile die mit '''Befehl''' beginnt folgenden Text ein: | * Setzen Sie in der Gruppe '''Vorher ausführen''' in die Zeile die mit '''Befehl''' beginnt folgenden Text ein: | ||
+ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
instantfpc --skip-run -B -gl "-Fu$(ProjUnitPath)" $Name($(ProjFile)) | instantfpc --skip-run -B -gl "-Fu$(ProjUnitPath)" $Name($(ProjFile)) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
* Setzen Sie in der Zeile '''Nach Meldungen suchen''' bei den Kästchen '''make''' und '''FPC''' die Häkchen. | * Setzen Sie in der Zeile '''Nach Meldungen suchen''' bei den Kästchen '''make''' und '''FPC''' die Häkchen. | ||
− | ==InstantFPC mit Lazarus debugen== | + | ===InstantFPC mit Lazarus debugen=== |
− | + | ||
* Machen Sie die Einstellungen wie im Abschnitt '''InstantFPC mit Lazarus compilieren''' beschrieben. | * Machen Sie die Einstellungen wie im Abschnitt '''InstantFPC mit Lazarus compilieren''' beschrieben. | ||
* Klicken Sie im Hauptmenü auf Start -> Startparameter | * Klicken Sie im Hauptmenü auf Start -> Startparameter | ||
Line 158: | Line 261: | ||
* Geben Sie im Dialog '''Arbeitsverzeichnis''' folgendes ein: | * Geben Sie im Dialog '''Arbeitsverzeichnis''' folgendes ein: | ||
$(ProjPath) | $(ProjPath) | ||
− | |||
− | |||
− | [[ | + | = Siehe auch = |
+ | |||
+ | * [[Console/de|Konsolenseite]] |
Latest revision as of 14:45, 17 February 2020
│
Deutsch (de) │
English (en) │
français (fr) │
Überblick
InstantFPC erlaubt es, Pascal Skripte unter Linux, BSD, OS X und Windows auszuführen.
Unter Linux
Beispiel für ein Pascal Skript unter Linux:
#!/usr/bin/env instantfpc
begin
writeln('Hallo FPC Programmierer');
end.
Speichern Sie die Datei als "test.sh" und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus.
Beispiel:
chmod 755 test.sh
./test.sh
Hallo FPC Programmierer
Sie können dem Pascal Skript Parameter übergeben:
#!/usr/bin/env instantfpc
var
i: Integer;
begin
for i:=0 to ParamCount do writeln(ParamStr(i));
end.
Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus.
chmod 755 test1.sh
./test1.sh A B
/home/testuser/.cache/instantfpc/test1
A
B
Übung: Wie können Pascal Skripte, welche sich gegenseitig aufrufen, Parameter hinauf- und herabgeben, so wie es mit bash Skripten möglich ist?
Unter Windows
Beispiel, wie ein Pascalskript aussieht:
begin
writeln('Hallo FPC Programmierer');
end.
Speichern Sie die Datei test.sh und vergeben Sie Ihr die nötigen Rechte zum Ausführen und führen Sie die Datei dann aus.
Beispiel:
C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test.sh
Hallo FPC Programmierer
Selbstverständlich können Sie Ihrem Pascalskript Parameter übergeben.
var
i: Integer;
begin
for i:=0 to ParamCount do writeln(ParamStr(i));
end.
Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus.
C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test1.sh A B
A
B
Download
InstantFPC ist im Lieferumfang von Lazarus enthalten.
Die Parameter von InstantFPC
- -h: Hilfe
- -v: Ausgabe der aktuellen Version
- --get-cache: gibt das aktuelle Cacheverzeichnis aus
- --set-cache=<directory>: Bestimmt ein Verzeichnis zum Cacheverzeichnis
- -B: Kompiliert bei gültigem Cacheverzeichnis
- --compiler=<Pfad zum Compiler> verwendet den Compiler im Pfad. Als Standard wird FPC in $Path bzw. %Path% gesucht.
- --skip-run: Do not execute the program. Useful to test if script compiles. Best combined with -B.
- Umgebungsvariable INSTANTFPCCACHE: Setzt das Cacheverzeichnis fest. --get-cache kann das Verzeichnis überschreiben.
- Umgebungsvariable INSTANTFPCOPTIONS: Optionen, die an den Compiler übergeben werden. Diese Optionen werden vor den Parametern übergeben.
Parameterübergabe an InstantFPC
Unter Linux
Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden.
#!/usr/bin/instantfpc -O1 -Ci
begin
WriteLn('Hallo');
end.
Und / Oder Sie können Compiler-Optionen in der Umgebungsvariable INSTANTFPCOPTIONS setzen:
export INSTANTFPCOPTIONS="-Fu~/lazarus/components/codetools/units/x86_64-linux/"
#!/usr/bin/instantfpc
uses FileProcs; // Die Unit FileProcs befindet sich im Ordner ../Lazarus/components/codetools
begin
end.
Unter Windows
Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden.
Programmkörper des Pascal Skriptes:
begin
WriteLn('Hallo');
end.
Temporäres erweitern der Windows-Pfadvariable:
SET PATH=%PATH%;C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64
Aufruf des Pascal Skriptes:
instantfpc -O1 -Ci test.sh
Beispiel für ein InstantFPC-Skript
Unter Linux
Im folgenden Beispiel für Linux liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei i18n für internationalization).
Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden.
Das Pascalscript speichern Sie unter dem Namen test.sh:
#!/usr/bin/env instantfpc
uses
SysUtils;
var
strWord: String;
begin
if ParamStr(1) = '' then
begin
write('Bitte gebe das zu numeronymisierende Wort ein: ');
readln(strWord);
end
else
strWord := ParamStr(1);
if length(strWord) > 2 then
writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)])
else
writeln('keine Angaben');
end.
Geben Sie dem Pascalskript die nötigen Rechte und führen Sie es dann aus:
chmod 755 test.sh
./test.sh
Unter Windows
Im folgenden Beispiel für Windows liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei i18n für internationalization).
Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden.
Das Pascalskript speichern Sie unter dem Namen test.sh:
uses
SysUtils;
var
strWord: String;
begin
if ParamStr(1) = '' then
begin
write('Bitte gebe das zu numeronymisierende Wort ein: ');
readln(strWord);
end
else
strWord := ParamStr(1);
if length(strWord) > 2 then
writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)])
else
writeln('keine Angaben');
end.
Aufruf des Pascalskriptes:
C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc.exe test.sh
InstantFPC mit Lazarus verwenden
Unter Linux
InstantFPC mit Lazarus compilieren
Wie man ein Lazarusprojekt mit instantfpc compiliert.
Folgendes wird benötigt:
- Die Hauptdatei des Projektes ist eine InstantFPC Datei.
Einstellungen:
- Klicken Sie im Lazarus Hauptmenü auf Projekt -> Projekteinstellungen -> Compilereinstellungen -> Kompilierung
- Entfernen Sie alle Häkchen aus den Zeilen die mit Aufruf an: beginnen
- Setzen Sie in der Gruppe Vorher ausführen in die Zeile die mit Befehl beginnt folgenden Text ein:
instantfpc --skip-run -B -gl "-Fu$(ProjUnitPath)" $Name($(ProjFile))
- Setzen Sie in der Zeile Nach Meldungen suchen bei den Kästchen make und FPC die Häkchen.
InstantFPC mit Lazarus debugen
- Machen Sie die Einstellungen wie im Abschnitt InstantFPC mit Lazarus compilieren beschrieben.
- Klicken Sie im Hauptmenü auf Start -> Startparameter
- Geben Sie im Dialog Hostapplikation folgendes ein:
$(InstantFPCCache)/$NameOnly($(ProjFile))
- Geben Sie im Dialog Arbeitsverzeichnis folgendes ein:
$(ProjPath)