Оператор объявления массивов

Объявление массива с использованием оператора Dim имеет следующий синтаксис:

Dim VarName([Subscripts]) [As Type]

VarName - любое имя массива, использующее допустимый идентификатор имени;

Subscripts - измерение массива. Если размерность массива больше единицы, то Subscripts разделяются запятыми.

Оператор Subscripts имеет следующий синтаксис:

[lower To] upper [,[lower To] upper]..

lower - определяет нижний диапазон допустимых индексов для массива (необязательный аргумент);

upper - определяет верхний предел для индексов массива (обязательный аргумент).

Примеры правильного объявления массивов:

Dim Array_Str (1 To 10) As String - одномерный статический строковый массив, включающий 10 элементов;

Dim Array_Var() - динамический массив;

Dim Array_Mult (0 To 5, 0 To 7) As Integer - двумерный статический массив целых чисел, включающий 6*8=48 элементов.

33. Создание меню

Создание меню в Visual Basic осуществляется с помощью специального инстру мента создания меню — редактора меню. Окно редактора меню открывается одним из трех способов: путем нажатия комбинации клавиш [Ctrl+E], нажатием соответствующей кнопки на панели инструментов или после выбора команды меню Tools\Menu Editor.... На рисунке показано окно проекта меню с уже готовым проектом.

Из рисунка видно, что элементы меню создаются аналогично элементам управления и имеют такие свойства, как Caption и Enabled. Меню строится иерархически, и его структура выглядит примерно так:

Элемент! Строка_заголовка (Уровень_1) Уровень_2 Уровень_3 ~Уровень_4 Уровень_5 Уровень_6 Элемент2 Строка_заголовка Уровень_2

Проще всего создавать меню при помощи встроенного редактора меню Visual Basic. Для этого сначала в поле Caption окна редактора вводится текст, который будет виден в строке меню. Для быстрого открытия меню или вызова команды используются горячие клавиши. Для определения горячих клавиш достаточно в поле Caption перед соответствующей буквой поставить амперсанд (&). Например, для быстрого открытия меню File в поле Caption диалогового окна редактора меню необходимо ввести "&File". Если же в качестве горячих клавиш нужно определить [Alt+i], то в поле Caption следует ввести "F&ile".

Второй шаг — назначение имени элементу меню (так же, как любому элементу управления). Учтите, что Visual Basic не задает имя по умолчанию, как для других элементов управления.

Правила назначения имени

При назначении имен элементам меню также нужно соблюдать правила. Имя должно состоять из следующих частей: прежде всего, префикса, указывающего, что это меню, т.е. mnu; затем следует: для пунктов главного меню — имя пункта, для подменю — сокращенные имена родительских пунктов, а затем собственное имя меню. В таблице приводятся некоторые примеры:

Таблица 3.8. Имена меню

Команда меню

Имя

file

mnuFile

.ile\Qpen...

mnuFOpen

.ile\Send\Eax

mnuFSFax

Последняя задача при создании меню — определение уровней. Для этого вос пользуйтесь кнопками со стрелками. Кнопка со стрелкой вправо смещает элемент меню на уровень ниже, а со стрелкой влево — на уровень выше. Кнопки с вертикальными стрелками изменяют позицию отдельных элементов меню, т.е. перемещают их в списке вверх или вниз.

Поле Shortcut позволяет определить комбинации клавиш для быстрого доступа к отдельным элементам меню. Среди наиболее часто используемых приложениями Windows комбинаций клавиш можно отметить следующие: [Ctrl+X] (Cut), [Ctrl+C] (Copy), [Ctrl+V] (Paste).

Поля WtadowList и Index будут рассмотрены позже.

Свойства Visible, Enabled, Checked

В последней строке верхней половины окна редактора меню есть еще три свойства элементов меню. Свойство visible позволяет отображать или скрывать отдельные элементы меню. Свойство Enabled функционирует так же, как в других элементах управления: если его значение False, то текст надписи подсвечивается серым цветом и пользователь не может выполнить эту команду меню. Свойство Checked встречается в данной книге впервые. Оно позволяет пометить выбранный элемент меню галочкой.

Свойства элементов меню можно изменять и во время выполнения. При этом синтаксис такой же, как и для других элементов управления:

mnuFLoad.Caption = "&3агрузить" mnuFLoad.Enabled = False mnuFLoad.Visible = False mnuFLoad.Checked = True

Для создания процедуры выполнения команды меню следует во время проектирования выбрать соответствующий пункт в форме. При этом создастся процедура обработки события click. Другие элементы меню можно найти и в списке объектов окна кода.

Private Sub mnuFLoad_Click () LoadSomething End Sub

Функция Описание Пример
Len(str) Определяет длину строки Из а=lеn("Персонажи") следует а=9
Left (<строка>, <длина>) Выделяет из аргумента <строка> указанное количество символов слева Left(" 1234string", 4) ="1234"
Right(<строка>, <длина>) Выделяет из аргумента <строка> указанное количество символов справа Right(" 1234string", 6) ="string"
Mid(<строка>, <старт> [, <длина>]) Выделяет из аргумента <строка> подстроку с указанным числом символов, начиная с позиции <старт> Mid ("12345678", 4.3) ="456"
Mid(<строка>, <старт>) Выделяется подстрока от позиции <старт> до конца строки Mid ("12345678", 4) ="45678"
LTrim (<строка>) Удаляет пробелы в начале строки LTrim(" печать") ="печать"
RTrim (<строка>) Удаляет пробелы в конце строки RTrim("печать ") ="печать"
Trim (<строка>) Удаляет пробелы в начале и в конце строки Trim(" печать ") ="печать"
InStr([<старт>, ] < строка1>, <строка2> [, <сравнение>]) Производит поиск подстроки в строке. Возвращает позицию первого вхождения строки <строка2> в строку <строка1>, <старт> - позиция, с которой начинается поиск. Если этот аргумент пропущен, поиск начинается с начала строки Instr("C:Temp test.mdb", "Test")=9 Если искомая строка не находится в указанной строке, функция возвращает 0
InStrRev ([<старт>, ] <строка1>, <строка2> [, <сравнение>]) Ищет подстроку в строке, но начинает поиск с конца строки и возвращает позицию последнего вхождения подстроки. Необязательный аргумент <сравнение> определяет тип сравнения двух строк  
Replace (<строка>, <строкаПоиск>, <строкаЗамена>) Позволяет заменить в строке одну подстроку другой. Эта функция ищет все вхождения аргумента <строкаПоиск> в аргументе <строка> и заменяет их на <строкаЗамена>  

Наши рекомендации