FSO – тяжелая артиллерия VB6
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
те код для его обработки соответствующим методом (в этом случае метод GetFolder, так как папка уже существует):
Set fldr = fso.GetFolder("c:")
Теперь, когда Вы имеете код обработки объекта Folder, Вы можете проверить свойство Name:
Debug.Print "Folder name is: "; fldr.Name
Если Вы хотите выяснять когда в последний раз, файл изменялся, используется следующий синтаксис:
Dim fso As New FileSystemObject, fil As File
Получаем объект File, чтобы сделать запрос
Set fil = fso.GetFile ( "C:detlog.txt" )
Печатаем информацию
Debug.Print "File last modified: "; fil.DateLastModified
Работа с Drives (Дисководами) и Folders (Папками)
Объектная модель FSO может программно работать с дисководами и папками, точно так, как Вы с Windows Explorer в интерактивном режиме. Вы можете копировать и перемещать папки, получать информацию относительно дисководов и папок, и т.д. Получение информации относительно Drives (Дисководов) Объект Drive позволяет Вам получать информацию относительно различных дисководов, присоединенных к системе или физически или через сеть. Свойства позволяют Вам получить информацию относительно:
Полный размера дисковода в байтах (свойство TotalSize);
Количество доступного свободного места на дисководе в байтах (свойства AvailableSpace или FreeSpace);
Буквенного обозначения дисковода (свойство DriveLetter);
Какого типа дисковод, сменный, фиксированный, сетевой, CD-ROM или RAM (свойство DriveType);
Серийный номер дисковода (свойство SerialNumber);
Тип файловой системы использования дисковода FAT, FAT32, NTFS, и т.д (свойство FileSystem);
Является ли дисковод доступен для использования (свойство IsReady);
Имя общих и/или Имя объемa (свойства ShareName и VolumeName);
Путь или корневую папку дисковода (свойства Path и RootFolder);
Пример использования объекта Drive (Дисковода)
Пример ниже показывается, как использовать объект Drive, чтобы получить полную информацию относительно дисковода. Не забудьте, что в следующем коде Вы не будете видеть ссылку к фактическому объекту Drive, достаточно, что Вы используете метод GetDrive чтобы получить ссылку для существующего объекта Drive (в этом случае - drv):
Private Sub Command3_Click()
Dim fso As New FileSystemObject, drv As Drive, s As String
Set drv = fso.GetDrive(fso.GetDriveName("c:"))
s = "Drive " & UCase("c:") & " - "
s = s & drv.VolumeName & vbCrLf
s = s & "Total Space: " & FormatNumber(drv.TotalSize / 1024, 0)
s = s & " Kb" & vbCrLf
s = s & "Free Space: " & FormatNumber(drv.FreeSpace / 1024, 0)
s = s & " Kb" & vbCrLf
MsgBox s
End Sub
Работа с Folders (Папками)
Этот список показывает общие задачи папки и методы для выполнения их:
Создать папку - FileSystemObject.CreateFolder
Удалить папку - Folder.Delete или FileSystemObject.DeleteFolder
Переместить папку - Folder.Move или FileSystemObject.MoveFolder
Копировать папку - Folder.Copy или FileSystemObject.CopyFolder
Возвратить имя папки - Folder.Name
Выяснить, существует ли папка на дисководе - FileSystemObject.FolderExists
Получить образец существующего объекта - Folder FileSystemObject.GetFolder
Выяснить имя папки, родителя папки - FileSystemObject.GetParentFolderName
Выяснить путь системных папок - FileSystemObject.GetSpecialFolder
Этот пример показывает использование объектов Folder и FileSystemObject, чтобы управлять папками и получать информацию о них:
Private Sub Command10_Click()
Получаем образец FileSystemObject
Dim fso As New FileSystemObject, fldr As Folder, s As String
Объект Get Drive
Set fldr = fso.GetFolder("c:")
Печатаем родительское имя папки
Debug.Print "Parent folder name is: " & fldr
Печатаем имя дисковода
Debug.Print "Contained on drive " & fldr.Drive
Печатаем имя корневой папки
If fldr.IsRootFolder = True Then
Debug.Print "This folder is a root folder."
Else
Debug.Print "This folder isnt a root folder."
End If
Создаем новую папку объектом FileSystemObject
fso.CreateFolder ("c:Bogus")
Debug.Print "Created folder C:Bogus"
Печатаем основное имя папки
Debug.Print "Basename = " & fso.GetBaseName("c:bogus")
Удаляем недавно созданную папку
fso.DeleteFolder ("c:Bogus")
Debug.Print "Deleted folder C:Bogus"
End Sub
Работа с Files (Файлами)
Вы можете работать с файлами в Visual Basic, используя новые объектно-ориентированные объекты FSO типа Copy, Delete, Move и OpenAsTextStream, так же, как и более старые существующие функции типа Open, Close, FileCopy, GetAttr, и т.д. Обратите внимание, что Вы можете перемещать, копировать или удалять файлы независимо от типа файла. Имеются две главных категории манипулирования файлами:
Создание, добавление или удаления данных, или чтение файлов;
Перемещение, копирование и удаление файлов;
Создание файлов и добавления данных с помощью File System Objects
Имеются три способа создать последовательный текстовый файл (иногда упоминаемый как "текстовый поток"). Один путь состоит в том, чтобы использовать метод CreateTextFile. Создаем пустой текстовый файл:
Dim fso As New FileSystemObject, fil As File
Set fil = fso.CreateTextFile("c:testfile.txt", True)
Обратите внимание, что модель объекта FSO еще не поддерживает создание произвольных (random) или двоичных (binary) файлов.
Другой путь состоит в том, чтобы использовать метод OpenTextFile объекта FileSystemObject с установкой флага ForWriting:
Dim fso As New FileSystemObject, ts As New TextStream
Set ts = fso.OpenTextFile("c:test.txt", ForWriting)
Или Вы можете использовать метод OpenAsTextStream с установкой флага ForWriting:
Dim fso As New FileSystemObject, fil As File, ts As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("test1.txt")
Set fil = fso.GetFile("test1.txt")
Set ts = fil.OpenAsTextStream(ForWriting)
Добавление данных к файлу
Как только текстовый файл создан, Вы можете добавлять данные. Для этого необходимо:
Открыть текстовый файл для записи данных.
Записать данные.
Закрыть файл.
Чтобы открыть файл, Вы можете использовать любой из дву