Ну, во первых, традиционный вопрос - зачем? Ответ - новые методы системы FSO(File System Objects) расширяют и дополняют традиционные возможности VB. Как говорится, не API единым живет Visual Basic! В этой статье я хочу рассказать о применении нового метода работы с устройствами, который использует VB, и который заключается в использовании обьектно - ориентированного подхода. А простой пример использования будет понятен даже начинающим и убедит в полезности сомневающихся.
Ну, во первых, традиционный вопрос - зачем? Ответ - новые методы системы FSO(File System Objects)расширяют и дополняют традиционные возможности VB. Как говорится, не API единым живет Visual Basic! В этой статье я хочу рассказать о применении нового метода работы с устройствами, который использует VB, и который заключается в использовании обьектно - ориентированного подхода. А простой пример использования будет понятен даже начинающим и убедит в полезности сомневающихся.
В систему файловых объектов FSO входит набор классов объектов с большим количеством методов. В этой статье я перечислю основные классы системы, но подробно рассмотрю методику использования класса Drive.
Для использования объектов FSO необходимо подключить к создаваемому проекту библиотеку Microsoft Scripting Runtime. Сделать это можно так: меню Project(Проект) открываем References(Ссылки), из доступных ссылок выбираем Microsoft Scripting Runtime, ставим напротив птичку и нажимаем OK. И все! Теперь перечислю основные классы объектов, которые входят в состав FSO:
Drive - класс для работы с устройствами системы, такими как жесткий диск, CD-ROM, логический диск и т.п. Folder - класс для работы c папками: создание, удаление, чтение, установка атрибутов Files- класс для работы c файлами: создание, удаление, чтение, установка атрибутов файлов FileSystemObject - базовый класс системы, на основе которого построены другие классы TextStream - Специальный класс для работы с текстовыми файлами
Итак, класс Drive. В этом классе собраны свойства для работы с устройствами файловой системы. Объекты данного класса содержат следующие свойства:
Имя
Описание
AvailableSpace
Возвращает значение свободного пространства устройства, доступное пользователю
DriveLetter
Возвращает буквенное обозначен6ие устройства
DriveType
Возвращает тип устройства
FileSystem
Возвращает тип файловой системы устройства
FreeSpace
Возвращает общее свободное пространство
IsReady
Указывает готовность устройства к работе. Может быть True - готово к работе и False - не готово к работе
1. Создание объекта системы FSO 2. Настройка требуемых методов объекта FSO 3. Настройка доступных свойств объекта FSO
Создать объект FSO можно объявлением переменной типа FSO:
Dim NewFSO As New FileSystemObject
Для создания объекта можно использовать следующий оператор:
Set NewFSO = CreateObject("Scripting.FileSystemObject")
В данном случае Scripting.FileSystemObject - это требуемый объект с указанием библиотеки.
Для изучения свойств класса Drive создадим небольшое приложение, собирающее информацию об устройствах.
1. Создаем новый стандартный проект и присваиваем ему имя MyFSO. 2. Подключите к создаваемому проекту библиотеку Microsoft Scripting Runtime. 3. Присваиваем форме проекта имя frmFormAboutDrive. В свойство Caption формы внесите заголовок Сведения об устройстве. 4. Разместите в форме объект типа DriveListBox и присвойте ему имя drvSelectDrive. 5. Добавьте в форму кнопку CommandButton и назовите её cbStart 6. Откройте окно редактора и введите следующий код:
Private Sub GetInfoAboutDrive() Dim NewFSO As New FileSystemObject, Driver As Drive 'создать объект системы FSO можно обьявлением переменной типа FSO Dim sInfoDrv(1 To 5) As String, sSayAboutInfo As String Set Driver = NewFSO.GetDrive(NewFSO.GetDriveName(drvSelectDrive.Drive)) If Driver.IsReady = True Then 'проверяем готовность устройства к работе sInfoDrv(1) = Driver.SerialNumber 'возвращает числовой индификатор тома дика sInfoDrv(2) = Driver.TotalSize / 1048576 'общее пространство переводим из байт в Мбайты sInfoDrv(3) = Driver.FreeSpace / 1048576 'свободное пространство, можно использовать Driver. AvailableSpace sInfoDrv(4) = Driver.FileSystem 'тип файловой системы(FAT, NTFS, CDFS) 'формируем сообщение sSayAboutInfo = "№ " & sInfoDrv(1) & Chr(10) sSayAboutInfo = sSayAboutInfo & "Всего :" & sInfoDrv(2) & " Мбайт" & Chr(10) sSayAboutInfo = sSayAboutInfo & "Свободно :" & sInfoDrv(3) & " Mбайт" & Chr(10) sSayAboutInfo = sSayAboutInfo & " Файловая система : " & sInfoDrv(4) & Chr(10) Else 'еслиDriver.IsReady = False sSayAboutInfo = " Устройство не готово !" & Chr(10) End If MsgBox sSayAboutInfo, vbOKOnly, " Сведения об устройстве" End Sub
Private Sub cbStart_Click() GetInfoAboutDrive End Sub
7. Запустите приложение на выполнение. При нажатии кнопки на форме в окно сообщения выдаются сведения о выбранном устройстве. Работа с другими классами будет описана в последующих статьях.