Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
хороший пример по созданию БД.doc
Скачиваний:
17
Добавлен:
13.05.2015
Размер:
1.02 Mб
Скачать

9. Работа с файлами

9.1. Использование диалогового окна Windows

Для открытия и сохранения файлов в проекте используется стандартное диалоговое окно Windows, которое создается с использованием элементов управления соответственно OpenFileDialog и SaveFileDialog. Нанесем на главную форму с меню (frmMenu) объекты для работы с диалоговыми окнами для открытия и сохранения файлов, можно оставить им те имена, которые им присвоит система (OpenFileDialog1 и SaveFileDialog1), а можем дать другие имена. Заметим, что во время выполнения приложения данные элементы управления не видны.

Окна диалога имеют определенные свойства и методы. Используемые нами в данной реализации свойства и методы для обоих типов объектов совершенно одинаковы, поэтому остановимся на свойствах только одного элемента управления при пояснении кодов процедур обработки событий для открытия и сохранения файлов. Что касается методов, то для обоих элементов будет использован метод ShowDialog() для получения имен диска, папки и файла соответственно для существующего файла и нового, сохраняемого файла.

Приведем фрагмент кода для вызова диалогового окна Windows для открытия и сохранения файлов.

‘ запрос имени файла базы данных

With OpenFileDialog1

.filename = ""

.Filter = "Все файлы (*.*)|*.*|" + _

"текстовые файлы(*.txt)|*.txt|" + _

"файлы исх. данных(*.dan)|*.dan|" + _

"файлы результата (*.rez)|*.rez"

.FilterIndex = 3

‘ метод, используемый для открытия файла

.ShowDalog()

Decl.Path = .filename

End With

В приведенном выше коде используются следующие свойства окна диалога: Filter – для списка возможных типов файлов, показываемых в поле ввода со списком для типа файла; FilterIndex – для вывода в окне для типа файла того типа, который в списке Filter имеет номер, задаваемый свойством FilterIndex. Имя выбранного файла помещается в окно для имени файла, а полное имя файла становится значением свойства FileName. Чтобы не использовать длинные имена, полное имя файла записывается в переменную Path модуля Declar.

При открытии файла появится диалоговое окно (рисунок 6), в котором необходимо выбрать файл, который нужно открыть.

Рисунок 6. Диалоговое окно открытия файла

9.2. Создание файлов базы данных

Создание файлов базы данных выполняется при выборе команды меню «Файл  Создать». Данной команде соответствует процедура обработки события mnuFileNewItem_Click, которая с помощью метода Show должна выводить на экран ту форму, при помощи которой будет производиться ввод новых и редактирование существующих записей данных.

Вначале, для простоты работы с загрузкой новых записей базы данных, основной рабочий файл с данными будем создавать в корневом каталоге какого-либо диска, например, диска «c:» с полным именем «c:\untitled.dan», а после выхода из формы для ввода и редактирования пользователю будет предложено сохранить данные в некотором файле. Для этих целей используем элемент управления «SaveFileDialog1» главной формы frmMenu. При этом фактически будет происходить переименование файла «c:\untitled.dan» и присвоение ему имени, введенного пользователем в окне диалога.

Запишем процедуру обработки события выбора команды меню «Файл  Создать».

Private Sub mnuFileNewItem_Click(ByVal sender As System.Object,_

ByVal e As System.EventArgs) Handles mnuFileNewItem.Click

Dim i As Integer

‘ закрываются все открытые до этого времени файлы

Decl.CloseAllFiles()

' открывается основной файл "c:\untitled.dan"

Decl.Path = PathUntitled

f1 = New FileStream(Decl.Path, FileMode.Create)

' и файл-справочник "c:\untitled.spe"

PathSpec = Mid(Decl.Path, 1, Len(Decl.Path) - 4) +".spe"

F1_sp = New FileStream(Decl.PathSpec, FileMode.Create)

' количество записей в основной таблице базы данных

' равно нулю

N = 0

' инициализация индексного массива Ind, который будет

' использоваться для сортировки данных, и массива Del

' для пометки удаляемых записей

For i = 1 To Nmax

Ind(i) = i

Del(i) = 0

Next i

' основная форма становится неактивной

Me.Enabled = False

' загрузка формы для ввода записей файла frmInputEdit

frmInputEdit.Text = "Файл: " + Decl.Path

frmInputEdit.Show()

frmInputEdit.ShowNewZap() ' пользовательская процедура

' ввода новой записи

End Sub

Поскольку, в данном коде программы участвует новая форма для ввода и редактирования данных, то необходимо добавить ее в проект, выполнив команду «Project/Add Windows Form», и дать новой форме имя frmInputEdit.

Теперь наш проект содержит две формы и нужно указать, какая из них является главной, т.е. запускается первой. Для этого нужно выполнить команду «Project/*имя проекта* Properties…» и в открывшемся диалоговом окне в поле ввода со списком StartUp Form выбрать в качестве стартового объекта форму frmMenu.

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