Sign in Join
Wiki copytemporary

Console parameters/de: what changed

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

Title: Console parameters/de

OldNewLine
1+│ **Deutsch (de)** │
2+****
3+
4+Zurück zur [[Console/de|Konsolenseite]].
5+
6+
7+
8+## Contents
9+
10+ * 1 Auswertung der an der Konsole übergebenen Parameter
11+ * 2 Hilfedatei
12+ * 3 Parameterauswertung
13+ * 4 Hauptprogramm
14+
15+# Auswertung der an der Konsole übergebenen Parameter
16+
17+Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als **Programm** erstellt wurden.
18+Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.
19+
20+# Hilfedatei
21+
22+Die Hilfedatei:
23+```
24+unit uHilfe;
25+
26+ {$mode objfpc}{$H+}
27+ {$IMPLICITEXCEPTIONS OFF}
28+
29+ interface
30+
31+ procedure subHilfe;
32+
33+ implementation
34+
35+ procedure subHilfe;
36+ begin
37+ // hier steht die Hilfe für die Konsolenausgabe
38+ WriteLn('...');
39+ end;
40+
41+ end.
42+```
43+
44+# Parameterauswertung
45+
46+Beispiel für die Parameterauswertung:
47+```
48+unit uParameter;
49+
50+ {$mode objfpc}{$H+}
51+ {$IMPLICITEXCEPTIONS OFF}
52+
53+ interface
54+
55+ uses
56+ SysUtils;
57+
58+ // hier können noch mehr Funktionen und Prozeduren deklariert werden
59+ function funHatParameter: boolean;
60+ function funHatHilfeParameter: boolean;
61+
62+ implementation
63+
64+ function funHatParameter: boolean;
65+ begin
66+ Result := False;
67+
68+ // Prüft, ob es Parameter jenseits
69+ // von ParamStr(0) gibt
70+ if ParamCount > 0 then
71+ Result := True;
72+ end;
73+
74+
75+
76+ function funHatHilfeParameter: boolean;
77+ var
78+ intI: integer;
79+
80+ begin
81+
82+ // Prüft alle übergebenen Parameter, ob einer von Ihnen die Hilfe aufruft
83+ // ParamStr(0) enthält immer Pfad und Dateiname
84+ for intI := 1 to ParamCount do
85+ begin
86+ // Wandelt den Parameter in Kleinbuchstaben um
87+ case LowerCase(ParamStr(intI)) of
88+ '-?', '--?', '/?':
89+ Result := True;
90+ '-h', '--h', '/h':
91+ Result := True;
92+ '-help', '--help', '/help':
93+ Result := True;
94+ '-hilfe', '--hilfe', '/hilfe':
95+ Result := True;
96+ else
97+ Result := False;
98+ end;
99+ end;
100+
101+ end;
102+
103+ end.
104+```
105+
106+# Hauptprogramm
107+
108+Beispiel für das Hauptprogramm:
109+```
110+...
111+
112+ uses
113+ uParameter, uHilfe, ...;
114+
115+ ...
116+
117+ // Prüft, ob das Programm mit Parametern gestartet wurde
118+ if uParameter.funHatParameter = True then
119+ begin
120+
121+ // Prüft, ob an der Konsole / Terminal die Hilfe angefordert wurde
122+ if uParameter.funHatHilfeParameter = True then
123+ begin
124+
125+ // Gibt die Hilfe aus
126+ uHilfe.subHilfe;
127+
128+ // Beendet das Programm mit dem Rückgabewert 0
129+ // d. h. es sind keine Fehler aufgetreten
130+ Halt(0);
131+ end;
132+
133+ // unter Umständen weitere Prüfungen auf Parameter
134+
135+ ...
136+
137+ else
138+
139+ // Was passiert, wenn das Programm ohne Parameter gestartet wurde
140+
141+ end;
142+
143+ ...
144+```
145+
146+---
147+*From the Free Pascal wiki, page "Console parameters/de", as the Internet Archive kept it on 2025-03-27. 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