- •В. Л. Быков
- •3.1.5. Закрепление материала 67
- •3.2.7. Закрепление материала 87
- •3.3.5. Закрепление материала 95
- •3.4.4. Закрепление материала 105
- •4.1.5. Закрепление материала 114
- •4.2.5. Закрепление материала 122
- •4.3.7. Закрепление материала 131
- •4.4.5. Закрепление материала 139
- •5.1.7. Закрепление материала 149
- •5.2.7. Закрепление материала 161
- •6.1.5. Закрепление материала 173
- •6.2.4. Закрепление материала 178
- •7.1.5. Закрепление материала 184
- •7.2.5. Закрепление материала 191
- •Введение
- •Выход из программы
- •1.1.2. Рабочее окно
- •Меню (Menu)
- •Панели инструментов (Toolbars)
- •Форма (Form)
- •Окно Проект (Project)
- •Окно Cвойства (Properties)
- •Окно Программа (Code) 4
- •Окно позиционирования формы (Form Layout)
- •1.1.3. Работа с внешними устройствами Сохранение информации и открытие файлов
- •Вывод информации на печать
- •1.1.4. Упражнение: работа в среде Visual Basic
- •1.1.5. Закрепление материала
- •1.2.2. Основные свойства объектов
- •Свойства объектов
- •События объектов
- •Методы объектов
- •1.2.3. Элементы управления Label, TextBox,
- •Командная кнопка (Command Button)
- •Надпись (Label)
- •Текстовое поле (TextBox)
- •1.2.4. Приступая к программированию
- •1.2.5. Упражнения: начало работы в Visual Basic
- •Описание переменных
- •Описание свойств элементов управления формы “Успеваемость”
- •1.2.6. Закрепление материала
- •Задание для самостоятельной работы
- •2.2. Форма и ее свойства
- •Свойства формы
- •События формы
- •Mетоды формы
- •Работа с дочерними формами
- •2.4. Разработка меню пользователя Многоуровневые меню
- •Средства для разработки меню
- •Группировка элементов списка пункта меню
- •Управление размещением пунктов меню
- •Взаимодействие меню mdi-формы и дочерних форм
- •Контекстное меню
- •2.5. Упражнения: разработка меню пользователя
- •Описание элементов меню
- •Описание элементов меню
- •2.6. Закрепление материала
- •Окно Программы (Code)
- •3.1.2. Переменные
- •Способы объявления переменных
- •Контроль типов переменных
- •Типы переменных
- •Область определения (видимости) переменных
- •Время жизни переменных
- •Статические переменные
- •3.1.3. Константы
- •3.1.4. Упражнение: типы переменных
- •Описание типов переменных
- •3.1.5. Закрепление материала
- •Задачи для самостоятельной работы
- •Ввод данных с помощью окна диалога InputBox
- •3.2.2. Вывод данных
- •Оператор Print
- •Стандартные шаблоны функции Format
- •Текстовое поле TextBox
- •Окно диалога MessageBox
- •Константы параметра Buttons
- •3.2.3. Процедуры
- •Процедуры обработки событий (обработчики событий)
- •Процедуры пользователя
- •Вызов процедуры
- •3.2.4. Функции Встроенные функции
- •Встроенные функции языка Visual Basic
- •Функции пользователя
- •Использование пользовательских функций
- •Оператор Select Case
- •Операторы циклов
- •3.2.6. Упражнения: использование окон диалога и функций пользователя
- •Текст программы формы
- •3.2.7. Закрепление материала
- •3.3. Массивы
- •3.3.1. Понятие об индексированных переменных. Массивы.
- •Область видимости массивов, объявление массивов
- •Способы распределения памяти
- •3.3.2. Функции для работы с массивами
- •3.3.3. Операции с массивами
- •Функция обмена двух переменных данными
- •Сортировка массивов
- •3.3.4. Упражнения: работа с массивами
- •3.3.5. Закрепление материала
- •Задания для самостоятельных занятий
- •Создание массивов элементов управления на этапе разработки
- •Динамическое добавление элементов управления в период выполнения
- •3.4.2. Управляющий элемент сетка
- •Основные свойства сетки
- •Свойства для выделения ячеек внутри таблицы
- •События и методы сетки
- •3.4.3. Упражнения: использование массивов управляющих элементов и сетки
- •Описание свойств элементов формы
- •3.4.4. Закрепление материала
- •Задания для самостоятельной работы
- •Метод Scale
- •Объект Screen
- •4.1.2. Элементы управления Line и Shape Элемент управления Line
- •Элемент управления Shape
- •4.1.3. Управление пикселем
- •4.1.4. Упражнения: графические объекты
- •4.1.5. Закрепление материала
- •Варианты заданий для самостоятельной работы.
- •4.2. Графические методы Visual Basic
- •Свойства графических объектов, влияющие на работу графических методов
- •4.2.1. Графический метод Line
- •4.2.2. Метод Circle
- •4.2.3. Метод Print
- •4.2..4. Упражнения: Графические методы
- •4.2.5. Закрепление материала
- •Задания для самостоятельной работы
- •4.3. Объекты PictureBox, Image
- •4.3.1. Понятие векторной и растровой графики
- •Типы файлов, загружаемых в объект PictureBox
- •4.3.2. Окно с рисунком (PictureBox )
- •Выгрузка рисунков
- •4.3.3. Элемент управления Image
- •4.3.4. Загрузка изображений в форму
- •4.3.5. Управление графическими объектами
- •Свойство AutoRedraw
- •Метод Refresh
- •Свойство ClipControls
- •Влияние свойства ClipControls и метода AutoRedraw на работу программы
- •Метод PaintPicture
- •Метод Point
- •Функция DoEvents
- •4.3.6. Упражнения: графические объекты
- •4.3.7. Закрепление материала
- •4.4. Анимация
- •4.4.1. Элемент управления Animation
- •4.4.2. Создание анимации пользователем
- •Режим DrawMode
- •Примеры анимации Простая анимация
- •Анимация посредством переноса изображений через буфер обмена
- •Опции функции Формат
- •Анимация посредством присвоения значения свойства одного графического объекта другому
- •4.4.3. Создание форм, независимых от используемого разрешения экрана
- •4.4.4. Упражнения: анимация
- •4.4.5. Закрепление материала
- •5.1.1. Флажки и переключатели
- •Создание элементов управления
- •5.1.2. Списки и поля со списками
- •Основные свойства и методы списков Свойства списков:
- •Множественный выбор элементов списка
- •Методы списков
- •Поле со списком (ComboBox)
- •Установка начального значения
- •5.1.3. Полоса прокрутки (ScrollBar)
- •5.1.4. Элемент управления Slider.
- •5.1.5. Счетчик (UpDown)
- •5.1.6. Упражнения: Основные элементы интерфейса
- •5.1.7. Закрепление материала
- •Задание для самостоятельной работы
- •5.2. Дополнительные элементы управления
- •5.2.1. Строка состояния Создание строки состояния
- •Основные свойства панелей строки состояния
- •Управление панелью состояния
- •5.2.2. Индикатор процесса
- •5.2.4. Стандартные окна диалога Windows
- •5.2.5. Печать документов.
- •Метод PrintForm
- •Объект Printer
- •Основные свойства и методы объекта Printer
- •5.2.6. Упражнения: дополнительные элементы управления для разработки интерфейса
- •5.2.7. Закрепление материала
- •6. Работа с файлами данных
- •6.1. Файлы последовательного доступа
- •6.1.1. Понятие о файлах данных
- •Открытие файлов
- •Закрытие файлов
- •Чтение данных из файла последовательного доступа
- •6.1.3. Создание базы данных с использованием файла последовательного доступа
- •6.1.4.Упражнение: создание базы данных
- •6.1.5. Закрепление материала
- •Задание для самостоятельной работы
- •6.2. Файлы прямого доступа
- •6.2.1. Создание файлов прямого доступа
- •6.2.2. Команды и функции для работы с файлами Команды для работы с файлами
- •Функции для работы с файлами
- •6.2.3. Упражнение: создание базы данных с использованием файла прямого доступа
- •6.2.4. Закрепление материала
- •7.1.2. Реализация проверки данных на уровне формы Обработчик клавиатуры на уровне формы
- •Использование события KeyPress
- •Использование события KeyDown и KeyUp
- •Использование события KeyPreview
- •7.1.3. Реализация проверки данных на уровне полей формы
- •Использование событий клавиатуры для контроля на уровне полей
- •Проверка данных с использованием события Change
- •Функции проверки данных
- •7.1.4. Упражнение: Контроль ввода
- •7.1.5. Закрепление материала
- •7.2. Обработка ошибок
- •7.2.1. Общие сведения об обработке ошибок
- •7.2.2. Реализация локального обработчика ошибок Порядок обработки ошибок
- •Реализация обработчика ошибок
- •7.2.3. Централизованная обработка ошибок
- •Обработка ошибок при вложенных вызовах процедур
- •Обработка ошибок объекта CommonDialog
- •7.2.4. Упражнение: Контроль ввода
- •7.2.5. Закрепление материала
- •Приложение 1 Основные приемы работы в среде Visual Basic Основные приемы работы с мышью
- •Управление окнами
- •Размещение элементов управления в форме Установка элемента на форму
- •Установка размеров элемента управления и его положения на форме
- •Копирование объекта
- •Управление группой объектов
- •Приложение 2 Основные функции и типы данных Арифметические операторы
- •Логические операторы
- •Арифметические функции
- •Логические функции
- •Функции и операторы работы с массивами
- •Функции работы с датами и временем
- •Функции обработки строк
- •Операторы и функции работы с файлами
- •Функции проверки значений выражений
- •Средства обработки ошибок
- •Типы данных
- •Приложение 3 Классы и операторы Visual Basic12
- •П4.1.2. Исходные данные
- •П4.1.3. Разработка математической модели
- •П4.1.4. Схема алгоритма программы
- •П4.1.5. Разработка проекта программы
- •Описание переменных
- •Глобальные переменные
- •Описание элементов управления
- •Свойства элементов управления формы Статика
- •П4.2. Текст программы Текст программы mdi-формы
- •Текст программы Модуля
- •Текст программы формы Статика
- •Текст программы формы Динамика
- •Текст программы формы определения зон действия механизма
- •Текст программы формы демонстрации траектории заданной точки
- •Паспорт программ
- •П4.3. Список использованной литературы
- •Литература
3.3.3. Операции с массивами
Массивы широко используются для хранения данных. При работе с файлами данных, вводе и выводе информации удобнее всего записывать данные предварительно в массив. Одной из операций с массивами является сортировка данных.
Известно много различных способов сортировки массивов. Однако, независимо от используемого способа в программе осуществляется сравнение текущего элемента массива с другим элементом этого же массива и, в зависимости от результатов сравнения, осуществляется обмен данными между этими элементами. К сожалению, в VB 6 нет одной полезной функции Swap, которая была в других версиях языка Бейсик. Эта функция была предназначена для обмена значениями двух переменных. Такую функцию можно создать самим. Принцип работы функции обмена двух переменных данными показан на рис. 3.12.
Функция обмена двух переменных данными
Sub Swap(A As Variant, B As Variant)
Dim Temp As Variant
Temp = A
A = B
B = Temp
End Sub
Сортировка массивов
Самая простая процедура сортировки – перебор.
Sub SortMassiv(Massiv() As Variant)
Dim i As Integer, j As Integer
For i = LBound(Massiv) To UBound(Massiv) - 1
For j = i + 1 To UBound(Massiv)
If Massiv(j) < Massiv(i) Then
Swap Massiv(i), Massiv(j)
End If
Next j
Next i
End Sub
Вызывающую программу можно оформить следующим образом
Dim OldMassiv(5 To 10) As Variant, NewMassiv() As Variant
---------------------------------------------------------------------------------
Private Sub Form_Click()
Cls
Dim i As Integer
VvodMassiv1 OldMassiv
ReDim NewMassiv(LBound(OldMassiv) To UBound(OldMassiv)) As Variant
NewMassiv = OldMassiv
SortMassiv NewMassiv()
For i = LBound(OldMassiv) To UBound(OldMassiv)
Print OldMassiv(i), NewMassiv(i)
Next i
End Sub
В этой процедуре для сохранения исходного массива введен массив NewMassiv. Сортируется новый массив. На печать выводятся оба массива.
Доработаем процедуру сортировки массива так, чтобы сортировка массива могла происходить в произвольном порядке. Для этого введем три переключателя Option1 – по возрастанию, Option2 – по убыванию, Option3 – не сортировать (рис. 3.13), которые устанавливаются пользователем. Переключатели могут иметь два состояния: включен – True и выключен - False. Причем если один из переключателей включен, то два другие переключателя будут выключены. Начальная установка производится при разработке программы.
Sub SortMassiv1(Massiv() As Variant)
D
im
i As Integer, j As Integer
For i = LBound(Massiv) To UBound(Massiv) - 1
For j = i + 1 To UBound(Massiv)
If Option1 Then
If Massiv(j) < Massiv(i) Then
Swap Massiv(i), Massiv(j)
End If
ElseIf Option2 Then
If Massiv(j) > Massiv(i) Then
Swap Massiv(i), Massiv(j)
End If
Else
Exit Sub
End If
Next j
Next i
End Sub
При запуске программы переключатели устанавливаются в состояние, указанное при разработке программы.
В качестве переключателей можно использовать элемент управления OptionsButton.
Этот элемент управления может быть снят или установлен. В группе может быть установлен только один переключатель.
Важнейшим событием для переключателя является событие Click. При щелчке мышью по переключателю меняется значение его свойства Value. Свойство Value может принимать три значения: 0 - не отмечен, 1 – отмечен, 2 – отмечен, но не доступен. Последнее значение может быть установлено только программным путем. Например, Option1.Value = 2. Объединить объекты в группу можно с помощью рамки (Frame), которая обладает свойством контейнера. Свойство Value объекта OptionsButton используется по умолчанию, поэтому при обращении к этому свойству указывать его не обязательно, достаточно указать объект, поэтому выражения If Option1.Value Then … и If Option1 Then … эквивалентны.
