ich möchte meinem Programm die Fähigkeit verleihen, auf verschiedene Startparameter unterschiedlich zu reagieren, also z.B. beim Aufruf über „PROGRAMM.EXE /A“ oder „PROGRAMM.EXE /B“ sollen verschiedene Ansichten geladen werden.
Leider habe ich keine Ahnung, wie man so etwas macht.
die Anzahl der Startparameter ermittelst du mit der Funktion ParamCount. Die gibt dir die Anzahl der übergebenen Startparameter zurück. Der Aufruf des Programms in der Form PROGRAMM.EXE /A /B ergibt also 2.
Mit der Funktion ParamStr wertest du die enizelnen Parameter aus.
procedure TForm1.FormCreate(Sender : TObject);
begin
if ParamCount \> 0 then
if UpperCase(ParamStr(1)) = '/A' then
// hier Befehle für Parameter /A
end;
Je nach Art der erwarteten Parameter kann man auch zur Auswertung mit einer Caseanweisung arbeiten.
Der Parameter mit dem Index 0,
Aufruf = ParamStr(0)
Liefert den Namen des Programms einschließlich dem Pfad zurück.
Achte aber darauf, dass Anwender nicht immer die von dir erwarteten Aufrufparameter übergeben. (Manchmal in Groß-, manchmal in Kleinbuchstaben, Mal mit / mal mit -, usw.) Denke also bei deiner Auswertung immer daran, auch falsche Parametern zu behandeln.