Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Последовательный доступ

Читайте также:
  1. ECN И ПРЯМОЙ ДОСТУП
  2. nbsp;   Защита проекта от несанкционированного доступа реализуется в модуле Защита проекта.
  3. UART - универсальный последовательный порт
  4. Алгоритм 2.36. Доступ к информации о задаче
  5. Алгоритм 2.37. Доступ к информации о ресурсе
  6. В 1980-е годы наблюдается последовательный и стабильный подъем отрасли. К 1990 году количество коз в СССР достигает 7 миллионов.
  7. Вера – это то, что даёт Богу доступ к человеку.

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

 

Рис. 8.2. Образец последовательного файла

 

Для записи данных в последовательный файл необходимо открыть его в режиме Output или Append. Если файл не существует, Visual Basic автоматически создает его. Если же файл существует, то при его открытии в режиме Output существующие данные стираются, а в режиме Append новые записи добавляются в конец файла. Обычно файлы открываются для дополнения, но иногда они используются для временного хранения данных. В таких случаях вполне допускается уничтожение содержимого файла перед каждым применением. Чтобы прочитать данные из последовательного файла, следует открыть его в режиме Input. Независимо от того, в каком режиме открывается файл — Input, Output или Append, — для операций с ним используется файловый номер (см. далее). Не забывайте закрывать ненужные файлы, вызывая оператор Close с соответствующим файловым номером. Для записи в файл можно воспользоваться оператором Print # (или Write #), а для чтения— Line Input #(a также опеpaтором lnput # или функцией Input).

Ниже приведен фрагмент программы, который создает в каталоге 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 в секцию (General)(Declarations) вашей формы. В результате выполнения этой команды нумерация индексов массива начинается с 1, а не с принятого по умолчанию 0. Следовательно, цикл For...Next должен начинаться со значения 1, а не 0. Функция UBound возвращает максимальный, а функция LBound — минимальный индекс массива. Совместное использование этих функций позволяет определить фактический размер массива. Следующий фрагмент перебирает все элементы одномерного массива:

 

Dim J As Integer

 

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

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

Next J

 


Дата добавления: 2015-07-20; просмотров: 71 | Нарушение авторских прав


Читайте в этой же книге: Цикл For...Next | Пример использования циклов | ПОДСКАЗКА | Строковые переменные | Целые переменные | Логические переменные | Область видимости переменных | Массивы | Константы | Запись и чтениеелюдях. |
<== предыдущая страница | следующая страница ==>
Работа с ASCII-файлами| Произвольный доступ

mybiblioteka.su - 2015-2024 год. (0.006 сек.)