назад | содержание | вперед Работа с устройствами и папками С помощью FSO можно получить полную информацию об устройствах, используя свойства объектов класса Drive системы FSO. Для изучения свойств класса Drive создадим небольшое приложение, собирающее информацию об устройствах. Выполните следующие действия: 1. Создайте новый стандартный проект. Для этого в меню File (Файл) выберите команду New Project (Создать новый проект) и в окне выбора типа проекта дважды щелкните мышью на значке Standard EXE. 2. Присвойте проекту имя MyFSO. Для этого откройте окно свойств проекта, выбрав команду Project1 Properties (Свойства Project 1) меню Project (Проект). 3. Присвойте форме проекта имя frmFormAboutDrive. В свойство Caption формы введите заголовок Сведения об устройстве. 4. Разместите в форме объект типа DriveListBox, дважды нажав кнопку DriveListBox на панели элементов управления. Используя свойство Name, присвойте объекту имя drvSelectDrive. 5. Добавьте в форму элемент управления типа commandButton. Назовите созданную кнопку cbStart. Созданное приложение показано рис. 9.11.
Рис. 9.11. Приложение для изучения свойств класса Drive 6. Откройте окно редактора и введите приведенный ниже код: Private Sub GetInfoAboutDrive() Dim NewFSO As New FileSystemObject, Driver As Drive Dim sInfoDrv(l To 4) As String, sSayAboutInfo As String Set Driver = New FSO.GetDrive(NewFSO.GetDriveName(drvSelectDrive.Drive)) If Driver.IsReady = True Then sInfoDrv(l) = Driver.SerialNumber sInfoDrv(2) = Driver.TotalSize / 1048576 sInfoDrv(3) = Driver.FreeSpace / 1048576 sInfoDrv(4) = Driver.FileSystem sSayAboutInfo = "№ " + sInfoDrv(1) + Chr(10) sSayAboutInfo = sSayAboutInfo + "Всего: " + s!nfoDrv(2) + _ " МБайт" + Chr(10) sSayAboutInfo = sSayAboutInfo + "Свободно: " + slnfo0rv(3) + _ " МБайт " + Chr(10) sSayAboutInfo = sSayAboutInfo + "Файловая система: " + _ sInfoDrv(4) + Chr(10) Else sSayAboutInfo = "Устройство не готово" + Chr(10) End If 'Вывод в окно Immediate Debug.Print sSayAboutInfo 'Вывод в окно сообщения MsgBox sSayAboutInfo,, "Сведения об устройстве" End Sub Private Sub cbStart_Click () GetInfoAboutDrive End Sub 7. Запустите приложение на выполнение. При нажатии кнопки, расположенной в форме, в окно сообщения выдаются сведения о выбранном устройстве. Одновременно информация выдается в окно Immediate (Непосредственное выполнение).
При работе с папками можно выполнять следующие действия:
Для работы с папками используются объекты двух классов: Folder или FileSystemObject. Рассмотрим работу с папками на примере небольшого приложения. Выполните следующие действия: 1. Создайте новый стандартный проект. Для этого в меню File (Файл) выберите команду New Project (Создать новый проект) и в окне выбора типа проекта дважды щелкните мышью на значке Standard EXE. 2. Присвойте проекту имя MyFSOAndFolder. Для этого откройте окно свойств проекта, выбрав команду Projecti Properties (Свойства Project!) меню Project (Проект). 3. Присвойте форме проекта имя frmFormFolder. В свойство caption формы введите заголовок Работа с папками. 4. Разместите в форме объект типа DriveListBox, дважды щелкнув мышью кнопку DriveListBox на панели элементов управления. Используя свойство Name, Присвойте объекту ИМЯ drvSelectDrive. 5. Добавьте в форму объект типа DirListBox для поиска папок. Для этого дважды щелкните мышью кнопку DirListBox на панели элементов управления. Используя свойство Name, присвойте объекту имя dirFolders. 6. Добавьте в форму поле типа TextBox и назовите его txtNameFolder. Для пояснения расположите над этим полем метку Label. Размер (длина) метки должен быть равен размеру поля txtNameFolder. Значение свойства Alignment (Выравнивание) метки установите равным 2-Center. 7. Добавьте в форму три кнопки типа CommandButton. Назовите эти кнопки cbCreate, cbDelete, cbRename и, используя свойство Caption, разместите на них, соответственно, надписи Создать, Удалить, Переименовать. Созданное приложение показано на рис. 9.12.
Рис. 9.12. Приложение для изучения работы с папками 8. Откройте окно редактора и введите приведенный ниже код: Dim NewFSO As New FileSystemObject, Folder As Folder Dim sNameFolder As String Private Sub cbCreate_Click() ' Создание папки If txtNameFolder <> "" Then sNameFolder = dirFolders.Path Set Folder = NewFSO.GetFolder(sNameFolder) If Folder.IsRootFolder = True Then MsgBox sSayAboutInfo,, "Корневая папка" sNameFolder = dirFolders.Path + txtNameFolder.Text Else sNameFolder = dirFolders.Path + "\" + txtNameFolder.Text End If NewFSO.CreateFolder (sNameFolder) End If End Sub Private Sub cbDelete_Click () ' Удаление папки sNameFolder = dirFolders.Path Set Folder = NewFSO.GetFolder(sNameFolder) NewFSO.DeleteFolder (sNameFolder) End Sub Private Sub cbRename_Click() ' Переименование папки sNameFolder = dirFolders.Path Set Folder = NewFSO.GetFolder(sNameFolder) Folder.Name = txtNameFolder.Text End Sub Private Sub drvSelectDrive Change() dirFolders.Path = drvSelectDrive.Drive End Sub 9. Запустите приложение на выполнение. Обратите внимание на синхронизацию Объектов drvSelectDrive (Список устройств) И dirFolders (Список папок), которая выполняется по событию change списка устройств. При работе с примером необходимо помнить, что выбор значения в списке выполняется двойным щелчком мыши, то есть свойство path списка папок обновляется по двойному щелчку мыши. назад | содержание
| вперед
Поделитесь этой записью или добавьте в закладки |
Полезные публикации |