Sign in Join
Wiki copytemporary

Console parameters/de: what changed

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

OldNewLine
11│ **Deutsch (de)** │
22****
33
44Zurück zur [[Console/de|Konsolenseite]].
55
66
77
88## Contents
99
1010 * 1 Auswertung der an der Konsole übergebenen Parameter
1111 * 2 Hilfedatei
1212 * 3 Parameterauswertung
1313 * 4 Hauptprogramm
1414
1515# Auswertung der an der Konsole übergebenen Parameter
1616
1717Dieser Artikel handelt von der Parameterauswertung bei Konsole und Terminal. Das Tutorial ist für Projekte gedacht, die unter Lazarus als **Programm** erstellt wurden.
1818Zu besseren Veranschaulichung ist das Tutorial in drei Teile aufgeteilt. Die Hilfedatei, die Parameterauswertung, das Hauptprogramm.
1919
2020# Hilfedatei
2121
2222Die Hilfedatei:
2323```
2424unit uHilfe;
2525
2626 {$mode objfpc}{$H+}
2727 {$IMPLICITEXCEPTIONS OFF}
2828
2929 interface
3030
3131 procedure subHilfe;
3232
3333 implementation
3434
3535 procedure subHilfe;
3636 begin
3737 // hier steht die Hilfe für die Konsolenausgabe
3838 WriteLn('...');
3939 end;
4040
4141 end.
4242```
4343
4444# Parameterauswertung
4545
4646Beispiel für die Parameterauswertung:
4747```
4848unit uParameter;
4949
5050 {$mode objfpc}{$H+}
5151 {$IMPLICITEXCEPTIONS OFF}
5252
5353 interface
5454
5555 uses
5656 SysUtils;
5757
5858 // hier können noch mehr Funktionen und Prozeduren deklariert werden
5959 function funHatParameter: boolean;
6060 function funHatHilfeParameter: boolean;
6161
6262 implementation
6363
6464 function funHatParameter: boolean;
6565 begin
6666 Result := False;
6767
6868 // Prüft, ob es Parameter jenseits
6969 // von ParamStr(0) gibt
7070 if ParamCount > 0 then
7171 Result := True;
7272 end;
7373
7474
7575
7676 function funHatHilfeParameter: boolean;
7777 var
7878 intI: integer;
7979
8080 begin
8181
8282 // Prüft alle übergebenen Parameter, ob einer von Ihnen die Hilfe aufruft
8383 // ParamStr(0) enthält immer Pfad und Dateiname
8484 for intI := 1 to ParamCount do
8585 begin
8686 // Wandelt den Parameter in Kleinbuchstaben um
8787 case LowerCase(ParamStr(intI)) of
8888 '-?', '--?', '/?':
8989 Result := True;
9090 '-h', '--h', '/h':
9191 Result := True;
9292 '-help', '--help', '/help':
9393 Result := True;
9494 '-hilfe', '--hilfe', '/hilfe':
9595 Result := True;
9696 else
9797 Result := False;
9898 end;
9999 end;
100100
101101 end;
102102
103103 end.
104104```
105105
106106# Hauptprogramm
107107
108108Beispiel für das Hauptprogramm:
109109```
110110...
111111
112112 uses
113113 uParameter, uHilfe, ...;
114114
115115 ...
116116
117117 // Prüft, ob das Programm mit Parametern gestartet wurde
118118 if uParameter.funHatParameter = True then
119119 begin
120120
121121 // Prüft, ob an der Konsole / Terminal die Hilfe angefordert wurde
122122 if uParameter.funHatHilfeParameter = True then
123123 begin
124124
125125 // Gibt die Hilfe aus
126126 uHilfe.subHilfe;
127127
128128 // Beendet das Programm mit dem Rückgabewert 0
129129 // d. h. es sind keine Fehler aufgetreten
130130 Halt(0);
131131 end;
132132
133133 // unter Umständen weitere Prüfungen auf Parameter
134134
135135 ...
136136
137137 else
138138
139139 // Was passiert, wenn das Programm ohne Parameter gestartet wurde
140140
141141 end;
142142
143143 ...
144144```
145145
146146---
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).*
147+*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