Путь к файлу и параметрам.[Pascal]
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Как ты запускаеш через cmd потом путь к прогу потом текстовику или прогу а в ней путь к текстовику?
Допустим, исполняемый файл находится в директории 'c:\prog' и имеет имя 'prog1.exe'. Программе передается имя файла 'c:\file.txt' и еще два параметра, допустим '10' и '20'. В этом случае командная строка выглядит так:
Код: Выделить всё
c:\prog\prog1.exe c:\file.txt 10 20
Ни что так не ограничивает фантазию программиста, как компилятор...
Пробовал на BP тоже самое переписывает путь к файлу -(
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
а что собственно в исходном файле? "Меня терзают смутные сомнения" (с)

Перед тем как писать посмотри на 1 страницуИгорь Акопян писал(а):а что собственно в исходном файле? "Меня терзают смутные сомнения" (с)
var
fin,fout:text;
data:string;
param1,param2:integer;
c:integer;
begin
Assign(fin,ParamStr(1));
Reset(fin);
Assign(fout,'otvet.txt');
Rewrite(fout);
readln(fin,data);
writeln(fout,data);
Close(fin);
Close(fout);
end
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
Stream, Игорь дело говорит!
Ваш код делает следующее - читает ОДНУ (первую) строчку из файла, который указан в командной строке и записывает её (эту строчку из исходного файла) в файл 'otvet.txt'. Если в исходном файле первой строчкой написано, например, C:\FPC\MyCODE.EXE
то именно эта строчка и попадает в 'otvet.txt'
Так, если уж пошла такая пьянка. то,
1) Ваш код копмилируйте.
2) создайте BAT файл (ну или CMD - если вам так милее, с той командной строчкой, которая у Вас не работает)
3) откомпилированный EXE + исходник программы + (обязательно) ИСХОДНЫЙ файл и (обязательно) командный BAT (или CMD) файл и файл 'otvet.txt'
всё это запаковать и выложить (можно сюда, можно на бесплатный хостинг.)
после этого можно будет предметно разговаривать! точка. я всё сказал.
Ваш код делает следующее - читает ОДНУ (первую) строчку из файла, который указан в командной строке и записывает её (эту строчку из исходного файла) в файл 'otvet.txt'. Если в исходном файле первой строчкой написано, например, C:\FPC\MyCODE.EXE
то именно эта строчка и попадает в 'otvet.txt'
Так, если уж пошла такая пьянка. то,
1) Ваш код копмилируйте.
2) создайте BAT файл (ну или CMD - если вам так милее, с той командной строчкой, которая у Вас не работает)
3) откомпилированный EXE + исходник программы + (обязательно) ИСХОДНЫЙ файл и (обязательно) командный BAT (или CMD) файл и файл 'otvet.txt'
всё это запаковать и выложить (можно сюда, можно на бесплатный хостинг.)
после этого можно будет предметно разговаривать! точка. я всё сказал.
Можете мне просто написать код чтобы по указанию пути к файлу внутренности скопировались в другой файл мне другого и не надо. =)
По идее, в нормальном паскале должен корректно работать и ваш код из первого сообщения, и предложенный мной, но FPC ненормальный - откуда в файле может взяться строка с параметрами я не могу понять.
Ни что так не ограничивает фантазию программиста, как компилятор...
Да откуда угодно. Он мог сам эту строчку там написать. А во-вторых, строчка в исходном файле может появится как результат предыдущей ошибочной программы. Которая по недосмотру записала paramstr(0) в файл fin" писал(а):откуда в файле может взяться строка с параметрами я не могу понять.
It's a long way to the top if you wanna rock'n'roll
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Stream, под исходным я подразумевал не твою прогу, а содержимое файла который будет копироваться
