Лекция 3: 2 Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox). Не могу найти меню Разработать (Develop)>Links и т.д. |
Работа с устройствами, папками, файлами
Объекты файловой системы
Пользователь имеет возможность использовать объекты файловой системы с их свойствами, методами и событиями; т.о. обеспечивается возможность работы с файлами, папками, дисковыми устройствами. Соответствующий список дан в табл. 3.2.
Имя | Назначение |
FileSystemОbject | Обеспечение доступа к другим объектам и вывода информации о файловой системе. Создаваемый объект описывается с использованием ключевого слова New: Dim fileSys As New FileSystemObject |
TextStream | Создание и чтение потоков данных |
Drive | Доступ к дисковым устройствам |
Folder | Работа с папками |
File | Работа с файлами |
Для использования объектов нужно подключить DLL, содержащую эти объекты. Функции DLL представляют собой откомпилированный код (примером являются диалоговые окна Открыть/Сохранить, выводимые при открытии/сохранении объектов; эти окна вызываются из DLL, поэтому ими можно пользоваться в любой программе). Для подключения нужно выполнить следующее: меню Разработать > Ccылки > сделать щелчок на флажке Microsoft Scripting Runtime (SCRUN.DLL).
Практическая работа 18. Объекты файловой системы. Использование объекта CommonDialog
Проводится работа с объектом TextStream:
- создание объекта stream - потока данных (текстового файла). Для создания используется метод CreateTextFile () объекта FileSystemObject,
- запись данных в файл с использованием метода Write объекта TextStream,
- чтение файла с использованием метода Read объекта TextStream.
Работа выполняется с использованием объекта CommonDialog, его функции, используемые в данном случае, описаны под комментариями в коде, данном ниже. Объект CommonDialog нужно включить в коллекцию инструментов: меню Проект > Компоненты > Управления > Microsoft CommonDialog Control, затем cледует поместить его на форму и присвоить значение свойству Name (здесь - cdlgStudy ).
Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox).
Последовательность действий:
- создать на форме 2 элемента управления CommandButton, рис. 3.2 (справа вверху),
- для ввода/вывода текста создать на форме 2 текстовых поля (Name = txtInput и Name = txtOutput), см. код и рис. 3.2, в центре (свойство Multiline = -1: ' True),
- вывести на форму элемент управления CommonDialog, см. выше,
- ввести код, данный ниже, стартовать проект и далее:
- сделать щелчок на верхней командной кнопке - ввести в диалоговом окне Открытие файла имя файла,
- сделать повторный щелчок - проверить наличие созданного файла,
- ввести текст в левое текстовое поле,
- сделать повторный щелчок на верхней командной кнопке - запись данных,
- сделать щелчок на нижней командной кнопке - чтение файла, см. рис. 3.2
Option Explicit ' описание объекта fileSys Dim fileSys As New FileSystemObject Dim stream As TextStream 'описание объекта поток данных Dim str1 As String, 'описание строки данных Dim fileName As String 'описание имени создаваемого файла ' ввод имени файла, создание потока данных, ' закрыть объект Private Sub Command1_Click() ' для открытия стандартного диалогового окна ' использовать метод ShowOpen объекта CommonDialog cdlgStudy.ShowOpen fileName = cdlgStudy.FileName ' задать имя файла ' создать поток данных с заданным именем Set stream = fileSys.CreateTextFile(fileName, True) ' строковые данные получить вводом в текстовое поле str1 = txtInput.Text ' запись данных: использовать метод Write объекта stream stream.Write (str1) ' использовать метод Close для того, чтобы закрыть объект stream.Close End Sub Private Sub Command2_Click() ' чтение потока данных ' использовать метод ShowOpen объекта CommonDialog cdlgStudy.ShowOpen fileName = cdlgStudy.FileName ' определить имя файла ' открыть поток данных Set stream = fileSys.OpenTextFile(fileName) ' чтение: выполнять конкатенацию до тех пор, пока не ' появится признак конца файла Do While stream.AtEndOfStream <> True str1 = str1 & stream.Read(1) Loop stream.Close ' закрыть поток данных txtOutput.Text = str1 ' вывести данные в текстовое поле End Sub