Функции в языке VB

Функция может иметь один и более аргументов, разделяемых запятыми, и в общем виде записывается так:

ИмяФункции(СписокАргументов)

Функции могут быть различных типов:

­ преобразования типов данных;

­ математические;

­ строковые;

­ финансовые;

­ даты и времени;

­ логические и т.д.

 

Функции преобразования типов данных

 

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

Перечень функций преобразования типов данных

Название функции Получаемый тип данных
CInt Integer
CLng Long
CSng Single
CDbl Double
CCur Currency
CStr String
CByte Byte
CBool Boolean
CDate Date
CVar Variable

 

Val(Строка$) – преобразует строковое значение в числовое (целое)

 

Например: Sum=Val(txt1.Text)+Val(txt2.Text)

 

Str(Число), Oct(Число), Hex(Число) – преобразуют десятичные числа в десятичные, восьмеричные и шестнадцатеричные в строковой форме.

 

Например: txt3.Text=str(sgnSum)

Asc(Строка$) – осуществляет преобразование строки в числовой код (в таблице ASCII)

 

Chr(Число)- осуществляет преобразование числового кода в соответствующий ему символ

 

Математические функции

В VB для решения математических задач существуют встроенные функции, зависящие от одного аргумента.

Перечень основных математических функций

Запись на VB Математическая запись Описание
Abs(x) Модуль
Atn(x) Арктангенс
Cos(x) Косинус
Exp(x) Экспонента
Fix(x)   Отбрасывание дробной части
Int(x)   Наибольшее целое число не превосходящее x
Round(x,a)   Округление числа x с точностью до a десятичных знаков
Log(x) Натуральный лагорифм
Rnd(x)   Датчик случайных чисел
Sgn(x) В зависимости от знака числа возвращаетс 1, 0, -1
Sin(x) Синус
Sqr(x) Квадратный корень
Tan(x) Тангенс

 

Аргумент во всех тригонометрических функциях задается в радианах, а не в градусах. При необходимости можно использовать формулу перевода радианов в градусы:

Радианы = градусы х p/180

Стандартный датчик случайных чисел генерирует число в интервале [0;1], при этом аргумент x в функции Rnd можно опустить.

Особое внимание нужно обратить на округление чисел с помощью функции Round. Здесь реализован принцип “бухгалтерского ” округления. В математике 5,5 будет округлено до 6, а 5, 49 – до 5, “бухгалтерского ” округление предусматривает чередование четных и нечетных чисел, при этом четные числа округляются в меньшую сторону (по модулю), а нечетные – в большую, при этом 3,5 будет округлено до 3, а 4,5 тоже до 3. Аналогично действует и функция Int , которая преобразует числовой тип данных к целому значению. При этом будет округлена дробная часть числа, если она была.

Например: математическое выражение на языке VB запишется следующим образом: y=SQR(COS(u+v)+2.1)

 

запишется: 2.1^ATN(x-cos(b))+1

 

Строковые функции

В строковых функциях строками являются либо аргументы, либо возвращаемые функцией значения.

Для объединения строк используется операция, называемая конкатенацией, которая реализуется с помощью оператора &(конъюнкция) и + (сложение), если объединяемые величины являются строками.

Len(Строка$) - функция определения длины строки.

 

Например: intL=Len(“информатика”) Þ intL=11

 

Left(Строка$, Длина%) - вырезает из строки символов Строка$ начиная от крайнего левого символа количество символов, равное числовому аргументу Длина%.

 

Например: strLL=Left(“информатика”, 6) Þ strLL= “информ”

 

Right(Строка$, Длина%) - вырезает из строки символов Строка$ начиная от крайнего правого символа количество символов, равное числовому аргументу Длина%.

 

Например: strLR=Right(“информатика”, 6) Þ strLR= “матика”

 

Mid(Строка$, Позиция%, Длина%) - вырезает из строки символов Строка$ начиная с символа, находящегося в позиции, заданной числовым аргументом Позиция%, количество символов, равное числовому аргументу Длина%.

Например: strLM=Mid(“информатика”, 3,5) Þ strLM= “форма”

 

Для удаления пробелов в начале и в конце строки используются следующие функции:

LTrim(Строка$) – удаляет все лишние пробелы в начале строки

RTrim(Строка$) – удаляет все лишние пробелы в конце строки

Trim(Строка$) – удаляет все лишние пробелы как в начале так и в конце строки.

 

Для создания или добавления строки пробелов заданной длины используется функция Space (число%) .

Для замены в строке символов одной подстроки другой используется функция

Replace(Строка$, подстрока1$, подстрока2$)

 

Например: strLM=Replace(“информатика”, “инфор”, “мате”) Þ strLM= “математика”

Функции даты и времени

 

Date - возвращает значение текущей даты, которое можно присвоить переменным типа Date. Значение даты представляется в виде Месяц/Число/Год

 

Time$ - возвращает значение текущего времени, имеющее тип String, которое можно вывести в текстовое поле.

Значение времени представляется в виде Часы: Минуты: Секунды. Для периодического обновления времени используется объект Timer, который не отображается на форме и выполняет всего одну функцию – проверяет показания системных часов по событию Timer. Периодичность события Timer может быть задана с помощью значения свойства Interval, задаваемого в милисекундах, для того, чтобы событие происходило каждую секунду, необходимо свойству Interval присвоить значение 1000.

 

Now возвращает значения текущей даты и времени

 

Функция DatePart(“строковый параметр”,D) – функция выделяет из даты значение “строкового параметра”, все возможные значения которого приведены в таблице.

D – дата, значение которой заключается между значками #, например: D=#2/14/2009 4:45:07 PM# ( PM- после полудня, AM – до полудня)

Например:

DatePart(“m”,D) – выделяет из даты номер месяца в году;

DatePart(“s”,D) – выделяет из даты номер секунды в минуте;

DatePart(“w”,D) – выделяет из даты номер дня в неделе, но делает это по-американски, в США первый день недели – воскресенье;

DatePart(“w”,D, vbMonday ) – – выделяет из даты номер дня в неделе, считаем первым днем недели понедельник.

 

Функция DateAdd(“строковый параметр”, ± число,D) – добавляет ( вычитает) к дате число.

Например:

DateAdd(“s”,10,D) – добавляет к дате 10 секунд

DateAdd(“m”,-1,D) – вычитает из даты 1 месяц

Функция DateDiff(“строковый параметр”,D1,D2) – определяет промежуток с момента даты D1 до момента даты D2 в единицах, определяемых строковым параметром

Например:

DateDiff(“h”,D1,D2) – количество часов, прошедших с момента даты D1 до момента даты D2

 

Функция MonthName(число%) – определяет название месяца по заданному числовому выражению месяца

Например: MonthName(5) - май

 

Функция WeekdayName(число%) – определяет название дня недели по заданному числовому выражению

Например: WeekdayName(5) - пятница

Таблица значений строкового параметра для функций работы с датами

Строковый параметр Смысл
yyyy Год
q Квартал в году
m Номер месяца в году
y Номер дня в году
d Номер дня в месяце
w Номер дня в неделе (1-воскресенье)
ww Номер недели в году
h Час в сутках
n Минута в часе
s Секунда в минуте

Логические функции

В VB можно вычислять значения логических выражений, которые будут иметь тип Boolean и могут принимать одно из двух значений: True (истина, 1) и False(ложь, 0).

Например:

Dim x, y, blnA

x=5

y=2

blnA =x>y ‘blnA = True

blnA = x<y ‘blnA= False

Можно использовать следующие логические функции:

Not – логическое отрицание;

And – “конъюнкция” (логическое “и”);

Or – “дизъюнкция” (логическое “или”);