Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_2_изд_испр.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.27 Mб
Скачать

Инструкция write

Записывает значения элементов списка данных в одну текстовую строку. Элементы в файле разделяются запятыми, строки заключаются в кавычки, после записи последнего элемента списка данных заносится символ перевод строки.

Формат:

write # <дескриптор>, [<выражение>[, <выражение>]...]

Пример.

write # 5, x+2, i+1

При отсутствии списка данных в файл записывается пустая строка. Инструкцию write рекомендуется использовать, если файл затем будет читаться инструкцией input, поскольку она обеспечивает четкое разделение элементов данных.

Инструкция print

Также записывает значения элементов списка данных в файл. Основное отличие этой инструкции от инструкции write заключается в более широких возможностях расположения элементов данных в файле.

Формат:

print # <дескриптор>, [<список_данных>]

Разделителями элементов списка данных служат символы: ";" и ",". Если разделителем служит символ ";", то элемент данных записывается в файл через пробел от предыдущего. Если разделитель ",", то очередной элемент записывается с начала следующей зоны вывода. Зоны вывода начинаются с позиций 1, 15, 29, ..., т.е. они образуют колонки шириной 14 позиций. Кроме того, список данных может содержать функции tab([n]) и spc(n).

Функция tab([n]) располагает очередной элемент, начиная с n-й позиции от начала строки. Если n < текущей позиции в файле, то элемент располагается с n-й позиции следующей строки. Функция tab без аргумента вставляет значение с начала очередной зоны вывода, т.е. ведет себя аналогично разделителю ",".

Функция spc(n) вставляет между очередными выводимыми значениями n пробелов.

Пример.

print # 5, "Координаты точки:"; x; spc(5); y

Инструкция width

Задает длину текстовой строки в файле.

Формат:

width # <дескриптор>, <длина>

Длина – целое выражение в диапазоне [0 – 255]. Если длина равна 0, то длина строки не ограничена. По умолчанию длина равна 0.

Пример.

width # 6, 70

print # 6, "Вектор – результат"

for i=1 to 10

print #6, x( i ),

next

Содержимое файла будет иметь вид:

Вектор – результат

23 -45 -12 45 0

-6 -67 1 -34 21

Длина файла

Полезными могут оказаться 2 функции, возвращающие длину файла в байтах.

Длина неоткрытого файла: filelen(<путь>).

Длина открытого файла: lof(<дескриптор>).

Функция MsgBox

Эта функция не относится к функциям работы с файлами, но, поскольку необходимо, чтобы программа на языке Basic выдавала на экран информацию о ходе выполнения, она приводится в данном разделе. Функция MsgBox выдает на экран сообщение в диалоговом окне, ожидает нажатие пользователя на одну из кнопок окна и возвращает значение типа integer, равное № нажатой кнопки. Поскольку здесь эта функция нужна лишь для индикации хода выполнения программы, приводится упрощенное обращение к функции MsgBox, которое формирует окно сообщения с одной кнопкой "ОК".

Формат:

MsgBox(<сообщение>, , <заголовок>)

Пример.

MsgBox("Длина последовательности:" & kol, ,"Результат")

Если заголовок отсутствует, то вместо него выводится название приложения. Так как сообщение представляет собой текстовую строку, то при необходимости вывода нескольких значений (возможно числовых) следует применять оператор сцепления строк &.