26. Использование командной строки

Turbo Pascal позволяет передавать информацию в программу при ее запуске через командную строку. Для этого служат две стандартные функции -ParamCount и ParamStr.

FUNCTION ParamCount: Word - возвращает номер последнего заданного при запуске программы параметра. Параметры разделяются в командной строке пробелами.

FUNCTION ParamStr(n:Word): String - возвращает n-й параметр или пус­тую строку, если n>ParamCount. Параметры нумеруются, начиная с 0, причем 0-й параметр - это всегда имя выполняемой программы. Пусть программа былазапущена из DOS командой test.exe 1 abc , тогда функция ParamCount вернет 2, ParamStr(0)='test.exe', ParamStr(1)='1', ParamStr(2)='abc', ParamStr(3)=''. При

отладке программ, использующих командную строку, удобно пользоваться опци­ей Parameters подменю Run. Там вы можете задать все необходимые программе параметры (имя программы задавать не нужно) и отлаживать программу, не вы­ходя в DOS. Напишем программу, которая будет складывать или вычитать два целых числа:

VAR a,b : LongInt; Code : Integer; Plus : Boolean;

BEGIN

IF ParamCount<>3 THEN BEGIN

WRITELN('test.exe <число> <+/-> <число>'); Halt; END; VAL(ParamStr(1),a,Code); IF Code<>0 THEN BEGIN

WRITELN('1-е число задано неверно'); Halt; END; IF ParamStr(2)='+' THEN Plus:=TRUE ELSE IF ParamStr(2)='-' THEN Plus:=FALSE ELSE BEGIN WRITELN('знак задан неверно'); Halt; END; VAL(ParamStr(3),b,Code); IF Code<>0 THEN BEGIN

МГСШШ^('2-е число задано неверно'); Halt; END; IF Plus THEN WRITELN(a,'+',b,'=',a+b) ELSE WRITELN(a,'-',b,'=',a-b);

END.