Sign in Join
Wiki copytemporary

Console parameters/de: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11│ **Deutsch (de)** │
2-****
32
43Zurück zur [[Console/de|Konsolenseite]].
54
65
7-
8-## Contents
9-
10- * 1 Auswertung der an der Konsole übergebenen Parameter
11- * 2 Hilfedatei
12- * 3 Parameterauswertung
13- * 4 Hauptprogramm
146
157# Auswertung der an der Konsole übergebenen Parameter
168
179Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als **Programm** erstellt wurden.
1810Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.
1911
2012# Hilfedatei
2113
2214Die Hilfedatei:
2315```
2416unit uHilfe;
2517
2618 {$mode objfpc}{$H+}
2719 {$IMPLICITEXCEPTIONS OFF}
2820
2921 interface
3022
3123 procedure subHilfe;
3224
3325 implementation
3426
3527 procedure subHilfe;
3628 begin
3729 // hier steht die Hilfe für die Konsolenausgabe
3830 WriteLn('...');
3931 end;
4032
4133 end.
4234```
4335
4436# Parameterauswertung
4537
4638Beispiel für die Parameterauswertung:
4739```
4840unit uParameter;
4941
5042 {$mode objfpc}{$H+}
5143 {$IMPLICITEXCEPTIONS OFF}
5244
5345 interface
5446
5547 uses
5648 SysUtils;
5749
5850 // hier können noch mehr Funktionen und Prozeduren deklariert werden
5951 function funHatParameter: boolean;
6052 function funHatHilfeParameter: boolean;
6153
6254 implementation
6355
6456 function funHatParameter: boolean;
6557 begin
6658 Result := False;
6759
6860 // Prüft, ob es Parameter jenseits
6961 // von ParamStr(0) gibt
7062 if ParamCount > 0 then
7163 Result := True;
7264 end;
7365
7466
7567
7668 function funHatHilfeParameter: boolean;
7769 var
7870 intI: integer;
7971
8072 begin
8173
8274 // Prüft alle übergebenen Parameter, ob einer von Ihnen die Hilfe aufruft
8375 // ParamStr(0) enthält immer Pfad und Dateiname
8476 for intI := 1 to ParamCount do
8577 begin
8678 // Wandelt den Parameter in Kleinbuchstaben um
8779 case LowerCase(ParamStr(intI)) of
8880 '-?', '--?', '/?':
8981 Result := True;
9082 '-h', '--h', '/h':
9183 Result := True;
9284 '-help', '--help', '/help':
9385 Result := True;
9486 '-hilfe', '--hilfe', '/hilfe':
9587 Result := True;
9688 else
9789 Result := False;
9890 end;
9991 end;
10092
10193 end;
10294
10395 end.
10496```
10597
10698# Hauptprogramm
10799
108100Beispiel für das Hauptprogramm:
109101```
110102...
111103
112104 uses
113105 uParameter, uHilfe, ...;
114106
115107 ...
116108
117109 // Prüft, ob das Programm mit Parametern gestartet wurde
118110 if uParameter.funHatParameter = True then
119111 begin
120112
121113 // Prüft, ob an der Konsole / Terminal die Hilfe angefordert wurde
122114 if uParameter.funHatHilfeParameter = True then
123115 begin
124116
125117 // Gibt die Hilfe aus
126118 uHilfe.subHilfe;
127119
128120 // Beendet das Programm mit dem Rückgabewert 0
129121 // d. h. es sind keine Fehler aufgetreten
130122 Halt(0);
131123 end;
132124
133125 // unter Umständen weitere Prüfungen auf Parameter
134126
135127 ...
136128
137129 else
138130
139131 // Was passiert, wenn das Programm ohne Parameter gestartet wurde
140132
141133 end;
142134
143135 ...
144136```
145137
146138---
147139*From the Free Pascal wiki, page "Console parameters/de", as the Internet Archive kept it on 2025-03-27, last changed on 2020-02-12. 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