Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
512244_74984_sidorov_m_e_algoritmizaciya_i_prog....doc
Скачиваний:
14
Добавлен:
01.05.2019
Размер:
5.08 Mб
Скачать

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

FileListBox отображает список файлов указанного каталога. Перечислим свойства, дополняющие свойства элемента ListBox.

Свойство

Возвращает или устанавливает

Path

путь к каталогу, файлы которого отображаются.

Patern

маску для выбора файлов. Например: "*.bmp; *.gif"

FileName

имя выбранного файла.

Для данных компонентов часто используется метод установки фокуса – SetFocus, а также метод обновления содержимого списка – Refresh, который необходимо использовать при изменении содержимого списка программным методом.

Работа со списками

Приведем примеры копирования и удаления элементов списка. Пусть на форме расположены компоненты: DriveListBox, DirListBox, FileListBox, FileListBox, ComboBox, а также несколько кнопок. Рис. 24.

Рис. 24. Работа со списками

Зададим исходные установки при загрузке формы.

Private Sub Form_Load()

Combo1.AddItem "*.bmp;*.ico;*.cur;*.jpj;*.gif;*.wmf;*.emf"

Combo1.AddItem "*.txt"

Combo1.Text = Combo1.List(0)

File1.Pattern = Combo1.Text

End Sub

Обработчик события Drive1_Change обеспечивает вывод списка папок в Dir1.

Private Sub Drive1_Change()

On Error GoTo MtkEr

Dir1.Path = Drive1.Drive

Exit Sub

MtkEr: MsgBox("Устройство не загружено")

Drive1.Drive = Dir1.Path

End Sub

Обработчик события Dir1_Change обеспечивает вывод списка файлов в File1.

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Обработчик события Combo1_Click обеспечивает вывод файлов по маске.

Private Sub Combo1_Click()

File1.Pattern = Combo1.Text

Combo1.ToolTipText = Combo1.Text

End Sub

Копирование двойным щелчком элементов списка File1 в список List1.

Private Sub File1_DblClick()

Dim strFile As String

strFile = FullFileName(Dir1.Path, File1.FileName)

List1.AddItem strFile

End Sub

Копирование всех элементов списка File1 в список List1 с использованием кнопки.

Private Sub Command1_Click()

Dim strFile As String

Dim i As Integer

For i = 0 To File1.ListCount - 1

strFile = FullFileName(Dir1.Path, File1.List(i))

List1.AddItem strFile

Next i

End Sub

Копирование выделенных элементов списка File1 в список List1 с использованием кнопки.

Private Sub Command4_Click()

Dim strFile As String

Dim i As Integer

For i = 0 To File1.ListCount - 1

If File1.Selected(i) Then

strFile = FullFileName(Dir1.Path, File1.List(i))

List1.AddItem strFile

End If

Next i

End Sub

Удаление всех элементов списка List1

Private Sub Command3_Click()

List1.Clear

End Sub

Удаление выделенного элемента списка List1

Private Sub Command2_Click()

If List1.ListIndex < 0 Then Exit Sub

List1.RemoveItem List1.ListIndex

End Sub

Здесь используется функция FullFileName, возвращающая полное имя файла, см. ниже.

Функции и процедуры модуля проекта

Для многократного использования программного кода, выполняющего некоторые заданные команды или расчеты, этот код оформляется в виде подпрограммы - заключается в тело процедуры (функции), и затем вызывается в программе по имени процедуры.

Функции и процедуры, доступные только в области программного кода модуля, объявляются с ключевым словом Private.

Перед набором кода функции или процедуры выполните команду меню Tools, Add Procedure. В поле Name введите имя, например, FullFileName, установите тип и область действия процедуры. После нажатия ОК, в окне редактора кода Вы получите заготовку для набора текста процедуры.

Для того, чтобы получить заготовку процедуры можно также набрать Private Sub FullFileName и нажать Enter.

Рис. 25. Добавление процедуры

Функция FullFileName, возвращающая полное имя файла

Private Function FullFileName(Path,FileName As String) As String

If Right(Path, 1) = "\" Then

FullFileName = Path & FileName

Else: FullFileName = Path & "\" & FileName

End If

End Function

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]