- •1.1. Запуск Visual Basic
- •1.2. Строка Главного меню
- •1.3. Главная панель, наборы инструментов
- •1.4. Создание объектов управления
- •1.5. Экранная форма
- •1.6. Основные окна проекта
- •1.7. Сохранение проекта, завершение работы
- •Упражнение 1
- •2.1. Этапы создания приложения
- •2.2. Постановка задачи
- •2.3. Разработка интерфейса
- •2.4. Установка свойств объектов
- •2.5. Программирование
- •Упражнение 2
- •Задание для самостоятельной работы
- •3.1. Имя и значение переменной
- •3.2. Оператор языка
- •3.3. Пример Windows-приложения
- •Упражнение 3
- •Задания для самостоятельной работы
- •4.1. Выражения
- •Деление по модулю А на В
- •Вычитание В из А
- •4.2. Функции в языке VBasic
- •4.3. Встроенные функции
- •4.4. Пример Windows-приложения
- •4.5. Определяемые функции
- •Упражнение 4
- •Задания для самостоятельной работы
- •5.1. Функции обработки строк
- •5.2. Использование Финансовых функций
- •5.3. Пример Windows-приложения
- •Упражнение 5
- •Задания для самостоятельной работы
- •6.1. Условные выражения
- •6.2. Условный оператор IF
- •6.3. Оператор перехода CASE
- •6.4. Оператор перехода GoTo
- •Упражнение 6
- •Задания для самостоятельной работы
- •7.1. Цикл со счетчиком
- •7.2. Цикл с условием
- •Упражнение 7
- •Задания для самостоятельной работы
- •8.1. Одномерный массив
- •8.2. Пример Windows-приложения
- •8.3. Массив объектов
- •8.4. Многомерный массив
- •Упражнение 8
- •Задания для самостоятельной работы
- •ЛИТЕРАТУРА
Private Sub Command 1_Click() 'выбор из массива по 'значению
TabIndex=0
OLE1(Command1.Tablndex).Visible = True
End Sub
Private Sub Command2_Click() |
'выбор из массива по 'значению |
TabIndex=1 |
|
OLE1 (Command2.Tablndex).Visible = True
End Sub
Private Sub Command3_Click() |
'выбор из массива по 'значению |
TabIndex=1 |
|
OLE1 (Command3.Tablndex).Visible = True
End Sub
8.4. Многомерный массив
Массивы могут быть и многомерными. В таких массивах присутствует несколько диапазонов значений индексов, которые записываются через запятую в скобках после имени массива. Пример объявления двумерного и трехмерного массивов:
Dim МассивА( 1 То 100, -5 То 4)
As Double
Dim МассивВ( 19,49,100) As
String* 10
Упражнение 8
•Сделать приложение по рис. 43.
•Запустить приложение, проверить работу.
•Сделать приложение по рис. 44. Массив объектов OLE делается копированием вынесенного на форму объекта. Выбор объекта сделать по рис. 46.
Рис. 46
• Заполнение контейнеров OLE выполняется через редактор Paint-Brush (рис. 47).
Рис. 47
• Запустить приложение, в процессе работы отредактировать рисунки.
Задания для самостоятельной работы
Каждое задание состоит из двух частей: а) и б).
а) Одномерные массивы
1.Подсчитать количество положительных, отрицательных, нулевых значений, количество целых и дробных чисел, хранящихся в одномерном массиве из 10 элементов.
2.Найти наибольший и наименьший элементы одномерного массива из 10 элементов.
3.Подсчитать отдельно сумму четных и нечетных элементов одномерного массива из 10 элементов.
4.Вычислить сумму и произведение элементов одномерного массива из 10 элементов. Разделить первую величину на вторую.
5.Дан массив целых чисел А. Четные значения элементов массива записать в массив В, нечетные – в массив С. Подсчитать количество тех и других.
6.Протабулировать функцию
на интервале [-5; 5] с шагом изменения аргумента, равным 1. Значения аргумента записать в массив X, результат – в массив У.
7.Координаты точек ломаной линии находятся в двух одномерных массивах Х
иУ. Определить, в какой четверти лежит каждая точка.
8.Два одномерных массива X и У (из 5 элементов каждый) объединить в один
–Z. Четные элементы массива Z состоят из элементов массива X, нечетные – из элементов массива У.
9.В одномерном массиве хранятся значения температуры воздуха в течение суток с интервалом в один час. Определить средние температуры дня и ночи, среднесуточную температуру.
10.Сгенерировать массив случайных чисел (от 0 до 10) из 25 элементов с помощью функции Rnd. Перед использованием Rnd инициализируйте генератор случайных чисел с помощью Randomise. Подсчитать, сколько раз встречается каждое число. Счетчик организовать в виде другого одномерного массива.
11.Поменять местами четные и нечетные элементы одномерного массива из 10 элементов.
12.Сформировать массив, содержащий элементы исходного массива в обратном порядке.
б) Многомерные массивы
1.Перемножить две матрицы А и В размерностью n×m и m×k. Размерности матриц и значения их элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы n×k.
2.Сложить две матрицы А и В размерностью n×m. Размерности матриц и значения их элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы n×m.
3.Транспонировать матрицу А размерностью n×m. Размерности матрицы и значения ее элементов ввести с клавиатуры. Результат вывести на экран в виде матрицы m×n.
4.Вычислить определитель матрицы A размерности 3×3.
5.Координаты точек ломаной линии хранятся в двумерном массиве. Определить, пересекает ли каждый отрезок ломаной оси абсцисс и ординат.
6.Подсчитать сумму элементов каждой строки двумерного массива размерностью n×m.
7.Подсчитать среднее арифметическое каждого столбца двумерного массива размерностью n×m.
8.Найти наибольший элемент каждой строки и наименьший элемент каждого столбца двумерного массива размерностью n×m.
9.Из имеющегося одномерного массива из 20 элементов сформировать двумерный массив размерностью 5×4.
10.Подсчитать сумму элементов и их количество для верхней треугольной части матрицы размерностью n×n.
11.Подсчитать сумму элементов главной и побочной диагоналей квадратной матрицы размерностью n×n. Разделить большее число на меньшее.
12.Из двумерного массива размерностью 5×5 элементов удалить четные строки и столбцы. Результат вывести на экран в виде матрицы.
ПРИЛОЖЕНИЕ Основные элементы управления VBA
|
Свойства элементов управления |
Таблица П1 |
||
|
|
|||
Свойство |
|
Описание |
|
|
|
|
Элемент управления TextBox |
|
|
Text |
|
Содержимое поля |
|
|
Enable |
|
Можно ли вносить изменения в содержание поля |
||
|
|
(True) или нет (False) |
|
|
Multiline |
|
Многострочный (True) или однострочный (False) |
||
|
|
режим ввода текста |
|
|
WordWrap |
|
Включение/выключение (True/False) режима |
||
|
|
автоматического переноса |
|
|
ScrollBars |
|
Отображение полос |
прокрутки: |
не выводить |
|
|
(fmScrollBarsNone), |
только |
горизонтальная |
|
|
(fmScrollBarsHorizontal), |
только |
|
|
|
вертикальная (fmScrollBarsVertical), обе |
||
|
|
полосы прокрутки (fmScrollBarsBoth) |
||
SelLength |
|
Длина выделенного фрагмента |
|
|
SelStart |
|
Начало выделенного фрагмента |
|
|
SelText |
|
Текст выделенного фрагмента |
|
|
Свойства элементов управления |
Таблица П1 |
|||
|
||||
Свойство |
|
Описание |
|
|
MaxLength |
Максимально |
допустимое |
количество |
вводимых |
|
символов (0 – нет ограничений) |
|
||
PasswordChar |
Определяет символ, отображаемый при вводе пароля |
|||
|
Элемент управления Label |
|
|
|
Caption |
Текст надписи |
|
|
|
Multiline |
Многострочный (True) или однострочный (False) |
|||
|
режим ввода текста |
|
|
|
WordWrap |
Включение/выключение (True/False) режима |
|||
|
автоматического переноса |
|
|
|
Элемент управления CommandButton |
|
|||
Caption |
Текст, отображаемый на кнопке |
|
||
Cancel |
Включение/выключение |
(True/False) |
||
|
отменяющего режима для кнопки (аналогичного |
|||
|
действию при нажатии на клавишу ESC) |
|
||
Accelerator |
Определение "горячей" клавиши (клавиши, нажатие |
|||
|
на которую одновременно с клавишей ALT |
|||
|
приводит к выполнению действий, инициируемых |
|||
|
нажатием |
управляющего |
элемента |
|
|
CommandButton) |
|
|
|
Default |
Задает кнопку по умолчанию |
|
|
|
|
Элемент управления ListBox |
|
||
ListIndex |
Номер текущего элемента списка (нумерация |
|||
|
осуществляется с нуля) |
|
|
|
ListCount |
Число элементов списка |
|
|
|
TopIndex |
Элемент списка с наибольшим номером |
|
||
ColumnCount |
Число столбцов в списке |
|
|
|
TextColumn |
Устанавливает столбец в списке, элемент которого |
|||
|
возвращается свойством Text |
|
||
Text |
Выбранный элемент |
|
|
|
List(row, column) |
Заданный элемент списка |
|
|
|
RowSource |
Диапазон, содержащий элементы списка |
|
||
ControlSource |
Диапазон (ячейка), куда возвращается выбранный |
|||
|
элемент списка |
|
|
|
Свойства элементов управления |
Таблица П1 |
|||||
|
|
|||||
Свойство |
|
Описание |
|
|
||
MultiSelect |
Способ выбора элементов списка: выбор только |
|||||
|
одного элемента (fmMultiSelectSingle), выбор |
|||||
|
нескольких элементов с помощью мыши или |
|||||
|
клавиши SPACE (fmMultiSelectMulti), выбор |
|||||
|
нескольких элементов с использованием клавиши |
|||||
|
SHIFT (fmMultiSelectExtended) |
|
||||
Selected |
Выбран элемент списка (TRUE) или нет (FALSE) |
|||||
ColumnWidths = |
Ширина столбцов списка |
|
|
|
||
“число [; число |
|
|
|
|
|
|
[;…]]” |
|
|
|
|
|
|
ColumnHeads |
Вывод заголовков столбцов списка (TRUE) или нет |
|||||
|
(FALSE) |
|
|
|
|
|
ListStyle |
Пометка |
выделенного элемента |
списка цветом |
|||
|
(fmListStylePlain) |
или |
|
флажком |
||
|
(fmListStyleOption) |
|
|
|
||
MatchEntry |
Режим вывода первого подходящего элемента |
|||||
|
списка при наборе его имени на клавиатуре: режим |
|||||
|
отключен (fmMatchEntryNone), вывод по первой |
|||||
|
букве (fmMatchEntryFirstLetter), вывод по |
|||||
|
полному |
набранному |
|
имени |
||
|
(fmMatchEntryComplete) |
|
|
|||
BoundColumn |
Тип, возвращаемый свойством Value: индекс |
|||||
|
выбранной строки (0) или сам элемент (1) |
|
||||
Clear |
Удаляет все элементы из списка |
|
|
|||
RemoveItem(index) |
Удаляет из списка элемент с номером index |
|||||
AddItem([item [, |
Добавляет элемент |
item |
как элемент |
списка с |
||
index]]) |
номером index |
|
|
|
|
|
|
Элемент управления ComboBox |
|
|
|||
DropButtonStyle |
Вид раскрывающегося |
списка: |
без |
символа |
||
|
(fmDropButtonStylePlain), |
со |
стрелкой |
|||
|
fmDropButtonStyleArrowDisplays), |
с |
||||
|
эллипсом, (fmDropButtonStyleEllipsis), с |
|||||
|
линией (fmDropButtonStyleReduce) |
|
||||
ListRows |
Число элементов, отображаемых в раскрывающемся |
|||||
|
списке |
|
|
|
|
|
MatchRequired |
Разрешение (True) или запрещение (False) ввода с |
|||||
|
клавиатуры значений, отличных от перечисленных в |
|||||
|
списке |
|
|
|
|
|
MatchFound |
Найден |
(True) или |
нет |
(False) введенный с |
||
Таблица П1
|
Свойства элементов управления |
|
|
||
Свойство |
|
|
Описание |
|
|
|
|
клавиатуры элемент среди значений перечисленных |
|||
|
|
в списке |
|
|
|
Элемент управления ScrollBar |
|
|
|||
Value |
|
Текущее значение полосы прокрутки |
|
||
Min |
|
Минимальное значение полосы прокрутки (целое |
|||
|
|
неотрицательное число) |
|
|
|
Max |
|
Максимальное значение полосы прокрутки |
|
||
SmallChange |
|
Шаг изменения значения при использовании стрелок |
|||
|
|
полосы прокрутки |
|
|
|
Элемент управления SpinButton |
|
|
|||
Value |
|
Переключатель выбран (True) или нет (False) |
|
||
Capture |
|
Текст, отображаемый рядом с переключателем |
|
||
|
|
Элемент управления Image |
|
|
|
Picture=Loadpic- |
Задает имя отображаемого графического файла |
|
|||
ture(ИмяФайла) |
|
|
|
|
|
PictureSizeMode |
|
Масштабирование |
рисунка: |
обрезка |
не |
|
|
умещающихся в заданных границах частей рисунка |
|||
|
|
(fmPictureSizeModeClip), изменение разме-ров |
|||
|
|
рисунка в соответствии с |
границами объекта |
||
|
|
(fmPictureSizeModeStretch), масштабирова- |
|||
|
|
ние по границам объекта с соблюдением пропорций |
|||
|
|
(fmPictureSizeModeZoom) |
|
|
|
PictureAlignment |
|
Расположение рисунка внутри объекта: в левом |
|||
|
|
верхнем углу (fmPictureAlignmentTopLeft), в |
|||
|
|
правом верхнем углу (fmPictureAlignment- |
|||
|
|
TopRight), в центре (fmPictureAlignment- |
|||
|
|
Center), в левом нижнем углу (fmPicture- |
|||
|
|
AlignmentBottomLeft), в правом нижнем углу |
|||
|
|
(fmPictureAlignmentBottomLRight) |
|
||
PictureTiling |
|
Режим расположения рисунка мозаикой (True) |
|
||
Элемент управления MultiPage |
|
|
|||
Value |
|
Возвращает номер выбранной страницы |
|
||
MultiRow |
|
Включение/выключение (True/False) режима |
|||
|
|
разрешения отображения ярлыков страниц в |
|||
|
|
несколько строк |
|
|
|
SelectedItem |
|
Возвращает выбранную страницу |
|
||
Семейство |
Pages элемента управления MultiPage |
|
|||
Count |
|
Возвращает число элементов семейства |
|
||
|
|
|
|
Таблица П1 |
Свойства элементов управления |
||||
Свойство |
|
|
Описание |
|
Set Object = |
Создает новую страницу Object семейства Pages; |
|||
object.Add ([Name |
Name – имя страницы, Caption – текст на ярлыке |
|||
[, Caption [, |
страницы, index – номер страницы (нумерация |
|||
index]]]) |
осуществляется с нуля) |
|
||
Clear |
Удаляет все страницы из семейства Pages |
|||
Remove |
Удаляет страницу из семейства Pages |
|||
Set Object = |
Возвращает страницу с указанным индексом |
|||
object.Item |
|
|
|
|
(coolectionindex) |
|
|
|
|
Общие |
свойства элементов управления |
|||
Name |
Имя элемента управления |
|||
Caption |
Текст, отображаемый на элементе управления |
|||
AutoSize |
Включение/выключение (True/False) режима |
|||
|
автоматического |
изменения размеров элемента |
||
|
управления, чтобы на нем полностью отображался |
|||
|
текст, присвоенный свойством Caption |
|||
Visible |
Включение/выключение (True/False) режима |
|||
|
отображения элемента управления |
|||
Enabled |
Включение/выключение (True/False) режима |
|||
|
разрешения управления объектом |
|||
Height |
Высота объекта |
|
|
|
Width |
Ширина объекта |
|
|
|
Left, Top |
Координаты верхнего левого угла элемента |
|||
|
управления |
|
|
|
ControlTipText |
Задает текст всплывающей подсказки |
|||
BackColor |
Цвет заднего плана элемента |
|||
ForeColor |
Цвет переднего плана элемента |
|||
BorderColor |
Цвет границы элемента |
|
||
BackStyle |
Тип (стиль) заднего фона |
|||
BorderStyle |
Устанавливает один тип (стиль) границы, но |
|||
|
различных |
цветов: |
fmBorderStyleSingle |
|
|
(граница в виде |
контура), fmBorderStyleNone |
||
|
(невидимая граница) |
|
||
SpecialEffect |
Устанавливает несколько типов (стилей) границы, |
|||
|
но одного цвета |
|
|
|
Picture |
Внедряет графическое изображение на элемент |
|||
|
управления |
|
|
|
Tag |
Используется |
для |
хранения дополнительной |
|
Таблица П1
Свойства элементов управления
|
Свойство |
|
Описание |
||
|
|
информации о форме или элементе управления |
|||
|
|
|
|
Таблица П2 |
|
|
Некоторые символические константы VBA |
||||
|
Константа |
Значение |
|
Цвет |
|
|
vbBlack |
0×0 |
|
Черный |
|
|
vbRed |
0×FF |
|
Красный |
|
|
vbGreen |
0×FF00 |
|
Зеленый |
|
|
vbYellow |
0×FFFF |
|
Желтый |
|
|
vbBlue |
0×FF0000 |
|
Синий |
|
|
vbMagenta |
0×FF00FF |
|
Розовый |
|
|
vbCyan |
0×FFFF00 |
|
Голубой |
|
|
vbWhite |
0×FFFFFF |
|
Белый |
|
|
|
|
|
Таблица П3 |
|
|
Основные методы и события объекта UserForm |
||||
|
Метод/событие |
|
Описание |
|
|
|
Show |
Отображает форму на экране |
|
||
|
Hide |
Закрывает форму |
|
|
|
|
Move |
Изменяет положение и размер формы |
|
||
|
PrintForm |
Печатает изображение формы |
|
||
|
Initialize |
Происходит при отображении формы на экране |
|
||
|
Terminate |
Происходит при закрытии формы |
|
||
