Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на BASIC / Visual Basic / Visual Basic 6.0 / БВГ / Лекция_Б_Бурков_Типы данных, константы и переменные и функции в VB6.doc
Скачиваний:
121
Добавлен:
02.05.2014
Размер:
217 Кб
Скачать

Часто используемые в вычислениях функции 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), Отмена (Can­cel)

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-проекта состоит из некоторого набора процедур-событий, процедур и функций. Например, процедура обработки события щелчка кнопкой Com­mandl имеет форму

Private Sub Commandl_Click()

{Тело процедуры}

end Sub

Событийные процедуры вызываются работающим приложением при появлении соответ­ствующего события в системе. Если необходимое событие не произойдет, событийная процедура, связанная с этим событием не выполнится ни разу.

Аргументы

Процедуры могут использовать аргументы, список которых (при необходимости с указа­нием типа) размещают в скобках после имени процедуры. В событийных процедурах на­бор аргументов зависит от события и не может быть изменен разработчиком.

В общих процедурах количество и порядок используемых аргументов определяется раз­работчиком.

Способ передачи аргументов

В VB аргументы могут передаваться двумя способами: либо по ссылке ( ByRef ), либо по значению ( ByVal ).

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

При передаче аргументов по значению вызванная процедура получает копию зна­чения этого аргумента, и изменить его не может. Ключевое слово ByVal должно указы­ваться обязательно.

Можно создавать общие для формы или проекта в целом процедуры, не связанные с объектами на форме, если в вашем приложении есть часто повторяющаяся последова­тельность кодов Это существенно сократит время набора программного кода и упростит алгоритм. Для создания общей процедуры необходимо в модуле кода или секции (Gen­eral/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.