FSO важка артилерія VB6

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Об'єктна Файлова Система, яка забезпечує заснований на об'єктах інструмент для роботи з папками і файлами. Це дозволяє Вам використовувати знайомий синтаксис 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

Робота з 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 isn't 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)

Додавання даних до файлу

Як тільки текстовий файл створений, Ви можете додавати дані. Для цього необхідно:

Відкрити текстовий файл для запису даних.

Записати дані.

Закрити файл.

Щоб відкрити файл, Ви можете використовувати будь-який з двох методів: метод OpenAsTextStream об'єкта File або метод OpenTextFile об'єкта FileSystemObject.

Щоб записати дані у відкритий текстовий файл, використовуйте методи Write або WriteLine об'єкта TextStream. Єдине розходження між Write і WriteLine - те, що WriteLine додає символи newline до кінця рядка. Якщо Ви хочете додавати newline до текстового файлу, використовуйте метод WriteBlankLines.

Щоб закрити відкритий файл, використовуйте метод Close об'єкта TextStream.

Sub Create_File ()

Dim fso, txtfile

Set fso = CreateObject ("Scripting.FileSystemObject")

Set txtfile = fso.CreateTextFile ("c: testfile.txt", True)

'Запис лінії

txtfile.Write ("This is a test.")

'Запис лінії з символом newline

txtfile.WriteLine ("Testing 1, 2, 3.")

'Запис трьох символів newline в файл

txtfile.WriteBlankLines (3)

txtfile.Close

End Sub

Читання файлів File System Objects

Щоб читати дані з текстового файлу, використовуйте методи Read, ReadLine або ReadAll об'єкта TextStream:

Читання певного числа символів з файлу - Read

Читання всій лінії (але не, включаючи, символ newline) - ReadLine

Читання всього змісту текстового файлу - ReadAll

Якщо Ви використовуєте метод Read або ReadLine, і Ви хочете перейти до специфічної частини даних, Ви можете використовувати метод Skip або SkipLine. Отриманий в результаті використання цих методів текст може бути збережений в символьної змінної і аналізуватися Left, Right і Mid. Зверніть увагу, що константа vbNewLine містить символ або символи (в залежності від операційної системи) щоб просунути курсор до початку наступної лінії (повернення каретки). Знайте, що кінці деяких символьних змінних можуть мати такі недруковані символи.

Sub Read_Files ()

Dim fso As New FileSystemObject, txtfile

Dim fil1 As File, ts As TextStream

Set txtfile = fso.CreateTextFile ("c: testfile.txt", True)

MsgBox "Writing file"

'Запис лінії

Set fil1 = fso.GetFile ("c: testfile.txt")

Set ts = fil1.OpenAsTextStream (ForWriting)

ts.Write "Hello World"

ts.Close

'Читання змісту файлу

Set ts = fil1.OpenAsTextStream (ForReading)

s = ts.ReadLine

MsgBox s

ts.Close

End Sub

Переміщення, копіювання та видалення файлів

Модель об'єкта FSO має два методи для переміщення, копіювання і видалення файлів:

Перемістіть файл - File.Move or FileSystemObject.MoveFile

Копіюйте файл - File.Copy or FileSystemObject.CopyFile

Видаліть файл - File.Delete or FileSystemObject.DeleteFile

Цей приклад створює текстовий файл в кореневій директорії дисковода C, пише деяку інформацію в ньому, переміщує його в каталог, званий tmp, робить копію його в каталог, званий temp, потім видаляє копії з обох каталогів. Щоб виконувати цей приклад, упевнитися, що Ви маєте каталоги, іменовані tmp і temp в кореневій директорії дисковода C

Sub Manip_Files ()

Dim fso As New FileSystemObject, txtfile, fil1, fil2

Set txtfile = fso.CreateTextFile ("c: testfile.txt", True)

MsgBox "Writing file"

txtfile.Write ("This is a test.")

txtfile.Close

MsgBox "Moving file to c: tmp"

'Код обробки файлу в корені C:

Set fil1 = fso.GetFile ("c: testfile.txt")

'Переміщаємо файл в директорію tmp

fil1.Move ("c: tmptestfile.txt")

MsgBox "Копіюємо файл у c: temp"

'Копіюємо файл у temp

fil1.Copy ("c: temptestfile.txt")

MsgBox "Видаляємо файли"

'Код отримання поточних дерікторію файлів

Set fil1 = fso.GetFile ("c: tmptestfile.txt")

Set fil2 = fso.GetFile ("c: temptestfile.txt")

'Видаляємо дайл

fil1.Delete

fil2.Delete

MsgBox "Все!"

End Sub

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
26.4кб. | скачати


Схожі роботи:
Артилерія перед початком війни 1914-1918 рр.
Російська артилерія кінець XV - перша половина XVII ст
Важка ліра Ходасевича
Обережно важка вода
Ходасевич ст. - Важка ліра
Важка поєднана травма
Важка необхідність місії фірми
Алкоголізм - важка хронічна хвороба
Алкоголізм важка хронічна хвороба
© Усі права захищені
написати до нас