Sign in Join
Wiki copytemporary

InstantFPC/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: InstantFPC/de

OldNewLine
1+# Überblick
2+
3+InstantFPC erlaubt es, Pascal Skripte unter Linux, BSD, OS X und Windows auszuführen.
4+
5+## Unter Linux
6+
7+Beispiel für ein Pascal Skript unter Linux:
8+
9+``` pascal
10+#!/usr/bin/env instantfpc
11+begin
12+ writeln('Hallo FPC Programmierer');
13+end.
14+```
15+
16+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.
17+
18+Beispiel:
19+
20+``` bash
21+chmod 755 test.sh
22+./test.sh
23+Hallo FPC Programmierer
24+```
25+
26+Sie können dem Pascal Skript Parameter übergeben:
27+
28+``` pascal
29+#!/usr/bin/env instantfpc
30+var
31+ i: Integer;
32+begin
33+ for i:=0 to ParamCount do writeln(ParamStr(i));
34+end.
35+```
36+
37+Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus.
38+
39+``` bash
40+chmod 755 test1.sh
41+./test1.sh A B
42+/home/testuser/.cache/instantfpc/test1
43+A
44+B
45+```
46+
47+Übung: Wie können Pascal Skripte, welche sich gegenseitig aufrufen, Parameter hinauf- und herabgeben, so wie es mit bash Skripten möglich ist?
48+
49+## Unter Windows
50+
51+Beispiel, wie ein Pascalskript aussieht:
52+
53+``` pascal
54+begin
55+ writeln('Hallo FPC Programmierer');
56+end.
57+```
58+
59+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.
60+
61+Beispiel:
62+
63+```DOS
64+C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test.sh
65+Hallo FPC Programmierer
66+```
67+
68+Selbstverständlich können Sie Ihrem Pascalskript Parameter übergeben.
69+
70+``` pascal
71+var
72+ i: Integer;
73+begin
74+ for i:=0 to ParamCount do writeln(ParamStr(i));
75+end.
76+```
77+
78+Speichern Sie die Datei als test1.sh, geben Sie Ihr Rechte zum ausführen und führen Sie das Programm aus.
79+
80+```DOS
81+C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc test1.sh A B
82+A
83+B
84+```
85+
86+# Download
87+
88+InstantFPC ist im Lieferumfang von Lazarus enthalten.
89+
90+# Die Parameter von InstantFPC
91+
92+- **-h**: Hilfe
93+- **-v**: Ausgabe der aktuellen Version
94+- **--get-cache**: gibt das aktuelle Cacheverzeichnis aus
95+- **--set-cache=\<directory\>**: Bestimmt ein Verzeichnis zum Cacheverzeichnis
96+- **-B**: Kompiliert bei gültigem Cacheverzeichnis
97+- **--compiler=\<Pfad zum Compiler\>** verwendet den Compiler im Pfad. Als Standard wird FPC in \$Path bzw. %Path% gesucht.
98+- **--skip-run**: Do not execute the program. Useful to test if script compiles. Best combined with -B.
99+- Umgebungsvariable **INSTANTFPCCACHE**: Setzt das Cacheverzeichnis fest. --get-cache kann das Verzeichnis überschreiben.
100+- Umgebungsvariable **INSTANTFPCOPTIONS**: Optionen, die an den Compiler übergeben werden. Diese Optionen werden vor den Parametern übergeben.
101+
102+# Parameterübergabe an InstantFPC
103+
104+## Unter Linux
105+
106+Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden.
107+
108+``` pascal
109+#!/usr/bin/instantfpc -O1 -Ci
110+begin
111+ WriteLn('Hallo');
112+end.
113+```
114+
115+Und / Oder Sie können Compiler-Optionen in der Umgebungsvariable **INSTANTFPCOPTIONS** setzen:
116+
117+``` bash
118+export INSTANTFPCOPTIONS="-Fu~/lazarus/components/codetools/units/x86_64-linux/"
119+```
120+
121+``` pascal
122+#!/usr/bin/instantfpc
123+uses FileProcs; // Die Unit FileProcs befindet sich im Ordner ../Lazarus/components/codetools
124+begin
125+end.
126+```
127+
128+## Unter Windows
129+
130+Compiler-Parameter können in der Kopfzeile übergeben werden. Hinweis: Den Befehl 'env' können Sie nicht verwenden.\
131+Programmkörper des Pascal Skriptes:\
132+
133+``` pascal
134+begin
135+ WriteLn('Hallo');
136+end.
137+```
138+
139+Temporäres erweitern der Windows-Pfadvariable:
140+
141+```DOS
142+SET PATH=%PATH%;C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64
143+```
144+
145+Aufruf des Pascal Skriptes:
146+
147+```DOS
148+instantfpc -O1 -Ci test.sh
149+```
150+
151+# Beispiel für ein InstantFPC-Skript
152+
153+## Unter Linux
154+
155+Im folgenden Beispiel für Linux liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei **i18n** für internationalization).
156+
157+Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden.
158+
159+Das Pascalscript speichern Sie unter dem Namen test.sh:
160+
161+``` pascal
162+#!/usr/bin/env instantfpc
163+uses
164+ SysUtils;
165+
166+var
167+ strWord: String;
168+
169+begin
170+ if ParamStr(1) = '' then
171+ begin
172+ write('Bitte gebe das zu numeronymisierende Wort ein: ');
173+ readln(strWord);
174+ end
175+ else
176+ strWord := ParamStr(1);
177+
178+ if length(strWord) > 2 then
179+ writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)])
180+ else
181+ writeln('keine Angaben');
182+end.
183+```
184+
185+Geben Sie dem Pascalskript die nötigen Rechte und führen Sie es dann aus:
186+
187+``` bash
188+chmod 755 test.sh
189+./test.sh
190+```
191+
192+## Unter Windows
193+
194+Im folgenden Beispiel für Windows liefert das Skript das Numeronym einer Zeichenfolge (z. B. bei **i18n** für internationalization).
195+
196+Das zu numeronymisierende Wort kann als Parameter oder über einen Dialog eingegeben werden.
197+
198+Das Pascalskript speichern Sie unter dem Namen test.sh:
199+
200+``` pascal
201+uses
202+ SysUtils;
203+
204+var
205+ strWord: String;
206+
207+begin
208+ if ParamStr(1) = '' then
209+ begin
210+ write('Bitte gebe das zu numeronymisierende Wort ein: ');
211+ readln(strWord);
212+ end
213+ else
214+ strWord := ParamStr(1);
215+
216+ if length(strWord) > 2 then
217+ writeln(strWord[1] + IntToStr(length(strWord)-2) + strWord[length(strWord)])
218+ else
219+ writeln('keine Angaben');
220+end.
221+```
222+
223+Aufruf des Pascalskriptes:
224+
225+```DOS
226+C:\Programme\Lazarus\fpc\2.6.2\bin\x86_64-win64\instantfpc.exe test.sh
227+```
228+
229+# InstantFPC mit Lazarus verwenden
230+
231+## Unter Linux
232+
233+### InstantFPC mit Lazarus compilieren
234+
235+Wie man ein Lazarusprojekt mit instantfpc compiliert.
236+
237+Folgendes wird benötigt:
238+
239+- Die Hauptdatei des Projektes ist eine InstantFPC Datei.
240+
241+Einstellungen:
242+
243+- Klicken Sie im Lazarus Hauptmenü auf Projekt -\> Projekteinstellungen -\> Compilereinstellungen -\> Kompilierung
244+- Entfernen Sie alle Häkchen aus den Zeilen die mit **Aufruf an:** beginnen
245+- Setzen Sie in der Gruppe **Vorher ausführen** in die Zeile die mit **Befehl** beginnt folgenden Text ein:
246+
247+``` bash
248+instantfpc --skip-run -B -gl "-Fu$(ProjUnitPath)" $Name($(ProjFile))
249+```
250+
251+- Setzen Sie in der Zeile **Nach Meldungen suchen** bei den Kästchen **make** und **FPC** die Häkchen.
252+
253+### InstantFPC mit Lazarus debugen
254+
255+- Machen Sie die Einstellungen wie im Abschnitt **InstantFPC mit Lazarus compilieren** beschrieben.
256+- Klicken Sie im Hauptmenü auf Start -\> Startparameter
257+- Geben Sie im Dialog **Hostapplikation** folgendes ein:
258+
259+`$(InstantFPCCache)/$NameOnly($(ProjFile))`
260+
261+- Geben Sie im Dialog **Arbeitsverzeichnis** folgendes ein:
262+
263+`$(ProjPath)`
264+
265+# Siehe auch
266+
267+- [[Console/de|Konsolenseite]]
268+
269+---
270+*From the Free Pascal wiki, page "InstantFPC/de", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history