- •Институт информационных систем управления
- •Кандидат экономических наук, доцент в.А. Машурцев
- •Введение.
- •Глава 1. Vb 6.0 – среда разработки приложений.
- •1.1. Окна среды vb.
- •1.2. Файловая структура проекта.
- •1.3. Визуальное конструирование приложения.
- •1.4. Основные свойства формы и задание их значений.
- •1.5. Добавление форм к проекту и удаление форм из проекта.
- •1.6. Основные элементы управления и их свойства.
- •1.6.1. Элемент Label.
- •1.6.2. Элемент TextBox. Элемент TextBox (текстовое окно) предназначен для ввода исходной
- •1.6.3. Элементы HscrollBar и VscrollBar.
- •1.6.4. Элемент CommandButton.
- •1.7. События и методы.
- •1.8. Включение изображений в интерфейс пользователя.
- •1.8.1. Элемент Image. Элемент управления Image предназначен в основном для нанесе-
- •1.8.2. Элемент PictureBox.
- •1.9. Сохранение проекта.
- •Глава 2. Данные vb.
- •2.1. Типы данных.
- •2.1.1. Типы числовых данных.
- •2.1.1.1. Целочисленные данные.
- •2.1.1.2. Вещественные данные.
- •2.1.2. Типы нечисловых данных.
- •2.2. Объявление переменных и констант.
- •2.3. Область видимости переменных и констант.
- •2.4. Совместимость и преобразование типов данных.
- •2.5. Ввод исходных данных и вывод результатов обработки.
- •2.5.1. Окно сообщений. Оператор и функция MsgBox.
- •2.6. Форматирование вывода чисел.
- •Глава 3. Алгоритмизация вычислительных процессов.
- •3.1. Алгоритм и его свойства.
- •3.2. Типы вычислительных процессов.
- •3.3. Операторы vb.
- •3.4. Логические выражения.
- •3.5. Управляющие конструкции.
- •3.5.1. Операторы ветвлений.
- •3.5.1.1. Условный оператор.
- •3.5.1.2. Оператор выбора.
- •3.5.2. Операторы циклов.
- •3.5.2.1. Регулярный цикл.
- •3.5.2.2. Итерационные циклы.
- •3.5.2.3. Цикл перечислимого типа.
- •3.5.3. Элементы выбора.
- •3.5.3.1. Элемент CheckBox.
- •3.5.3.2. Элемент OptionButton.
- •3.5.4. Элемент управления и функция Timer.
- •3.5.5. Дата и время.
- •3.5.6. Оператор DoEvents.
- •3.5.7. Объединение кнопок в группы.
- •3.5.7.1. Элемент Frame.
- •3.6. Списки.
- •3.6.1. Элемент ListBox.
- •3.6.2. Элемент ComboBox.
- •Глава 4. Массивы.
- •4.1. Одномерные массивы.
- •4.2. Двумерные массивы.
- •4.3. Статические и динамические массивы.
- •4.4. Функция Array.
- •4.5. Генератор случайных чисел.
- •4.6. Функции lBound и uBound.
- •4.7. Массивы элементов управления.
- •4.8. Сопоставление массивов и списков.
- •4.9. Элемент msFlexGrid.
- •4.10. Упорядочение строк элемента msFlexGrid.
- •Глава 5. Процедуры и функции полоьзователя.
- •5.1. Создание стандартного модуля в приложении.
- •5.2.2. Вызов процедуры на выполнение.
- •5.3. Функции пользователя.
- •Глава 6. Обработка текстовой информации.
- •6.1. Изменение регистра символов в тексте.
- •6.2. Поиск заданной подстроки в тексте.
- •6.3. Выборка части текста.
- •6.4. Замена символов в тексте.
- •6.5. Удаление лишних пробелов из строки текста.
- •6.6. Инвертирование строк.
- •6.7. Преобразование текстовых строк в числа и наоборот.
- •6.8. Определение длины текста.
- •Глава 7. Создание меню пользователя.
- •Глава 8. Пользовательский тип данных.
- •8.1. Записи.
- •8.2. Сложные структуры данных.
- •Глава 9. Файлы.
- •9.1. Файлы последовательного доступа.
- •9.1.1. Открытие файла последовательного доступа.
- •9.1.2. Запись информации в файл.
- •9.1.3. Чтение информации из файла.
- •9.1.4. Закрытие файла.
- •9.2. Файлы произвольного доступа.
- •9.2.1. Открытие файла произвольного доступа.
- •9.2.2. Запись информации в файл.
- •9.4. Операции с файлами в vb.
- •9.5. Файловые операторы и функции обработки данных.
- •9.6. Сравнительный пример работы с файлами.
- •Глава 10. Обработка бд Access в среде vb.
- •10.1. Создание бд Access в среде vb.
- •10.2. Использование технологии Data Access Objects (dao).
- •10.2.1. Элемент управления Data.
- •10.2.2. Свойство Recordset элемента Data.
- •10.2.3. Программное связывание элементов.
- •10.3. Технология ActiveX Data Objects (ado).
- •10.3.1. Подключение ado Data к источнику данных (бд).
- •10.3.2. Подключение ado Data к источнику записей.
- •10.3.3. Элемент управления DataGrid.
- •10.4. Объекты ado.
- •10.4.1. Объект Connection.
- •10.4.2. Объект RecordSet.
- •10.4.3. Перемещение по набору записей.
- •10.4.4. Обращение к отдельным полям записи.
- •10.4.5. Выполнение запросов к бд.
- •10.5. Пример обработки бд в рамках технологии ado.
- •Глава 11. Обмен данными между приложениями.
- •11.1. Экспорт данных из бд в текстовый файл.
- •11.2. Технология внедрения и связывания (ole).
- •11.3. Связывание и внедрение на этапе design.
- •11.3.1. Связывание на этапе проектирования. Сразу же после размещения на форме элемента ole появляется
- •11.3.2. Внедрение на этапе проектирования.
- •11.4. Связывание и внедрение объектов на этапе run.
- •11.4.1. Свойства ole-контейнера.
- •11.4.2. Методы ole-контейнера.
- •11.4.3. События, связанные с ole-контейнером.
- •11.4.5. Внедрение объекта на этапе run. Для внедрения объектов в vb-приложение используется метод CreateEmbed. Синтаксис оператора, использующего этот метод:
- •Глава 12. Графические средства vb 6.
- •12.1. Управление цветом.
- •12.2. Изображения в интерфейсе проекта.
- •12.2.1. Наложение изображения на этапе проектирования. Наложение изображения на форму.
- •Восстановление утраченных графических файлов.
- •Наложение изображения на элемент PictureBox.
- •Наложение изображения на элемент CommandButton.
- •12.2.2. Наложение изображений на этапе выполнения.
- •12.3. Использование анимированных изображений.
- •12.3.1. Визуализация анимированных gif-файлов.
- •12.3.2. Визуализация на форме клипов.
- •12.4. Рисунки на графических объектах.
- •12.4.1. Элемент Shape.
- •12.4.2. Элемент Line.
- •12.5. Графические методы.
- •12.5.1. Методы для работы с изображением точки.
- •12.5.2. Метод Line.
- •12.5.3. Метод Circle.
- •12.6. Использование графики для решения отдельных задач.
- •12.6.1. Визуализация процесса сортировки элементов массива.
- •12.6.2. Принадлежность точки заданной области.
- •Приложение 1. Типовые алгоритмы обработки чисел.
- •Приложение 3. Алгоритмы обработки массивов.
- •Приложение 4. Примеры создания процедур и функций.
- •Приложение 5. Пример обработки типизированных файлов.
- •Приложение 6. Пример обработки бд Access в среде vb.
- •Оглавление
- •Глава 1. Vb 6.0 – среда разработки приложений. 4
- •Глава 2. Данные vb. 20
- •Глава 3. Алгоритмизация вычислительных процессов. 33
- •Глава 4. Массивы. 61
- •Глава 5. Процедуры и функции полоьзователя. 77
- •Глава 10. Обработка бд Access в среде vb. 110
- •Глава 11. Обмен данными между приложениями. 139
- •Глава 12. Графические средства vb 6. 150
3.5.6. Оператор DoEvents.
Экранные операции имеют низкий приоритет в сравнении с операциями вычислений. Поэтому, например, если работает цикл, то программа не будет реагировать на инициируемые вами события. Но иногда требуется задержать вид экрана на некоторое время (или до некоторого события), чтобы проанализировать промежуточные данные на экране. Это можно сделать с помощью функции MsgBox. Однако, ее окно закрывает часть данных на экране и приходится это окно перемещать по форме, чтобы просматривать данные. Это неудобно. Избежать этого можно с помощью оператора DoEvents. Он позволяет на незначительное время прервать вычислительный процесс и выяснить, не произошло ли за его время какого-либо события. Если да, то выполняется процедура обработки этого события (если она написана Вами), а затем происходит возврат для продолжения прерванного вычислительного процесса.
Для иллюстрации приведем 2 примера: задержка вида экрана на заданное время и задержка вида экрана до наступления какого-либо события.
Пример1. Задержка на заданное время. Объявляем переменные:
Dim time!, tz!
и вводим требующееся время задержки:
tz = Val(InputBox(“Введите требующееся время задержки в
секундах”))
В то место кода основного вычсислительного процесса, где требуется прервать его, вставляем следующий код:
time = Timer
Do
DoEvents
Loop Until Timer - time > tz
Пример2. Задержка процесса до, например, щелчка по форме.
В разделе General формы обявляем переменную:
Private a%
Создаем процедуру:
Private Sub Form_Click()
a = 5
End Sub
Там, где требуется прервать процесс, вставляем код:
a = 10
Do
DoEvents
Loop Until a < 10
3.5.7. Объединение кнопок в группы.
Для объединения кнопок в независимые группы можно использовать контейнеры. Контейнерами, кроме формы, могут быть элементы Picturebox и Frame. Каждый из них внутри своих границ может содержать другие объекты, которые при перемещении объекта-контейнера перемещаются вместе с ним. Можно даже поместить один контейнер в другой. Каждая группа кнопок OptionButton может быть помещена в свой контейнер. Если все кнопки OptionButton расположены просто на форме, то только одна из них может быть выбрана. Если же кнопки разбить на группы и каждую из них поместить в отдельный контейнер, то в каждом контейнере можно будет выбрать свою кнопку, Кнопки, находящихся в разных контейнерах, будет уже независимы, хотя в пределах каждого контейнера они зависимы.
3.5.7.1. Элемент Frame.
Основные свойства элемента управления Frame:
Таб. 3.5.7.1
-
Свойство
Значение свойства
Name
Имя элемента
Caption
Текст подсказки
Font
Шрифт подсказки
BackСolor
Цвет фона элемента
ForeСolor
Цвет символов заголовка
Префиксом имени элемента служит fra. Свойство Caption задаёт заголовок элемента Frame, разрывающий сверху рамку. Если Caption удалено, - заголовка нет и рамка сплошная. Для помещения объекта в контейнер, нужно сначала разместить на форме сам контейнер. Внутри контейнера объекты размещаются так же, как они размещаются на форме. В момент начала вычерчивания объекта внутри элемента Frame, курсор должен быть внутри рамки. Элемент управления, уже размещённый на форме, не будет содержаться в контейнере, если элемент Frame будут нарисован поверх него. Нельзя перемещать элемент управления с формы в контейнер буксировкой, так как, хотя он и будет выглядеть помещённым в контейнер, но фактически в нём не будет содержаться.
Если у любого контейнера, формы, элемента PictureBox или элемента Frame установить значение какого-либо свойства (например, Visible), то данное значение установится для всех объектов, размещенных в контейнере и имеющих это свойство. Так, например, изменение значения свойства Font формы приводит к аналогичному изменению этого свойства у всех помещенных на форму элементов.
Конечно, цель создания контейнера не в том, чтобы иметь возможность таскать по форме группу размещённых в контейнере объектов. Если бы контейнеров не существовало, то решение некоторых практических задач было бы непростым делом. Действительно, предположим, что нам нужно выбрать три изделия, каждое из которых имеет свой набор параметров. Элементы OptionButton, расположенные единой группой на форме, не позволяют сделать выбор, т.к. помеченным может быть только один из них. Если для решения этой задачи вместо OptionButton использовать CheckBox, то можно по ошибке выбрать три экземпляра одного и того же изделия. Единственный выход заключается в том, чтобы предусмотреть для каждого изделия отдельный контейнер и расположить в нем элементы OptionButton по числу параметров изделия.