- •Операции сравнения в vb
- •Перечень встроенных в vb6 функций по категориям
- •Часто используемые в вычислениях функции vb и возвращаемые ими значения перечислены в нижеследующей таблице
- •InputBox(Приглашение[, Заголовок][, НачЗначение])
- •Процедура с нулевым списком параметров должна очистить форму и установить размер выводимых на форму символов в 30 пунктов и тип символов курсив.
Часто используемые в вычислениях функции vb и возвращаемые ими значения перечислены в нижеследующей таблице
Функция |
Возвращает/действие |
Abs(N) |
Возвращает абсолютное значение N |
Atn(n) |
Возвращает арктангенс N как угол в радианах |
Cos(N) |
Косинус угла N |
Exp(N) |
Возвращает константу е, возведенную в степень N (е 2.718282) |
Fix(N) |
Возвращает целую часть N. Fix не округляет число, а отбрасывает любую дробную часть |
Int(N) |
Возвращает целую часть N. Int не округляет число, а отбрасывает любую дробную часть |
Log(N) |
Возвращает натуральный логарифм N |
Rnd(N) |
Возвращает случайное число; используется Rnd совместно с Randomize (инициализация генератора случайных чисел); аргумент необязателен |
Sgn(N) |
Возвращает знак числа: -1, если N – отрицательно, 1, если N – положительно, 0, если N = 0 |
Sin(N) |
Возвращает синус угла N |
Sqr(N) |
Возвращает корень квадратный из N |
Tan(N) |
Возвращает тангенс угла N |
Asc(S) |
Возвращает число кода символа, соответствующее первой букве строки S |
Chr(N) |
Возвращает строку из одного символа, соответствующего коду символа N |
Format(E,S) |
Возвращает строку, содержащую значение, представленное выражением E, в формате в соответствии с инструкциями, содержащимися в S |
Str(N) |
Возвращает строку, эквивалентную численному выражению N |
Val(S) |
Возвращает численное значение, соответствующее числу, представленному строкой S |
Функция InputBox.Предназначена для ввода данных пользователем. Сопровождается появлением на экране модального окна для ввода стоки данных InputBox.Возвращает введенную в окно ввода строковую переменную.
Синтаксис
InputBox(Приглашение[, Заголовок][, НачЗначение])
Наличие в синтаксисе квадратных скобок означает, что аргумент в квадратных скобках является необязательным.
Приглашение – это любой текст, который должен находиться в окне ввода. Его назначение –подсказка пользователю, какую информацию он должен ввести в специальное поле ввода, находящееся в этом окне.
Заголовок (необязательный параметр) – это надпись в строке заголовка InputBox.
НачЗначение (необязательный параметр)– это значение, которое будет введено автоматически, если пользователь будет с этим согласен.
Возвращаемым значение данной функции является информация, вводимая пользователем. VB автоматически приписывает этой информации тип String. В программе данная функция может входить в состав любого выражения, либо переменной просто присваивается значение этой функции.
Функция MsgBox.Предназначена для выдачи сообщения пользователю. Сопровождается появлением на экране окна сообщения MsgBox.
Синтаксис
MsgBox (сообщение [, кнопки][, заголовок][, файл_помощи, помощь])
Сообщение – обязательный аргумент; строковое выражение, которое и является сообщением или вопросом, обращенным к пользователю. Максимально может содержать около 1024 символов. Если сообщение необходимо разбить на несколько строк, то используются специальные символы кодовой таблицы ASCII: в виде строки Chr(13) & Chr(10), которая добавляется к каждой из разбиваемых строк. Например
MsgBox (“Вы уже посмотрели, как работает программа?”_ &Chr(13)&Chr(10)& “Завершить работу сейчас?”)
Кнопки – необязательный параметр, представляет собой сумму значений, определяющую внешний вид окна сообщения (по умолчанию принимает значение 0).
Некоторые константы аргумента Кнопки
Наименование константы |
Значение |
Описание |
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.
