|
11.1.7 Das Paket Command_Line
Das Paket Command_Line dient dem Zugriff auf die Kommandozeilenparameter des Programms
und dem Setzen eines Programmendestatus.
Typen und Variablen des Paketes Command_Line
Der Typ Exit_Status ist ein implementierungsabhängiger Integer-Typ, der den
möglichen Bereich für Programmendestati angibt.
Success : constant Exit_Status;
|
Die Konstante Success enthält den Wert, den Programme standardmäßig
zurückgeben sollten, wenn während des Programmablaufs kein Fehler aufgetreten
ist.
Failure : constant Exit_Status;
|
Die Konstante Failure enthält den Wert, den Programme standardmäßig
zurückgeben sollten, wenn der Programmablauf durch einen Fehler unterbrochen
wurde.
Unterprogramme des Paketes Command_Line
function Argument_Count return Natural;
|
Die Funktion Argument_Count liefert die Anzahl der an das Programm übergebenen
Parameter,
wenn die Parameterübergabe durch die Implementierung unterstützt
wird, ansonsten 0.
function Argument (Number : in Positive) return String;
|
Liefert den Parameter an Position "Number". Der erste Parameter hat
die Nummer 1. Wenn der Wert von "Number" außerhalb der Bereichs von
1 bis Argument_Count
liegt, wird die Ausnahme Constraint_Error ausgelöst.
function Command_Name return String;
|
Liefert den Namen der beim Programmaufruf angegeben wurde. Der Name des Programms
ist
implementierungsabhängig (sowohl von der Ada-Implementierung als auch
von der des Betriebssystems). Wenn die Parameterübergabe nicht unterstützt
wird,
wird eine leere
Zeichenkette zurückgegeben.
procedure Set_Exit_Status (Code : in Exit_Status);
|
Wenn die Programmumgebung das Zurückgeben eines Programmendestatus unterstützt,
kann dieser mit der Prozedur Set_Exit_Status gesetzt werden. Wenn kein Status
gesetzt wurde, wird automatisch der Wert der Konstante Success übergeben.
Wenn ein
Programm nicht normal beendet wird, wird der von Set_Exit_Status gesetzte Wert
ignoriert
und ein implementierungsabhängiger Wert zurückgegeben. Wenn die Implementierung
das Setzen des Status nicht erlaubt, hat die Prozedur keine Auswirkungen...
Beispiel zu Ada.Command_Line:
with Ada.Text_IO;
with Ada.Command_Line;
procedure Com_Line is
begin
Ada.Text_IO.Put_Line ("Aufgerufen wurde: "
& Ada.Command_Line.Command_Name);
Ada.Text_IO.Put_Line ("Es wurden " &
Integer'Image (Ada.Command_Line.Argument_Count) &" Parameter
angegeben");
if Ada.Command_Line.Argument_Count > 0 then
Ada.Text_IO.Put_Line ("Die
Parameter sind:");
for I in 1..Ada.Command_Line.Argument_Count
loop
Ada.Text_IO.Put_Line
(Ada.Command_Line.Argument (I) );
end loop;
end if;
end Com_Line; |
Spezifikation
des Paketes "Ada.Command_Line"
|