Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №13.doc
Скачиваний:
8
Добавлен:
14.09.2019
Размер:
236.03 Кб
Скачать

Замечание

В функции SetAttr используются все константы, описанные в табл. 3, кроме константы vbDirectory.

Для того чтобы задать несколько атрибутов, можно просто просуммировать указанные константы. Например, для установки атрибутов файла Hidden и Read-only необходимо использовать функцию setAttr следующего вида:

SetAttr "MyFile", vbHidden + vbReadOnly

При этом для файла MyFile будут установлены атрибуты Hidden и Read-only.

 

В языке Visual Basic у разработчика имеются широкие возможности работы с файловой системой, которые представляют изученный ранее диалоги Common Dialog, набор файловых операторов и функций, а также файловые элементы управления.

Существует три файловых элемента управления:

  1. DriveListBox (Список дисков)

  2. DirListBox (Список каталогов)

  3. FileListBox (Список файлов)

D riveListBox (Список дисков) . Данный элемент управления представляет собой ниспадающий список, в котором по умолчанию отображается диск, являющийся текущим. Если в процессе работы приложения пользователю нужно сменить обозначение диска, то сделать это можно двумя способами. Во-первых, при помощи мыши раскрыть список, щёлкнуть на стрелке в правой части объекта, с последующим выбором требуемого элемента. Во-вторых, задать нужное название, используя для этого стрелки управления курсором, когда объект имеет фокус.

Имеется возможность задать программным образом диск, который будет использоваться по умолчанию, т.е. который будет являться текущим при запуске приложения. Для этого следует воспользоваться свойством Drive (Устройство), присвоив ему соответствующее значение в процедуре загрузки главной формы Form_Load, например:

Private Sub Form_Load()

Drive1.Drive=”C:”

End Sub.

DirListBox (Список каталогов) . Этот элемент управления представляет собой древовидную структуру, отображающую каталоги того диска, который на данный момент является текущим. Первым элементом списка является текущий диск, под которым расположены находящиеся в нём каталоги, смещённые на одну позицию вправо (корневой каталог). Если пользователь открывает один из них при помощи двойного щелчка мыши, то в этом случае список изменяется таким образом, что в нём после названия текущего каталога отображаются только название его подкаталогов, смещённые ещё на одну позицию вправо (каталог первого уровня) и т.д.

С лева от каждого элемента списка находится изображение папки. Если каталог открыт, то папка отображается раскрытой и наоборот.

Так же, как и при работе с дисками, можно установить каталог, который будет являться текущим, используя свойство Path (Путь) для элемента DirListBox, например:

Private Sub Form_Load()

Dir1.Path=”C:\Мои документы”

End Sub

С другой стороны, если значение свойства Path присвоить какой-либо переменной, то в ней будет храниться путь к выбранной папке.

a=Dir1.Path

Например, для случая, показанного на рисунке a=«G:\vb\Book.Basic_for_beginning».

Так как элемент управления DirListBox представляет собой список, то для него так же, как и для обычных списков, имеется возможность доступа к элементам и их обработки с помощью свойств List (Список), ListIndex (Текущий элемент списка), ListCount (Количество элементов в списке). Однако имеется глобальное различие в системе, используемой для обработки значения свойства ListIndex.

Для каталога, путь к которому совпадает со значением свойства Path элемента управления DirListBox, свойство ListIndex всегда равно -1, независимо от того, на каком уровне он расположен. Каталог, расположенный на один уровень выше текущего, имеет свойство ListIndex, равное -2, и т.д. Завершением этой последовательности является корневой каталог текущего диска.

Соответственно, первый по порядку подкаталог текущего каталога, имеет свойство ListIndex, равное 0. Для второго по счёту каталога ListIndex=1 и т.д.

Значением свойства ListCount для выбранного каталога является количество его подкаталогов.

FileListBox (Список файлов) . Данный элемент управления представляет собой список, отображающий файлы, которые располагаются в каталоге, указанном в свойстве Path. Как правило, этот объект используется вместе со списком каталогов (DirListBox), поэтому, когда пользователь в приложении выбирает нужный ему каталог, то в программе при этом должен выполняться следующий оператор присваивания:

File1.Path=Dir1.path

В данном случае для выбранного пользователем каталога будет автоматически отображаться список содержащихся в нём файлов.

Д ля того, чтобы ограничить количество выводимых файлов каким-то именем, расширением и т.д. (т.е. шаблоном), необходимо воспользоваться свойством Pattern, которое позволяет задать один или несколько шаблонов. При этом следует заметить, что в последнем случае в качестве разделителя используется точка с запятой, например:

File1.Pattern=”*.txt; *.exe”

Для того, чтобы получить в программе доступ к оп­ределенному файлу, необходимо воспользоваться свойством FileName элемента FileListBox, установив перед этим выбран­ный пользователем каталог в качестве текущего на уровне систе­мы (оператор ChDir). Другая возможность заключается в совме­стном использовании значений: следующих свойств: Path и FileName.

Например, чтобы с помощью элементов управления найти файл, а затем открыть его и записать в него значение выражение «строка», нужно прописать следующий программный код:

а – переменная, в которой хранится путь

Dim a As String

работа с файлом

Private Sub Command1_Click()

Open a For Output As #1

Print #1, "5"

Close #1

End Sub

согласование работы объектов DirListBox и FileListBox, чтобы содержимое списка файлов соответствовало выбранной папке

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

контструирование полного пути из имени файла и пути к папке, где он размещен

Private Sub File1_Click()

a = File1.Path + "\" + File1.FileName

End Sub

При работе с файловым списком имеется возможность выбора не только одного, но и нескольких файлов. Для этого используется свойство MultiSelect, которое может принимать следую­щие значения:

1- None (можно выделить только один файл);

2 - Simple (при каждом щелчке в группу добавляется вы­деленный файл или удаляется из нее, если он ужё был в группе);

3 - Extended (выделение файлов осуществляется так же, как и в программе Проводник - с использованием клавиш Shift и Ctrl).