
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.89] |
![]() |
|
Сообщ.
#1
,
|
|
|
GNU PASCAL под Win32.
Переключил компилятор GNU в режим ISO 7185 (стандартный Паскаль). Понял, что файлы нужно указывать в заголовке программы. ![]() ![]() program Program1(output); begin writeln('Hellow world'); end. В руководстве Вирта 1982 г и в стандарте ISO 7185:1990 (1989 г.) написано, что формальные параметры в заголовке программы - это имена файловых переменных, которые должны быть описаны в программе. Эти параметры служат для взаимодействия с окружением программы. Через эти параметры могут передаваться локальные файлы (файлы на диске). Способ передачи этих параметров зависит от реализации. Вот есть реализация GNU Pascal. Как в этой реализации передать в параметр программы файл на диске? Сделал так: ![]() ![]() program Program1(f); var f:text; begin writeln(f,'Hellow world'); end. Компилируется, осталось только передать файл в программу. Как? Передача имени файла в командной строке не помогает. |
![]() |
Сообщ.
#2
,
|
|
В любой версии Паскаля есть процедуры reset(f)/rewrite(f), которые предназначены для открытия файла на диске в нужном режиме. В Стандарте 7185 они описаны в 6.6.5.2, на странице 40. А для того, чтобы получить имя файла из ком. строки - GPC поддерживает ParamCount/ParamStr.
|
Сообщ.
#3
,
|
|
|
Цитата volvo877 @ В любой версии Паскаля есть процедуры reset(f)/rewrite(f), которые предназначены для открытия файла на диске в нужном режиме. В Стандарте 7185 они описаны в 6.6.5.2, на странице 40. А для того, чтобы получить имя файла из ком. строки - GPC поддерживает ParamCount/ParamStr. И что я буду делать с именами файлов (строками), в стандартном Паскале? Где ты вычитал, что эти процедуры для файлов на ДИСКЕ? Они работают с файловыми переменными, при чем здесь строковые имена файлов на диске? |
Сообщ.
#4
,
|
|
|
Оказывается если написать так:
![]() ![]() program Program1(f); var f:text; begin rewrite(f); writeln(f,'Hellow world'); end. То после запуска появится строка и курсор ввода: "Output file 'f':". Введя имя существующего фала, запуститься программа и запись будет осуществляться в этот файл. |
![]() |
Сообщ.
#5
,
|
|
Или:
![]() ![]() Volvo@HomePC ~ $ gpc -o test2.exe --classic-pascal test2.pas Volvo@HomePC ~ $ ./test2.exe --gpc-rts=-nf:test.txt , в качестве параметра f будет передано заданное имя файла, в данном случае test.txt |
![]() |
Сообщ.
#6
,
|
|
Хеллоуворлдщики вылезли
![]() Это форум коммерческих программистов, вам не сюда ![]() ![]() ![]() |