Примеры операторов работы с файлами

Переход на заданную позицию в файле

Запись данных

Данные в файл последовательного доступа записываются с помощью операторов

Print # и Write #.

Оператор Write # дополнительно автоматически вставляет в файл разделители.

Еще раз. Каждая из функций записи работает в паре с определенной функцией чтения. Для оператора Print # это функция Input или оператор Line Input #, а для оператора Write # – это оператор Input #.

Синтаксис

Print #filenumber, [outputlist]

Write #filenumber, [outputlist]

где filenumber – номер файла,

outputlist – список выражений или переменных для записи.

При выполнении записи данных в файл оператор и Write # автоматически вставляет символ перевода каретки CHR(13) и символ новой строки CHR(10).

Замечание. Write # и Input # лучше применять для файлов бинарных и прямого доступа.

Переход на заданную позицию в файле можно организовать с помощью оператора Seek.

Синтаксис

Seek #filenumber, position

где filenumber – номер файла,

position – целочисленное выражение, задающее позицию указателя в файле. Позиционирование при этом выполняется посимвольно.

Оператор Seek устанавливает указатель на требуемую позицию. Если после этого использовать функции чтения или записи, то действие этих функций будет выполняться, начиная с позиции указателя, найденного оператором Seek.

1. Запись файла с помощью оператора Print #

Dim pathfile As String Private Sub Command1_Click() pathfile = "C:\WINDOWS\Рабочий стол\primer\primer.txt" ‘имя файла Open pathfile For Output As #1 ‘открытие файла на запись Print #1, " Проверка работы с файлами VB " ‘запись в файл For i = 1 To 3 Print #1, i ‘запись в файл Next Close #1 End Sub Запись идет по строкам, если в Print использовать «;» запишется одна строка. Каждый раз при выполнении программы файл будет перезаписываться заново. Если необходимо добавлять записи в файл, нужно открыть его на дозапись Open pathfile For Append As #1 При выполнении программы новые строки будут записываться в конец файла.

2. Чтение файла с помощью функции Input

Private Sub Command2_Click() Open pathfile For Input As #1 ‘открытие файла на чтение len_str = FileLen(pathfile) ‘определение числа символов в файле strfile = Input(len_str, #1) ‘считывание всех символов файла в строку Text2.Text = strfile ‘вывод строки в TextBox Close #1 End Sub

3. Чтение файла с помощью оператора Line Input #

Private Sub Command2_Click() Open pathfile For Input As #1 ‘открытие файла на чтение Do While Not EOF(1) ‘организация цикла на чтение файла до конца Line Input #1, strfile ‘построчное чтение записей из файла в переменную Text2.Text = Text2.Text + strfile + Chr(13) + Chr(10) ‘формирование очередной строки TextBox Loop Close #1 End Sub  
TextBox имеет свойство MultiLine =True

 

 

4. Запись файла с помощью оператора Write #

Dim pathfile As String Private Sub Command1_Click() pathfile = "C:\WINDOWS\Рабочий стол\primer\primer.txt" 'имя файла Open pathfile For Output As #1 'открытие файла на запись Write #1, "Проверка работы с файлами" 'запись в файл For i = 1 To 3 Write #1, "Строка", i 'запись в файл Next Close #1 End Sub

5. Чтение файла с помощью оператора Input #

Private Sub Command2_Click() Open pathfile For Input As #1 Do While Not EOF(1) Input #1, strfile Picture1.Print strfile Loop Close #1 End Sub