Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ как использовать прогу

Автор: blackhard 31.10.2007 3:05

var
i,j,k,L:integer;
s,t:string;
f,g:text;
One:boolean;
begin
if ParamCount<>3 then WriteLn('Use 3 parameters: N infile outfile')
else begin
Val(ParamStr(1),L,i);
Assign(f,ParamStr(2)); Reset(f);
Assign(g,ParamStr(3)); ReWrite(g);

может кто обьяснит по поводу этого куска че такое ParamCount,ParamStr(1),ParamStr(2),ParamStr(3) и как их задать

Автор: КМА 31.10.2007 3:19

У меня написано ParamStr (Indx: word):string; функция, которая возвращает параметр командной строки номер Indx или пустую строку, если Indx больше чем ParamCount или равен нулю. А ParamCount возвращает число параметров командной строки.

Автор: volvo 31.10.2007 3:24

Цитата
че такое ParamCount,ParamStr(1),ParamStr(2),ParamStr(3) и как их задать
Это - параметры командной строки... Если запускаешь программу из оболочки Паскаля - то Run -> Parameters, и через пробел перечисляешь те параметры, которые хочешь передать программе (в твоем случае - одно число и 2 имени файлов). После запуска по ParamStr(1) получишь значение первого параметра, по ParamStr(2) - второго и т.д.

Автор: КМА 31.10.2007 3:26

Если не понятно, то это параметры командной строки, чтобы их задать, нужно типа такого:

# name_your_prog.exe param1 param2 param3.

В данном случае у тебя и получается, что первый парамет это param1, второй param2. Чтобы получить, скажем второй, необходимо использовать ParamStr(2), я так полагаю, что второй и третий у тебя есть имена файлов. А первая строчка твоего кода обозначает, что если параметров не 3, тогда неверный ввод.

Автор: blackhard 31.10.2007 4:19

Цитата(КМА @ 31.10.2007 0:26) *

Если не понятно, то это параметры командной строки, чтобы их задать, нужно типа такого:

# name_your_prog.exe param1 param2 param3.

В данном случае у тебя и получается, что первый парамет это param1, второй param2. Чтобы получить, скажем второй, необходимо использовать ParamStr(2), я так полагаю, что второй и третий у тебя есть имена файлов. А первая строчка твоего кода обозначает, что если параметров не 3, тогда неверный ввод.

спасибо за подсказку может кто еще подскажет как текст из файла вывести на экран smile.gif

Автор: Lapp 31.10.2007 6:12

Цитата(blackhard @ 31.10.2007 1:19) *
как текст из файла вывести на экран
Например, вот так:
while not EoF(f) do begin
while not EoLn(f) do begin
Read(f,s);
Write(s);
end;
ReadLn(f);
WriteLn
end;