Интерактивное графическое программное обеспечение PC-DMIS (Глава 25: Использование ввода/вывода файла), страница 9

Синтаксис этой команды в окне Edit:

File/Rewind,<fptrname>

<fptrname> / <имя указателя файла>

Это имя указателя файла для установки на начало файла.

Для открытия диалогового окна, ассоциированного с этой командой ввода/вывода файла:

1.  Откройте окно Edit.

2.  Установите курсор на команду Rewind to Start.

3.  Нажмите F9.

Пример кода для Rewind to Start (перемотать на начало)

Изучите этот пример, который считывает данные из внешнего файла по одной строке за раз. После каждой строки, вы имеете опцию начала и чтения с начала файла. Это иллюстрирует использование команды FILE/REWIND.

C1=COMMENT/INPUT,Please type a file to read from.

,(include the full path)

V1=FILE/EXISTS,C1.INPUT

IF/V1<>0

DO/

FPTR=FILE/OPEN,C1.INPUT,READ

C2=COMMENT/YESNO,Do you want to read from the beginning?

IF/C2.INPUT == "YES"

FILE/REWIND,FPTR

END_IF/

V2=FILE/READLINE,FPTR,{LINE}

COMMENT/OPER,"The current line is: " + LINE

UNTIL/V2=="EOF"

END_IF/

FILE/CLOSE,FPTR

COMMENT/OPER,Program quitting.

Пояснение кода

Некоторые части этого кода похожи на описанные в "Примере кода для Read Character" или в "Примере кода для Read Line".

Здесь приводятся пояснения кода, встречающегося только в этом примере.

C2=COMMENT/YESNO Эта строка спрашивает, хотите ли вы начать чтение файла с начала. Она сохраняет ответ YES/NO в переменную C2.INPUT.

IF/C2.INPUT == "YES" Эта строка начинает блок IF / END IF. Она проверяет состояние C2.INPUT, имеющей значение YES. Если условие верно, то PC-DMIS выполняет строки, следующие за оператором IF. Если условие ложно, то PC-DMIS выполняет код, следующий за оператором END_IF.

FILE/REWIND,FPTR Эта строка перемещает указатель файла в начало файла данных.

END_IF/ Эта строка завершает блок кода IF / END IF.

Сохранение текущего положения указателя файла

Пункт меню Utilities | File I / O | Position Commands | Save File Position (утилиты | ввод/вывод файла | команды положения | сохранить положение файла) вставляет в окно Edit команду, сохраняющую текущее положение указателя файла в пределах файла. Сохраненное положение позже можно вызвать, используя команду вызова положения в файле.

Синтаксис этой команды в окне Edit:

File/SavePosition,<fptrname>

<fptrname> / <имя указателя файла>

Это имя указателя файла, положение которого в файле сохраняется.

Для открытия диалогового окна, ассоциированного с этой командой ввода/вывода файла:

1.  Откройте окно Edit.

2.  Установите курсор на команду Save File Position.

3.  Нажмите F9.

Пример кода для Save File Position (сохранение положения в файле)

Изучите этот пример, который читает данные из внешнего файла по одной строке за раз. После каждой строки, у вас есть опция сохранения положения в пределах файла для последующего вызова этого положения. Это иллюстрирует использование команды FILE/SAVE_POSITION.

C1=COMMENT/INPUT,Please type a file to read from.

,(include the full path)

V1=FILE/EXISTS,C1.INPUT

IF/V1<>0

DO/

FPTR=FILE/OPEN,C1.INPUT,READ

C2=COMMENT/YESNO,Do you want to save the file position and recall it later? The loop will quit.

IF/C2.INPUT == "YES"

FILE/SAVE_POSITION,FPTR

GOTO/QUITLOOP

END_IF/

V2=FILE/READLINE,FPTR,{LINE}

COMMENT/OPER,"The current line is: " + LINE

UNTIL/V2=="EOF"

END_IF/

FILE/CLOSE,FPTR

QUITLOOP=LABEL/

COMMENT/OPER,You've stopped reading.

PROGRAM/END

Пояснение кода

Этот код похож на описанный в "Примере кода для Rewind to Start".

Здесь приводятся пояснения кода, встречающегося только в этом примере.

C2=COMMENT/YESNO Эта строка спрашивает, хотите ли вы начать сохранение текущего положения в файле и выйти из цикла. Она сохраняет ответ YES/NO в переменную, C2.INPUT.

FILE/SAVE_POSITION,FPTR Эта строка сохраняет положение указателя файла в пределах этого файла.