Основы офисного программирования и язык VBA

       

Соответствие между простыми типами данных


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

Таблица 6.1. Соответствие между типами языков C и VBA

C/C++ тип данныхВенгерская нотацияОписаниеТип языка VBA
BOOL b8-и битное булево значение. Значение 0 эквивалентно False, ненулевое значение - True Boolean или Long
BYTE ch8-и битное целое без знака Byte
HANDLE h32 -х битное целое без знака, задающее описатель Windows -объектов Long
int n2-х байтное целое со знаком Integer
UINT u2-х байтное целое без знака Long
DWORD dw4-х байтное целое без знака Long
long l4-х байтное целое со знаком Long
LP lp32-х битный указатель на C/C++ структуры, строки, функции или другие данные в памяти Long
LPZSTR lpsz32-х битный указатель на C строку, завершаемую нулем Long

При преобразовании данных между типами UINT и DWORD и типом Long могут возникнуть проблемы, если заданы некорректные значения этих данных. Понятно, что если параметр функции API объявлен как UINT, то возникнет ошибка при попытке передать через тип Long отрицательное значение или длинное целое, превосходящее значение, допустимое для типа UINT. Конечно, нужно быть или осторожным или ввести собственные типы данных, где все необходимые проверки будут выполняться.



Содержание раздела