- •Операции сравнения в vb
- •Перечень встроенных в vb6 функций по категориям
- •Часто используемые в вычислениях функции vb и возвращаемые ими значения перечислены в нижеследующей таблице
- •InputBox(Приглашение[, Заголовок][, НачЗначение])
- •Некоторые константы аргумента Кнопки
- •Процедура с нулевым списком параметров должна очистить форму и установить размер выводимых на форму символов в 30 пунктов и тип символов курсив.
Некоторые константы аргумента Кнопки
Наименование константы |
Значение |
Описание |
VbOKOnly |
0 |
Отображается только кнопка ОК |
VbOKCancel |
1 |
Отображаются кнопки ОК, Отмена (Cancel) |
VbAbortRetryIgnore |
2 |
Отображаются кнопки Стоп (Abort), Повтор (Retry), Пропустить (Ignore) |
VbYesNoCancel |
3 |
Отображаются кнопки Да (Yes), Нет (No), Отмена (Cancel) |
VbYesNo |
4 |
Отображаются кнопки Да (Yes), Нет (No) |
vbRetryCancel |
5 |
Отображаются кнопки Повтор (Retry), Отмена (Cancel) |
VbCritical |
16 |
Отображает значок критического состояния |
VbQuestion |
32 |
Отображает значок вопроса с предупреждением |
VbExclamation |
48 |
Отображает значок предупреждающего сообщения |
vbInformation |
64 |
Отображает значок информационного сообщения |
Заголовок –необязательный аргумент; строковое выражение, отображаемое в заголовке окна, если он опущен, в заголовке используется имя проекта.
Файл_помощи, Помощь – необязательные аргументы, используются в паре для подключения файла помощи, если используется кнопка Справка.
Пример использования функции MsgBox
Private Sub Command1_Click()
a = MsgBox("Вы уже посмотрели, как работает программа?" & _
Chr(13) & Chr(10) & "Завершить работу сейчас?", _
vbYesNo + vbQuestion, _
"Демонстрация в MsgBox многстрочного сообщения")
If a = vbYes Then Unload Me 'выгрузить форму
End Sub
Процедуры и функции в проекте VB
Sub-процедуры
Процедуры – это последовательность объявлений и инструкций, объединенных в структуру с заголовком вида:
Sub Имя_процедуры ([Аргументы])
[Объявления типов]
….
[Операторы процедуры]
….
End Sub
которую можно вызывать из других мест программы на Visual Basic.
Переменные, объявленные внутри процедуры, называются локальными, они доступны только в этой процедуре. Если они объявлены оператором Dim, то они существуют пока выполняется процедура, после чего память освобождается. Есть возможность сохранять значение локальной переменной до следующего вызова процедуры. Для этого ее нужно объявить как статическую, с ключевым словом Static. В этом случае переменная недоступна в других процедурах, но ее значения сохраняются от вызова к вызову процедуры. Глобальные переменные (объявленные со словом Public), доступны всему приложению.
Событийные процедуры
Обработчики событий в Visual Basic реализуются как процедуры. Такие процедуры в VB всегда привязаны как к совершаемому событию, так и к объекту, над которым это событие совершается. Имя событийной процедуры, которое в этом случае формирует VB, складывается из имени объекта и названия события связанных символом подчерка. Фактически весь программный код VB-проекта состоит из некоторого набора процедур-событий, процедур и функций. Например, процедура обработки события щелчка кнопкой Commandl имеет форму
Private Sub Commandl_Click()
{Тело процедуры}
end Sub
Событийные процедуры вызываются работающим приложением при появлении соответствующего события в системе. Если необходимое событие не произойдет, событийная процедура, связанная с этим событием не выполнится ни разу.
Аргументы
Процедуры могут использовать аргументы, список которых (при необходимости с указанием типа) размещают в скобках после имени процедуры. В событийных процедурах набор аргументов зависит от события и не может быть изменен разработчиком.
В общих процедурах количество и порядок используемых аргументов определяется разработчиком.
Способ передачи аргументов
В VB аргументы могут передаваться двумя способами: либо по ссылке ( ByRef ), либо по значению ( ByVal ).
Если аргумент передается как ссылка, то вызванная процедура получает физический адрес памяти передаваемой переменной. И в этом случае можно изменять значение этого аргумента, так как вызываемая и вызывающая процедуры обращаются к одной и той же области памяти и значение переменной для них идентично. По умолчанию аргументы передаются как ссылка, поэтом ключевое слово можно опустить ByRef.
При передаче аргументов по значению вызванная процедура получает копию значения этого аргумента, и изменить его не может. Ключевое слово ByVal должно указываться обязательно.
Можно создавать общие для формы или проекта в целом процедуры, не связанные с объектами на форме, если в вашем приложении есть часто повторяющаяся последовательность кодов Это существенно сократит время набора программного кода и упростит алгоритм. Для создания общей процедуры необходимо в модуле кода или секции (General/Declaration) кода формы ввести Sub, затем задать имя и нажать клавишу Enter. В полученной конструкции набрать свой код тела процедуры.
Sub имя()
[Тело процедуры]
End Sub
Такие процедуры называют еще пользовательскими или главными процедурами.
Вызов процедур
В создаваемых процедурах могут использоваться и аргументы. Они просто помещаются в скобках в заголовке процедуры с указанием, при необходимости, типа данных. Аргументы могут быть как формальными (используемыми в теле процедуры), так фактическими (передаваемыми в процедуру при ее вызове).
Для вызова общей процедуры, необходимо воспользоваться оператором
Call Имя_процедуры
или просто записав ее имя, перечислив ее фактические параметры через запятую без скобок.
Примеры.
1) Вычислить сумму где f={5;-3;1;2}.
Сначала в разделе General создается процедура вычисления произведения любого количества любых сомножителей из элементов массива.
Sub proizv(k,z,p)
Dim i as integer
p=1
For i=1 to k
p=p*z(i)
Next
End sub
Здесь жирным выделены ключевые слова VB, k- количество сомножителей, z- имя массива, элементы которого перемножаются, p – параметр, в котором будет храниться значение вычисленного произведения.
Затем в событийной процедуре Command1_Click, создают программный код, в котором используют созданную процедуру.
Private Sub Command1_click()
Dim F(4), F1(4), S,p,p1 as Single
Dim i as Integer
For i=1 to 4
F(i)=val(inputbox(“Введите f”))
F1(i)=sin(f(i))
Next
Proizv 4,f,p1
Proizv 3,f1,p2
S=p1+p2
Print “Сумма произведений равна”; s
End sub
Здесь после ввода в память массивов f и f1 дважды вызывается процедура Proizv. При этом в первом обращении к ней, в нее передаются фактические значения для входных формальных параметров k и z, соответственно равных 4 и f, а результат сохраняется как значение выходного формального параметра p1. Во второй раз – значения параметров k и z, соответственно равны 3 и f1, а результат сохраняется как значение переменной p2.