Хорошего программиста всегда отличает способность к нестандартным решениям проблем. Недавно Horrific писал об использовании дополнительных компонентов для Delphi. Я продолжил это начинание (предидущая статья) и сейчас, плавно так перехожу на VB.
FSO- file system objects нельзя назвать полноценными дополнительными компонентами для VB, т.к. они созданы и входят в стандартную поставку VB. Но FSO как раз и привносит новые возможности в кодинг.
Операторов для работы с файлами и папками на Vb достаточно.И цикл PRINT-OUTPUT, и MKDIR, и RMDIR,т.д.Но их работа до ужаса примитивна.
Когда же хочется чего-то большего приходится лезть в WinAPI, что мне делать лень. Вот тут как раз и пригодится FSO. Описывать все свойства и функции этой фичи нет смысла. Все должно быть в хелпе. Скажу лишь, что видимо VB+FSO я буду использовать при написании Duke Nukem 3D trainer : Ride On tHe ShoTgUN. И, конечно, пара примеров.
Добавим MS Scripting RUNTIME(!) через Project - References. На кнопке пишем:
1
Dim fso As New FileSystemObject, fol As Folder,
DIM s As String,d As String
' Объявляем переменные
Set fldr = fso.GetFolder("c:")
' Переходим кв с:\
fso.CreateFolder ("c:\dlc")
' Создаем папку dlc
s = "Created" & fso.GetBaseName("c:\dlc")
MsgBox s
' Сообщаем через MSGBOX
fso.DeleteFolder ("c:\dlc")
' Удаляем её
d = "You 've just deleted folder C:\dlc"
MsgBox d
'Сообщаем через MSGBOX 2
-----------------------
2
Dim fso, txt
Set fso = CreateObject("Scripting.FileSystemObject")
'Указываем, что работаем именно с файлами
Set txt = fso.CreateTextFile("c:\testfile.txt", True)
' Создаем файл
txtfile.Write ("This is a test. ")
' Пришем в него
txtfile.Close
'Закрываем