PS: Es geht auch ohne den String ^^
Dann kann es ja auch wie schon bemerkt Probleme mit dem
[1] geben, wenn du aber damit die Eingabe beschrenken willst, dann doch lieber mit 'ner Abfrage.
Delphi-Quellcode:
var
x: Integer;
begin
if ParamCount = 1 then
x := StrToInt(ParamStr(1))
else
x := 1;
Delphi-Quellcode:
var
x: Integer;
begin
if ParamCount = 1 then begin
x := StrToInt(ParamStr(1))
if (x < 1) or (x > 3) then x := 1; // oder halt 'ne Fehlermeldung...
end else
x := 1;
Wenn du nicht willst, dass dein Programm abstürtzt, wenn mal keine Zahl eingegeben wurde, dann mußt du halt mit StrToIntDef, oder Try/Except arbeiten.
Code:
var
x: Integer;
begin
if ParamCount = 1 then begin
x := StrToInt[color=#ff0000]Def[/color](ParamStr(1)[color=#ff0000], 1[/color])
if (x < 1) or (x > 3) then x := 1; // oder halt 'ne Fehlermeldung...
end else
x := 1;
Code:
var
Anlage: String;
x: Integer;
begin
if ParamCount = 1 then begin
Anlage := ParamStr(1);
end else begin
Anlage := '1';
end;
x := StrToInt[color=#ff0000]Def[/color](Anlage[color=#ff0000], 1[/color]);
if (x < 1) or (x > 3) then x := 1; // oder halt 'ne Fehlermeldung...
wobei du bei Try/Except selber auch mitbekommst, ob ein "Fehler" aufgetreten ist:
Code:
var
Anlage: String;
x: Integer;
begin
if ParamCount = 1 then begin
Anlage := ParamStr(1);
end else begin
Anlage := '1';
end;
[color=#ff0000]try[/color]
x := StrToInt(Anlage);
if (x < 1) or (x > 3) then x := 1; // oder halt 'ne Fehlermeldung...
[color=#ff0000]except
// Wenn du willts, dann kann hier auch 'ne eigenen Fehlerbehandlung rein,
// z.B. eine Meldung an den UIser, dass er/sie einen "falschen" Parameter angegeben hat.
x := 1;
end;[/color]