Читайте также:
|
|
Мы познакомимся с практическим применением списков дисков, каталогов и файлов на примере проекта WinSeek.vbp. Эта программа просматривает текущий каталог текущего диска и ищет в нем файлы по заданному шаблону (например, файлы с расширением.AVI, как показано на рис. 3.15).
1. Загрузите и запустите проект WinSeek, дважды щелкнув на имени файла WinSeek. vbp в подкаталоге \MSDN98\98vs\1033\Samples\VB98\FileCtls\.
Рис. 3.15. Приложение WinSeek
2. Выберите в списке дисков диск С:, если он не выбран по умолчанию.
3. В списке каталогов выберите корневой каталог. Вы должны оказаться в каталоге С:\.
4. В поле Критерий поиска введите шаблон для поиска файлов нужного типа (например, *.AVI). Символ «звездочка» означает, что будут найдены все файлы расширением.AVI.
5. Нажмите кнопку Search и проследите за тем, как WinSeek выводит найденные файлы. Результат поиска будет похож на рис. 3.16.
Рис. 3.16. Результаты выполнения WinSeek
Закончив эксперименты с приложением WinSeek, завершите его командой Run End из меню Visual Basic. Дважды щелкните на форме frmWinSeek, чтобы открыть окно программы. Нас интересуют процедуры Change для списков drvList и dirList. Начнем с процедуры drvList_Change:
Private Sub drvList_Change()
On Error GoTo DriveHandler
dirList.Path - drvList.Drive
Exit Sub
DriveHandler:
drvList.Drive = dirList.Path
Exit Sub
End Sub
Прежде всего, в этом фрагменте бросается в глаза оператор On Error. Из всех трех элементов ошибка с наибольшей вероятностью может возникнуть именно в списке дисков. Причина заключается в том, что пользователь может выбрать флоппи-дисковод, в который не была вставлена дискета, — в этом случае возникает ошибка. Перехватив ее, программа может спокойно продолжить свою работу. Кроме того, обратите внимание на то, что программа инициирует событие Change списка каталогов, изменяя значение свойства Path. Это, в свою очередь, приводит к возникновению события Change в списке файлов. Происходящее отчасти напоминает «принцип домино» — вы инициируете первое событие, оно инициирует следующее, и так далее по цепочке. Как видно из следующего фрагмента, процедура события Change списка каталогов изменяет путь списка файлов.
Private Sub DirList_Change()
' Обновить список файлов в соответствии _
' со списком каталогов
filList.Path = dirList.Path End Sub
Списки дисков, каталогов и файлов почти всегда используются вместе. Тем не менее в отдельных случаях вам может понадобиться лишь один из этих элементов. При совместной работе необходимо включить в процедуру события Change каждого элемента код синхронизации.
Дата добавления: 2015-07-20; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Свойства списков файлов | | | Добавление других элементов на панель |