Идёт загрузка страницы...

htp://aptem.net.ru






На главную страничку учебника Visual Basic

Стандартные функции VB (A-C)

Описание ф-ций, встроенных в Visual Basic 5, начинающихся с букв A до C


Список функций, описанных в этом разделе:


---A---


Abs (number) - возвращает модуль числа.

Пример:

Dim MyNumber
MyNumber = Abs(50.3) ' возвратит 50.3.
MyNumber = Abs(-50.3) ' возвратит 50.3.


Array (arglist) - возвращает переменную типа variant содержащую массив.

Пример:

Dim MyWeek, MyDay
MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
' Возвращает значение с нижней границей массива равной 1
MyDay = MyWeek(2) ' Теперь MyDay содержит"Tue".
MyDay = MyWeek(4) ' Теперь MyDay содержит "Thu".


Asc (string) - возвращает код первого символа в строке параметре.

Пример:

Dim MyNumber
MyNumber = Asc("A") ' Возвратит 65.
MyNumber = Asc("a") ' Возвратит 97.
MyNumber = Asc("Apple") ' Возвратит 65.

Замечание:

AscB - используется со срокой, длина которой 1 байт

AscW - возвращает двухбайтовый код unicode. (В системах Unix)


Atn (number) - возвращает арктангенс числа.

Пример:

Dim pi
pi = 4 * Atn(1) ' Вычисляет значение числа pi.


---C---


Серия ф-ций конвертирования типов:

CBool (expression) - возвразает boolean значение
CByte (expression) - возвращает значение типа Byte
CCur (expression) - возвращает значение типа Currency
CDate (expression) - возвращает значение типа Date
CDbl (expression) - возвращает значение типа Double
CDec (expression) - возвращает значение типа Decimal
CInt (expression) - возвращает значение типа Integer
CLng (expression) - возвращает значение типа Long
CSng (expression) - возвращает значение типа Single
CVar (expression) - возвращает значение типа Variant
CStr (expression) - возвращает значение типа String


Примеры всех этих ф-ций:

CBool

Dim A, B, Check
A = 5: B = 5 ' Инициализация переменных.
Check = CBool(A = B) ' Check содержит True.

A = 0 ' Инициализация переменной.
Check = CBool(A) ' Check содержит False.

CByte

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble имеет тип Double.
MyByte = CByte(MyDouble) ' MyByte содержит 126.

CCur

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble имеет тип Double.
MyCurr = CCur(MyDouble * 2) ' Конвертирует результат MyDouble * 2

' Double - (1086.429176).
' Currency - (1086.4292).

CDate

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969" ' Запись даты в переменную MyDate.
MyShortDate = CDate(MyDate) ' Конвертирование в тип Date.

MyTime = "4:35:47 PM" ' Запись времени в переменную MyTime.
MyShortTime = CDate(MyTime) ' Конвертирование в тип Date.

CDbl

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784) ' MyCurr имеет тип Currency.
MyDouble = CDbl(MyCurr * 8.2 * 0.01) 'Конвертирует результат в Double.

CInt

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble имеет тип Double.
MyInt = CInt(MyDouble) ' MyInt содержит 2346.

CLng

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45: MyVal2 = 25427.55 'MyVal1, MyVal2 имеют тип Double.
MyLong1 = CLng(MyVal1) ' MyLong1 содержит 25427.
MyLong2 = CLng(MyVal2) ' MyLong2 содержит 25428.

CSng

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 имеют тип Double.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1) ' MySingle1 содержит 75.34211.
MySingle2 = CSng(MyDouble2) ' MySingle2 содержит 75.34216.

CStr

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble имеет тип Double.
MyString = CStr(MyDouble) ' MyString содержит "437.324".

CVar

Dim MyInt, MyVar
MyInt = 4534 ' MyInt имеет тип Integer.
MyVar = CVar(MyInt & "000") 'MyVar содержит значение String "4534000".


Cos (number) - вычисляет косинус числа.

Пример:

Dim MyAngle, MySecant
MyAngle = 1.3 ' Устанавливаем угол в радианах.
MySecant = 1 / Cos(MyAngle) ' Вычисляем секонс.


Chr (charcode) - возвращает символ, соответствующий определённому коду. Эта ф-ция является обратной Asc.

Пример:

Dim MyChar
MyChar = Chr(65) ' Возвратит A.
MyChar = Chr(97) ' Возвратит a.
MyChar = Chr(62) ' Возвратит >.
MyChar = Chr(37) ' Возвратит %.


Choose (index, choice-1[, choice-2, ... [, choice-n]]) - выбирает значение из списка аргументов.

Пример:

Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function

Замечание:

Можно ускорить код с использованием Choose:
Вы можете использовать Choose там, где можно заменить массив или построить таблицы результатов, на стадии компиляции (compile-time), вместо того, чтобы делать это на стадии выполнения (run time). Например, если Вам надо знать значения факториалов чисел от 1 до 10, попробуйте следующий пример (Choose производит выбор факториала из набора имеющихся значений всесто того, чтобы высчитывать факториал каждый раз заново):

Function Factorial (number As Integer) As Long
Factorial = Choose(number, 1, 2, 6, _
24, 120, 720, 5040, 40320, _
362880, 3628800)
End Function


Command - возвращает аргументы с командной строки (т.е. если запустить программу из командной строки, например: myprogram.exe arguments)

Пример:

Этот пример использует функцию Command для получения аргументов с командной строки. Функция GetCommandLine возвратит значение типа Variant содержащее их массив.

Function GetCommandLine(Optional MaxArgs)


Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
If IsMissing(MaxArgs) Then MaxArgs = 10
'Приводим массив в корректный размер
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
'Получаем аргументы с командной строки.
CmdLine = Command()
CmdLnLen = Len(CmdLine)
'Перемещаемся по всем символам в командной строке
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)

'Тестируем на пробел или символ табуляции.
If (C <> " " And C <> vbTab) Then
'Если ни то и ни другое.
'Тест на текущий аргумент.

If Not InArg Then
'Новый аргумент начался.
'Тестируем на слишком большое кол-во аргументов.

If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
'Соединение символа с текущим аргументом.
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
'Ищем пробел или символ табуляции.
InArg = False
End If
Next I
ReDim Preserve ArgArray(NumArgs)
'Возвращаем массив как результат ф-ции.
GetCommandLine = ArgArray()

End Function


CreateObject (class) - возвращает ссылку на объект ActiveX класса class

Пример:

Dim xlApp As Object ' Объявляем переменную типа Object.

Set xlApp = CreateObject("excel.application")
' Должны изменить свойство Visible в True, если хотите,
' чтобы проект Excel был виден

xlApp.Visible = True
' Используем xlApp для доступа к другим объектам Microsoft Excel's.
xlApp.Quit ' Когда вы закончили, используйте
' Quit метод для закрытия Excel

Set xlApp = Nothing ' Сбрасываем ссылку


CurDir [(drive)] - возвращает String, содержащий текущий путь

Пример:

' Предположим, что текущим путь на диске C - "C:\WINDOWS\SYSTEM".
' Предположим, что текущим путь на диске D - "D:\EXCEL".
' Предположим, что текущий диск - диск C.

Dim MyPath
MyPath = CurDir ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("C") ' возвратит "C:\WINDOWS\SYSTEM".
MyPath = CurDir("D") ' возвратит "D:\EXCEL".


CVErr (error number) - возвращает Variant субтипа Error, содержащий код ошибки, определённый пользователем.

Пример:

' Вызывает CalculateDouble с аргументом, приводящим к ошибке.
Sub Test()
Debug.Print CalculateDouble("345.45robert")
End Sub

' Определение ф-ции CalculateDouble.
Function CalculateDouble(Number)
If IsNumeric(Number) Then
CalculateDouble = Number * 2 ' Возвращает результат.
Else
CalculateDouble = CVErr(2001) ' Возвращает номер ошибки,
' определённый пользователем.

End If
End Function

На главную страничку учебника Visual Basic