![]() |
![]() |
![]() |
Для работы с простыми текстовыми файлами в Visual Basic разработан последовательный доступ, который чаще используется, если данные необходимо добавлять только в конце файла и нет необходимости часто вносить изменения. Данные хранятся как символы в коде ANSI. Открыть файл можно в одном из трех режимов:
для ввода текста из файла - чтение - Input;
для вывода текста в файл - запись - Output;
для присоединения текста в конец файла - дозапись - Append.
Приложение, работающее с файлами, для удобства присваивает каждому идентификационный номер, который называется дескриптором файла. Файл можно открыть следующим образом:
Open <имя файла> for Input / Output / Append As <Дескриптор>
[ Leп = < число> ]
Если файл открывается для чтения (Input), то он должен существовать. При попытке открыть несуществующий файл для вывода или добавления в него новых записей оператор позволяет создать файл и открыть его. Необязательный параметр Len задает число знаков (символов) в буфере копирования данных из данных в приложение. После выполнения операций файл нужно закрыть:
Close # < Дескриптор >
Для сохранения данных необходимо открыть файл для вывода или добавления данных и вывести текст с помощью оператора Print:
Print # < Дескриптор > , < Данные >
Данные - это выражение или список выражений
Пример. Открыть файл «с:\ Мои Док\ tl.txt» и записать в него строки, которые содержатся в текстовом поле Text2.
Open   " c: \ Мои Док \ tl.txt"   for Output As #3
Print #3,
Text2.Text
Close #3
Если функция Print стоит в цикле, то каждый вызов приводит к записи одной строки. Для чтения используется:
Line Input - читает построчно и помещает строку в текстовое поле. В этом случае в конце следует добавлять символы, обеспечивающие переход на новую строку:
Line Input # <Дескриптор>, <Строка>.
Open <имя файла> for Input As <Дескриптор>
Пример. Открыть файл и читать последовательно строки:
Dim st As Integer
Open "D:\ UTF\ tt2.txt" for Input As #2
Do While Not
Eof(#2)
Line Input # 2 , st
Text3.Text = Text3.Text + st+ Chr(13) + Chr(10)
Loop
Close #2
Пока не конец файла Eof (# <Дескриптор>) - End of File - вводить строки символов. В текст строки добавлены также символы конца строки. Если необходимо прочитать весь файл сразу, следует воспользоваться функцией Input:
Input (<Число >, # <Дескриптор> ).
Число задает количество байт, которое необходимо прочитать. Например:
Open "D:\ UTF\ tt2.txt" for Input As #2
Text3.Text = Input(LOF ( #2 ), #2 )
Close
#2
В данном примере функция LOF (# <Дескриптор>) - Line of File - возвращает размер открытого файла в байтах. Для операций с последовательным файлом - запись и чтение - можно также использовать оператор Write, однако лучше применять этот оператор для файлов с произвольным и двоичным доступом.
Для открытия файла в режиме дозаписи данных используется оператор
Open <имя файла> for Append As # <Дескриптор>
Строки, которые будут прочитаны в файл, присоединятся к строкам, имеющимся там.
Оператор открывает файл, находит конец файла на диске и записывает в файл.
При обработке большого количества данных следует использовать оператор EOF (# <Дескриптор>).
![]() |
![]() |
![]() |