Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Робота із списками файлів
Ми познайомимося з практичним застосуванням списків дисків, каталогів і файлів на прикладі проекту WinSeek.vbp. Ця програма переглядає поточний каталог поточного диска і шукає в нім файли за заданим шаблоном (наприклад, файли з розширенням.AVI, як показано на мал. 3.15). 1. Завантажите і Запустіть проект WinSeek, двічі клацнувши на імені файлу WinSeek. vbp в підкаталозі \MSDN98\98vs\1033\Samples\VB98\FileCtls\. 2. Виберіть в списку дисків диск З:, якщо він не вибраний за умовчанням. 3. У списку каталогів виберіть кореневий каталог. Ви повинні опинитися в каталозі З: \. 4. У полі Критерій пошуку введіть шаблон для пошуку файлів потрібного типу (наприклад, *.AVI). Символ «зірочка» означає, що будуть знайдені усі файли розширенням.AVI. 5. Натисніть кнопку Search і простежите за тим, як WinSeek виводить знайдені файли. Результат пошуку буде схожий на мал. 3.16. Закінчивши експерименти з додатком 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 кожного елементу код синхронізації.
|