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

,to (include the complete path).

FPTR=FILE/OPEN,C1.INPUT,WRITE

C2=COMMENT/INPUT,Type something to send to the file.

,This will send the string one character

,at a time.

ASSIGN/COUNT = 0

ASSIGN/LENGTH = LEN(C2.INPUT)

DO/

ASSIGN/WRITETHIS = MID(C2.INPUT,COUNT,1)

FILE/WRITE_CHARACTER,FPTR,WRITETHIS

ASSIGN/COUNT = COUNT + 1

UNTIL/COUNT == LENGTH

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

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

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

FPTR=FILE/OPEN,C1.INPUT,WRITE Эта строка открывает файл, определенной в команде C1, для чтения, и присваивает его указателю файла, FTPR. Все данные в этом файле будут переписаны, поскольку идентификатор файла начинается в начале файла данных.

ASSIGN/COUNT = 0 Эта строка присваивает определяемой пользователем переменной COUNT значение нуля. Она используется для цикла для печати последовательности символов по одному символу.

ASSIGN/LENGTH = LEN(C2.INPUT) Эта строка использует функцию LEN( ) для возврата длины последовательности символов. Эта функция содержит один параметр, последовательность символов. Она подсчитывает число символов в последовательности (включая пробелы) и возвращает целочисленное значение этого количества. В этом случае определяемая пользователем переменная, LENGTH содержит это значение.

DO/ Эта строка начинает цикл DO / UNTIL. Код между операторами DO и UNTIL будет выполняться до тех пор, пока условие цикла будет возвращать значение "истина" (true).

ASSIGN/WRITETHIS = MID(C2.INPUT,COUNT,1) Эта строка создает определяемую пользователем переменную под названием WRITETHIS и использует функцию MID( ) для возврата символа подстроки из строки (последовательности символов) C2.INPUT и передачи его в WRITETHIS. MID( ) имеет три параметра.

·  Параметр 1: является последовательностью символов, из которой берутся значения. В этом случае используется C2.INPUT.

·  Параметр 2: положение в последовательности символов, из которого берется символ. Первый символ в последовательности будет иметь положение 0, второй – положение 1, третий – положение 2 и так далее. В этом случае используется переменная COUNT.

·  Параметр 3: сколько символов захватывается, начиная с положения второго параметра. В этом случае, используется значение 1 (пример записывает только один символ за раз, поэтому нет смысла захватывать больше).

FILE/WRITE_CHARACTER,FPTR,WRITETHIS Эта строка записывает символ, сохраненный в переменной WRITETHIS, в файл, указанный указателем файла, FPTR.

ASSIGN/COUNT = COUNT + 1 Эта строка берет текущее значение COUNT, увеличивает его на один, и затем вводит новое значение в COUNT.

UNTIL/COUNT == LENGTH Эта строка проверяет состояние цикла DO / UNTIL. В этом случае, цикл будет продолжать увеличивать значение переменной COUNT до тех пор, пока она не будет иметь значения, равного переменной LENGTH. Затем будет выполнен выход из цикла, завершающий программу.

Запись строки в файл

Пункт меню Utilities | File I / O | Writing Commands | Write Line (утилиты | ввод/вывод файла | команды записи | записать строку) вставляет в окно Edit команду, которая при выполнении выводит строку текста в файл на диске. Используйте синтаксис выражения для вывода переменных и информации программы детали в файл. Возврат каретки автоматически добавляется к записываемому тексту.

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

File/WriteLine,<fptrname>,<expr>

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

Это имя ссылки на файл, указанной при открытии файла.

<expr> / <выражение>

Это текст, записываемый в файл. В этом поле можно использовать выражения.

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

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

2.  Установите курсор на команду Write Line.

3.  Нажмите F9.

Пример кода Write Line

Предположим, вы хотите экспортировать измеренные значения XYZ в файл данных. Следующий код позволяет вам ввести метку геометрического элемента и файл данных и отправить данные X,Y и Z для этого элемента в файл данных.