- •Алгоритмизация и программирование в среде Visual Basic 6.0 Учебное пособие
- •Программирование и алгоритмизация
- •Программы и языки программирования
- •Языки программирования
- •Языки программирования низкого уровня
- •Машинный язык
- •Assembler (Ассемблер)
- •Языки программирования высокого уровня
- •Basic (Бейсик)
- •Fortran (Фортран)
- •Cobol (Кобол)
- •Pascal (Паскаль)
- •Объектно-ориентированное и визуальное программирование
- •Программирование в среде Visual Basic Введение
- •Описание
- •Основы программирования в среде Visual Basic Типы данных
- •Допустимые имена
- •Описание переменных
- •Определение типа переменной по умолчанию
- •Массивы
- •Динамические массивы
- •Чистка массивов
- •Массивы объектов
- •Константы
- •Перечисленный тип
- •Тип данных, определенный пользователем
- •Операции Visual Basic
- •Математические операции
- •Операции отношения
- •Логические операции
- •Соединение строк
- •Приоритеты операций
- •Встроенные функции Visual Basic
- •Математические функции
- •Функции проверки типов и значений
- •Функции преобразования форматов Функция Format
- •Инструкции форматирования чисел
- •Символы форматирования чисел
- •Инструкции форматирования даты и времени
- •Функции преобразования типов Преобразование строки в число и обратно
- •Преобразование выражения в стандартный тип данных
- •Функции обработки строк
- •Константы Visual Basic для управляющих ascii кодов
- •Функции времени и даты
- •Функции выбора
- •Функции, возвращающие строки
- •Инструкции Visual Basic
- •Оператор присвоения
- •Операторы управления
- •Оператор условного перехода
- •Оператор выбора
- •Оператор цикла с параметром: For - Next
- •Оператор цикла для элементов группы: For Each - Next
- •Оператор цикла с предусловием: While - Wend
- •Оператор цикла с комбинацией условий Dо - Loop
- •Функции и процедуры Описание функций и процедур
- •Вызов функций и процедур
- •Рекурсивные функции
- •Область видимости переменной
- •Время жизни переменной
- •Константы и функции для задания цвета изображения
- •Создание стандартного проекта приложения
- •Интегрированная среда разработки приложений Visual Basic
- •Компоненты рабочей среды
- •Главное меню
- •Стандартная панель инструментов
- •Окно конструктора форм
- •Окно макета формы
- •Окно проводника проекта
- •Панель элементов управления
- •Размещение элементов управления в форме
- •Команды меню Format
- •Окно свойств
- •Основные свойства элементов управления
- •Редактор исходного кода программы Окно редактора
- •Настройки редактора
- •Настройки параметров работы редактора кода (Editor)
- •Основные события и методы элементов управления
- •Сохранение и выполнение проекта
- •Семейство форм
- •Основные свойства формы
- •Свойства оформления формы
- •Свойства позиционирования формы
- •Общие свойства формы
- •Свойства поведения формы
- •Свойство шрифт формы
- •Слои формы
- •Основные методы и события формы Методы формы
- •Графические методы формы
- •События формы
- •Обработка событий мыши
- •Обработка событий клавиатуры
- •Коды клавиш
- •Единицы измерения размеров
- •Инструкции начала и завершения работы с формой
- •Соглашения об именах объектов
- •Префиксы имен объектов
- •Компоненты навигации файловой системы
- •DriveListBox (Список дисков)
- •DirListBox (Список каталогов)
- •FileListBox (Список файлов)
- •Работа со списками
- •Функции и процедуры модуля проекта
- •Окно открытия файла (Open)
- •Встроенные диалоговые окна
- •Окно ввода - функция InputBox
- •Окно сообщений - функция MsgBox
- •Константы параметра Buttons
- •Применение функций InputBox и MsgBox в проекте
- •Создание графического интерфейса приложения
- •Основное меню
- •Контекстное меню
- •Список изображений
- •Панель инструментов
- •Строка состояния
- •Обработка событий панели инструментов
- •Обработка событий меню
- •Массивы объектов
- •Создание группы переключателей
- •Порядок размещения переключателей в рамках
- •Несколько форм в проекте Шаблоны форм диалога
- •Создание и вывод на экран окна диалога
- •Создание формы диалога из шаблона Form
- •Шаблон формы Dialog
- •Шаблон формы About Dialog
- •Шаблон формы Log in Dialog
- •Общий модуль проекта
- •Новая версия - Visual Basic.Net
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