Опубликован: 04.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 3:

Работа с устройствами, папками, файлами

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >

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

Пользователь имеет возможность использовать объекты файловой системы с их свойствами, методами и событиями; т.о. обеспечивается возможность работы с файлами, папками, дисковыми устройствами. Соответствующий список дан в табл. 3.2.

Таблица 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).

Последовательность действий:

  1. создать на форме 2 элемента управления CommandButton, рис. 3.2 (справа вверху),
  2. для ввода/вывода текста создать на форме 2 текстовых поля (Name = txtInput и Name = txtOutput), см. код и рис. 3.2, в центре (свойство Multiline = -1: ' True),
    Объекты файловой системы; объект CommonDialog. Форма после старта

    Рис. 3.2. Объекты файловой системы; объект CommonDialog. Форма после старта
  3. вывести на форму элемент управления CommonDialog, см. выше,
  4. ввести код, данный ниже, стартовать проект и далее:
    • сделать щелчок на верхней командной кнопке - ввести в диалоговом окне Открытие файла имя файла,
    • сделать повторный щелчок - проверить наличие созданного файла,
    • ввести текст в левое текстовое поле,
    • сделать повторный щелчок на верхней командной кнопке - запись данных,
    • сделать щелчок на нижней командной кнопке - чтение файла, см. рис. 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
< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Константин Новков
Константин Новков
Как подключить библиотеку DLL ?
антонина квасова
антонина квасова
Что реализует инструкция Open - Open "a:\t.txt" For Output As #1
Светлана Ведяева
Светлана Ведяева
Россия, Саратов
Оксана Пагина
Оксана Пагина
Россия, Москва