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

Послідовний доступ

П

ри збереженні або читанні даних в Visual Basic нерідко використовуються послідовні файли. Послідовний файл складається з текстових рядків ASCII - формату (мал. 8.2).

Д

Мал. 8.2. Зразок послідовного файлу.

ля запису даних в послідовний файл необхідно відкрити його в режимі Output або Append. Якщо файл не існує, Visual Basic автоматично створює його. Якщо ж файл існує, то при його відкритті в режимі Output існуючі дані стираються, а в режимі Append нові записи додаються в кінець файлу. Зазвичай файли відкриваються для доповнення, але іноді вони використовуються для тимчасового зберігання даних. У таких випадках цілком допускається знищення утримуваного файлу перед кожним застосуванням. Щоб прочитати дані з послідовного файлу, слід відкрити його в режимі Input. Незалежно від того, в якому режимі відкривається файл - Input, Output або Append, - для операцій з ним використовується файловий номер (см далі). Не забувайте закривати непотрібні файли, викликаючи оператор Close з відповідним файловим номером. Для запису у файл можна скористатися оператором Print # (чи Write #), а для читання - Line Input ##02.

Нижче приведений фрагмент програми, який створює в каталозі C,:\Data файл і записує в нього два рядки:

Dim FileNo As Integer

FileNo = FreeFile

Open "C:\data\test.txt" For Append As FileNo

Print #FileNo, "Джон"

Print #FileNo, "Доу"

Close FileNo

Функція FreeFile повертає вільний файловий номер, який використовуватиметься в операторах Open, Print # і Close. Результати виконання попереднього фрагмента можна проглянути в програмах WordPad або Notepad (мал. 8.3). Щоб файл записувався наново, а не доповнювався (іншими словами, щоб стерти вміст файлу і внести в нього нові дані), слід замінити Output ключовим словом Append.

Мал. 8.3. Перегляд результатів.

При завантаженні збережених даних можна прочитати кожен рядок в масив. Про всяк випадок нагадаю: масивом називається список однорідних величин, на які можна посилатися по імені і індексу. Детальніша інформація про масиви приведена в уроці 7, "Типи даних". У наступному прикладі в масив завантажується вміст файлу C:\Data\test.txt:

Dim FileNo As Integer

Dim GetValues() As String

Dim Counter As Integer

' Ініціалізувати лічильник

Counter = 0

'Отримати унікальний файловий номер

FileNo = FreeFile

‘ Відкрити файл

Open "C:\data\test.txt" For Input As FileNo

Do Until EOF(FileNo)

Counter = Counter + 1

ReDim Preserve GetValues(Counter)

Line Input #FileNo, GetValues(Counter)

Loop

Close FileNo

Функція EOF перевіряє, чи не був досягнутий при читанні кінець файлу. Кінець файлу позначається спеціальним ASCII - символом, який не відображується на екрані і додається у файл при його створенні або доповненні. Коли читання даних буде завершено, можна перебрати величини з масиву GetValues і присвоїти їх значення елементам або вивести на формі:

Dim J As Integer

For J = 0 To UBound(GetValues)

Print GetValues(J)

Next J

Щоб поліпшити роботу цього фрагмента, включите рядок Option Base 1 в секцію(Declarations) вашої форми. В результаті виконання цієї команди нумерація індексів масиву починається з 1, а не з прийнятого за умовчанням 0. Отже, цикл For..Next повинен починатися зі значення 1, а не 0. Функція UBound повертає максимальний, а функція LBound - мінімальний індекс масиву. Спільне використання цих функцій дозволяє визначити фактичний розмір масиву. Наступний фрагмент перебирає усі елементи одновимірного масиву:

Dim J As Integer

For J = LBound(arrayname) To UBound(arrayname)

‘ Ваша програма

Next J

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]