Курс лекций по V B 5.0Рефераты >> Программирование и компьютеры >> Курс лекций по V B 5.0
1. Определяем тип пользователя
Type StudentRecord
Name As String
Adress As String
End Type
2. Объявляем массив записей типа Student как глобальную переменную
Global StudentAdress( ) As StudentRecord
Sub Proc( )
Dim FileNum As Integer, I As Integer
ReDim StudentAdress(1 to 150)
FileNum = FreeFile
Open “Spisok” For Input As # FileNum
For I=1 to 150
Input #FileNum, StudentAdress(I).Name
Input #FileNum, StudentAdress(I).Adress
Next I
Close FileNume
End Sub
Чтение текстового фала в текст, поле
. . . .
FileNum = FreeFile
Open “My.txt” For Input As FileNum
txtDisplay.Text=Input(LOF (FileNum), FileNum)
Close #FileNum
где LOF(FileNum) размер файла в байтах
Дозапись информации в существующий последовательный файл
При этом строки, которые будут выведены в файл присоединяются к строкам, которые уже содержаться в файле. Для этого служит оператор
Open “имя файла” For Append As # идентификатор файла
При этом:
- VB открывает файл, а если он не существует, то создает и создает соответствующий буфер;
- находит конец файла на диске;
- готовит к записи в конец файла.
Пусть существует текстовый файл My.txt и нужно дописать в его конец строку “До свидания”:
FileNum=FreeFile
Open “My.txt” For Append As FileNum
Print #FileNum, “До свидания”
Close #FileNum
При обработке больших файлов часто необходимо проверять на достижение конца файла. Для этого существует оператор EOF (идентификатор файла).
Фрагмент программы чтения информации из файла, созданного с помощью оператора Print #
. . . . .
B$ = “ ”
FileNum=FreeFile
Open “My.txt” For Input As #FileNum
Do Until EOF(FileNum)
Line Input #FileNum, A$
B$=B$+A$
Loop
txtDisplay.Text=B$
Close #FileNum
Файлы прямого доступа
Напоминают базу данных. Файл состоит из упорядоченных записей одинакового размера. Существует запись, состоящая из полей, в которых содержаться данные. Обеспечивает быстрый поиск информации, но дисковое пространство используется неэффективно.
При создании файла указывается максимальная длина существующей записи. Команда создания файла:
Open “MyLib.dat” For Random As # идентификатор файла
Len = длина записи, можно определять с помощью функции Len (имя переменной записи) в текущем каталоге.
Открытый файл прямого доступа может быть прочитан и записан практически одновременно.
Close # идентификатор файла - закрывает файл.
Каждая запись в файле имеет номер записи. Это позволяет работать с конкретной записью. При описании записи задаются пользовательским типом:
Type Books
Auther As String *30
Title As String *40
End Type
Запись, содержащую пятой записи файла в переменную:
Get #FileNum, 5, NewBook (если NewBook типа Books)
Запись из переменной в сороковую запись файла:
Print #FileNum, 40, NewBook
Созданные типы записей определяют размер файла прямого доступа. Размер файла определяется функцией FileLen (“имя файла”). Размер записи Len(NewBook) в байтах.
Двоичные файлы
Двоичные файлы - частный случай файлов произвольного доступа, однако размер в них равен 1. Вы оперируете байтами и всегда можно записать или прочитать любой байт файла, указав лишь его позицию в файле. В режиме двоичного доступа можно открыть как последовательный файл, так и файл прямого доступа. Можно одновременно и читать, и записывать в файл.
Имеются следующие операторы:
Открытие - Open “имя файла” For Binary As #FileNum
Запись в файл - Put #FileNum, № байта в файле, имя переменной для записи в файл
Чтение из файла - Get #FileNum, № байта в файле, имя переменной для записи в файл.
Доступ к данным в VB
VB предоставляет средства доступа к данным, которые дают возможность создавать и использовать системы БД, управляющих данными приложения.
VB позволяет обращаться к базам данных многих популярных форматов: MS Access, Btrieve, dBase, FoxPro, Paradox, а также базам данных ODBS систем клиент-сервер, таким как MS SQL Server.
В стандартной редакции VB инструменты работы с данными включают:
а) процессор БД Microsoft Jet;
б) элемент управления Data;
в) объектный интерфейс программирования Dao (Data Access Objects).
Два последних инструмента обеспечивают два методв взаимодействия с процессором Jet.
Элемент управления Data дает ограниченные возможности обращения к существующим базам данных практически без программирования. Модель DAO - программный интерфейс, обеспечивающий полный контроль над БД. Это коллекция объектных классов, которые моделируют структуру реляционной БД. Они обеспечивают свойства и методы, которые позволяют выполнять все операции с БД, такие как создание БД, определение таблиц, полей и индексов, установление отношений между таблицами, запросы в базах данных.
Процессор Jet транслирует эти операции в процессе выполнения. Он транслирует запросы приложения в физические операции по обработке файлов БД. Он читает, записывает и изменяет базу данных, выполняет индексацию, блокировку, защиту. Он также принимает запросы SQL, в соответствии с которыми выполняет требуемые действия в базе данных, и обрабатывает результаты, возвращаемые запросами.
Хранилище данных - это файл или файлы, непосредственно создание таблицы БД. Для внутренней БД VB или MS Access - это файл формата .mdb. Для других баз это может быть каталог, содержащий файлы .dbf.
Архитектура доступа к данным в VB
Схема доступа к данным в приложении VB
пользователь |
интерфейс |
процессор БД |
хранилище данных |
Процессор БД располагается между прикладной программой и физическими файлами БД. Этим определяется независимость приложения от типа БД, к которой происходит обращение. Вне зависимости от формата БД в приложении используются одни и те же объекты доступа к данных и методы программирования.
Управление пользовательским интерфейсом осуществляется кодом VB, который манипулирует объектами и методами доступа к данным и запрашивает услуги БД, например, добавление или удаление записей или выполнение запросов. Запросы услуг адресуются не файлу БД, а процессору Jet, который выполняет запрошенные операции по обработке данных и возвращает результаты приложению.
Процессор БД Jet реализован в виде набора файлов динамических библиотек .dll, которые связываются с приложением VB в процессе выполнения Dao в физические операции непосредственно с файлами БД данного формата.