Шаг 16 - Чтение и запись текстовых файлов

Наверно можно смело утверждать, что умение читать и записывать информацию в текстовый файл это основа импорта и экспорта:-) Практически любая серьезная программа хранящая информацию позволяет сохранить её в текстовом формате, какое бы он расширение не имел. Открываются файлы командой Open.

Sub Test()

Open "c:\1.txt" For Input As #1

Close #1

End Sub

Команда Open может открывать для чтения Input и для записи Output. Цифра после as это идентификатор файла. На основании его производится чтение и запись файла.

Следующий пример демонстрирует запись и чтение файла

Sub Test()

Open "c:\1.txt" For Output As #1

Print #1, "Hello File"

Close #1

Open "c:\1.txt" For Input As #1

Dim s As String

Input #1, s

MsgBox s

Close #1

End Sub

Как видите, для записи можно использовать Print, а для чтения Input воспользовавшись идентификатором открытого файла. Естественно здесь свои тонкости работы. Вот, если Вы запишите такую строку:

......

Print #1, "Hello, File"

......

То оператор Input #1 прочитает только Hello и все. Запятая воспринимается как разделитеть. И это правильно. Есть форматы текстовых файлов когда числа разделены запятой. В коде ниже:

......

Input #1, s

MsgBox s

Input #1, s

MsgBox s

.....

Последовательно выведутся надписи Hello и File, но с этим можно бороться оператором Line Input.

Sub Test()

Open "c:\1.txt" For Output As #1

Print #1, "Hello, File"

Close #1

Open "c:\1.txt" For Input As #1

Dim s As String

Line Input #1, s

MsgBox s

Close #1

End Sub

Этот код прочитает строку целиком. Следом возникает важный вопрос, а как узнать конец файла? Для этого есть функция EOF(идентификатор), которая позволяет вам определить конец файла.

Sub Test()

Open "c:\1.txt" For Output As #1

Print #1, "Hello, File"

Close #1

Open "c:\1.txt" For Input As #1

Dim s As String

While Not EOF(1)

Input #1, s

MsgBox s

Wend

Close #1

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: