Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

FSO – тяжелая артеллерия VB6.

File System Object
ПрограммыЖелезоДрайверыХостингЭнциклопедия рекламы

FSO – тяжелая артеллерия VB6

Часть#1  

Армен Мнацаканян

Введение в объектную модель FSO

Новая особенность для VB6  - модель объекта ( FSO ) Объектная Файловая Система, которая обеспечивает основанный на объектах инструмент для работы с папками и файлами. Это позволяет Вам использовать знакомый синтаксис object.method с богатым набором свойств, методов, и событий, чтобы обработать папки и файлы, в дополнение к использованию традиционных методов  и команд Visual Basic.

Объектная модель FSO дает вашим прикладным программам способность создавать, изменять, перемещать, и удалить папки, или выяснять, если специфические папки существуют, и если так, то где. Это также дает возможность Вам получить информацию относительно папок, типа их имен, дат, когда они были созданы или в последний раз изменялись, и т.д.

Объектная модель FSO позволяет намного проще проводить обработку файлов. При обработке файлов, ваша основная цель состоит в том, чтобы сохранить данные в области - и ресурсо-эффективном, легко доступном формате. Вы сможете создавать файлы, вставлять и изменять(заменять) и выводить (считывать) данные

Объектная модель FSO, которая содержится в библиотеке типов Scripting type library (Scrrun.Dll), поддерживает создание текстового файла и манипулирование им через объект TextStream. Однако это  не поддерживает создание или манипулирование двоичными файлами. Чтобы управлять двоичными файлами, используйтся команда Open с бинарным флагом. 

Объекты Файловой системы

Объектная модель FSO имеет следующие объекты:

 

Объект

Описание
Drive(Дисковод) Позволяет Вам получить информацию относительно дисководов присоединенных к системе, их типа, количества доступного участка памяти, их обозначения, и т.д. Обратите внимание, что "дисковод" не обязательно жесткий диск. Это может быть дисковод CD-ROM, вертуальный диск, и т.д. Также не обязательно, чтобы дисководы были физически присоединенными к системе; они могут быть также логически подсоединены через локальную сеть.
Folder(Папка) Позволяет Вам создавать, удалять, или перемещать папки, плюс запрос системы относительно их имен, путей, и так далее.
Files(Файлы) Позволяет Вам создавать, удалять, или перемещать файлы, плюс запрос системы относительно их имен, путей, и так далее.
FileSystemObject Основной объект группы, с полными методами, которые позволят Вам создать, удалять, получать информацию обовсем, и вообще, управляет дисководами, папками, и файлами. Многие из методов, связанных с этим объектом дублированы в других объектах.
TextStream Дает возможность Вам читать и писать текстовые файлы.

Программирование в Объектной Модели FSO

Программирование в Объектной Модели FSO включает три основных задачи: 

Использование метода CreateObject или объявления переменной как объект FileSystemObject, для создания объекта FileSystemObject;

Использование соответствующего метода в недавно созданном объекте;

Вызов свойств объекта.

Объектная Модель FSO содержится в библиотеке типов, называемой Scripting, которая размещена в файле Scrrun.Dll . Если Вы пока не имеете ссылку, то поставте ее в меню References| Microsoft Scripting Runtime . Вы можете затем использовать Object Browser, чтобы проссмотреть объекты, свойства, методы и события, а также константы.  

Создание объекта FileSystemObject  

Первый шаг должен создать объект FileSystemObject, чтобы работать с ним. Вы можете сделать это двумя способами:

Объявить переменную, как объект:

Dim fso As New FileSystemObject  

Используя метод CreateObject создать объект FileSystemObject:

                   Set fso = CreateObject ( "Scripting.FileSystemObject" )

Обратите внимание, что первый метод работает только в Visual Basic, в то время, как второй метод работает и в Visual Basic и в VBScript.

Использование соответствующих методов

Следующий шаг должен использовать соответствующий метод объекта FileSystemObject.
Например, если Вы хотите создавать новый объект, Вы можете использовать или CreateFolder или CreateTextFile. (Модель объекта FSO не поддерживает создание или стирание дисководов.). Если Вы хотите удалить объекты, Вы можете использовать методы DeleteFile или DeleteFolder объекта FileSystemObject, или метод Delete объектов File или Folder. При использовании соответствующих методов, Вы можете также копировать и перемещать файлы и папки. Обратите внимание, что некоторые функциональные возможности в модели объекта FileSystemObject избыточны.  
Например, Вы можете копировать файл, использующий или метод CopyFile объекта FileSystemObject, или Вы можете использовать метод Copy объекта File. Методы работают также. И существуют, чтобы дать Вам максимум гибкости программирования.  

Вызов, существующих Drives (Дисководов) , Files (Файлов) и Folders (Папок)

Чтобы получить доступ к существующему дисководу, файлу или папке, используется соответствующий метод "Get" объекта FileSystemObject:  

GetDrive;

GetFolder;

GetFile;

Например:  

Dim fso As New FileSystemObject, fil As File

Set fil = fso.GetFile("c:test.txt")

Обратите внимание, однако, что Вы не должны использовать методы "Get" для недавно созданных объектов, так как функции "Get" уже возвращает программе обработки недавно созданний объект. Например, если Вы создаете новую папку, используюя метод CreateFolder, Вы затем не должны использовать метод GetFolder , чтобы обратиться к свойствам, типа Name, Path, Size и т.д. Только объявите переменную функции CreateFolder, чтобы получить программу обработки недавно созданной папке, затем обратитесь к свойствам, методам, и событиям:  

Private Sub Create_Folder()

   Dim fso As New FileSystemObject, fldr As Folder

   Set fldr = fso.CreateFolder("C:MyTest")

   MsgBox "Created folder: " & fldr.Name

End Sub

 

Обращение к  Properties (Свойствам) Объекта

Как только Вы имеете код обработки объекта, Вы можете обращаться к его свойствам.
Например, если Вы хотите получить имя специфической папки. Сначала Вы создаете образец объекта, затем Вы получаете код для его обработки соответствующим методом (в этом случае метод 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 

В начало

Продолжение 

 Copyright ©, 2000 'Азбука Visual Basic'. Все права защищены


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте