Argumente auf der CLI übergeben

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Yoda
Beiträge: 2
Registriert: Di 19. Jan 2016, 02:34
OS, Lazarus, FPC: Mint + FreeBSD
CPU-Target: 64Bit

Argumente auf der CLI übergeben

Beitrag von Yoda »

Hallo Leute,

ich bin absoluter Pascal-Einsteiger und versuche gerade die für mich wichtigsten Dinge mal mit FreePascal umzusetzen.
Erstes Problem, welches ich jetzt nicht selbst lösen konnte, ist folgendes.

Ich möchte ein Programm schreiben, welchem man Argumente auf der Kommandozeile übergeben kann. Hab leider dazu kein einziges Beispiel im Netz gefunden...

zum Beispiel:

Code: Alles auswählen

 
> Testprogramm A1 B2 C3
  A1
  B2
  C3
 


Wie macht man das?

Gruß

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Argumente auf der CLI übergeben

Beitrag von Christian »

Mit
http://lazarus-ccr.sourceforge.net/docs ... ption.html
http://lazarus-ccr.sourceforge.net/docs ... value.html

damit kannst du wahlweise mit kurzem Parameter übergeben z.b.
-d test
oder langem
--directory=test

und mit GetOptionValue('d','directory') abfragen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

wp_xyz
Beiträge: 4889
Registriert: Fr 8. Apr 2011, 09:01

Re: Argumente auf der CLI übergeben

Beitrag von wp_xyz »

Oder aus der alten Pascal-Schule: Die dem Programm als Parameter übergebenen Strings kann man mit ParamStr(index) abfragen, ihre Anzahl mit ParamCount, wobei sich Index 0 auf den Programmnamen inkl Pfad bezieht.

Dein TestProgramm sollte damit so funktionieren:

Code: Alles auswählen

Program TestProgramm;
var
  i: Integer;
begin
  WriteLn('Das Programm heißt: ', ParamStr(0));
  for i:=1 to ParamCount do
    WriteLn(ParamStr(i));
end.


[EDIT] Habe in dem Beispiel noch Code zum Programmnamen eingefügt.
Zuletzt geändert von wp_xyz am Di 19. Jan 2016, 22:12, insgesamt 1-mal geändert.

Yoda
Beiträge: 2
Registriert: Di 19. Jan 2016, 02:34
OS, Lazarus, FPC: Mint + FreeBSD
CPU-Target: 64Bit

Re: Argumente auf der CLI übergeben

Beitrag von Yoda »

wp_xyz hat geschrieben:Oder aus der alten Pascal-Schule: Die dem Programm als Parameter übergebenen Strings kann man mit ParamStr(index) abfragen, ihre Anzahl mit ParamCount, wobei sich Index 0 auf den Programmnamen inkl Pfad bezieht.

Dein TestProgramm sollte damit so funktionieren:

Code: Alles auswählen

Program TestProgramm;
var
  i: Integer;
begin
  for i:=1 to ParamCount do
    WriteLn(ParamStr(i));
end.


Danke!
Genau das habe ich gesucht. ;-)

Antworten