Работа с файлами
Следующий список, который необходимо инициализировать, — series. В отличие от duration, как было отмечено выше, этот список может изменяться, поэтому мы решили хранить список с названием серий в специальном файле bookseries.ini и забирать информацию для инициализации именно оттуда.
Рис. 22.4. Архитектура файла bookseries.ini
Таким образом, пользователю необходимо лишь добавить название новой серии в данный файл, как сделанные изменения тут же отобразятся в форме. Архитектура файла инициализации показана на рис. 22.4.
Итак, перейдем непосредственно к написанию кода процедуры. Для ввода кода программы опять необходимо перейти в окно редактора кода, для чего выделите форму и нажмите клавишу <F7>.
Программа 22.3. Работа с файлами
Sub Init_Series()
Dim inifile As Integer
Dim srv As String
inifile = FreeFile
iniPath = "C:\bookseries.ini" 'Открываем файл для чтения
Open iniPath For Input As tinifile
Do
Input tinifile, tmp series.Addltem tmp 'Цикл до конца файла
Loop Until EOF(inifile)
series.Listlndex = 0 End Sub
Прокомментируем эту программу. Сначала объявляется переменная inifile, с которой будет отождествлен файл. Далее открывается файл bookseries. ini (хранящийся в корне диска С), после чего в цикле от начала до конца файла считываются построчно значения для списка серий.
Естественно, что и вызов процедуры init_Series необходимо поместить в тело конструктора userForm_initialize, который теперь будет выглядеть следующим образом.
Программа 22.4. Вызов процедуры lnit_Series из конструктора
Private Sub UserForm_Initialize()
Init_Duration
Init_Series End Sub