外部语言数据类型 | 大小 | PB数据类型 | 说明 | |
bool或boolean | 16位 带符号 | boolean | 对于windows32是16位、带符号 | |
*(指针) | LPBYTE | 32位指针 | long | 用于windows32位系统 |
LPDWORD | ||||
LPINT | ||||
LPLONG | ||||
LPVIOD | ||||
LPWORD | ||||
PSTR | 16位指针 | 无 | 用于windows32位系统 | |
NPSTR | 16位指针 | 无 | 用于windows32位系统 | |
LPSTR | 32位指针 | string | 用于windows32位系统,参数声明时需加ref | |
其它 | 32位指针 | long |
| |
char* | Byte[] | blob |
| |
char | 8位 带符号 | char |
| |
string | 可能是32位指针方式传递 | string | 对于包含null值的string类型,可以将其定义为blob类型,并分配足够的空间(blob{100}),通过blob{1}(其初始值为null)进行连接,不能通过setnull( )函数处理null值 | |
HANDLE | 32位 无符号 | ulong或usigned long | 用于windows32位系统 | |
byte | 8位 带符号 | char或byte |
| |
short | 16位 带符号 | int或integer |
| |
usigned short | 16位 无符号 | uint或usigned integer |
| |
WORD | 16位 无符号 | uint或usigned integer | 用于windows32位系统 | |
int | 32位 带符号 | long |
| |
usigned int | 32位 无符号 | ulong或usigned long |
| |
long | 32位 带符号 | long |
| |
usigned long | 32位 无符号 | ulong或usigned long |
| |
DWORD | 32位 无符号 | ulong或usigned long |
| |
longlong | 64位 带符号 | longlong |
| |
float | 32位 单精度 | real |
| |
double | 64位 双精度 | double |
| |
struct | 结构体 | structure | 其结构体大小为各元素字节数之和(指针为2字节windows32),应该不是内存对齐的字节数之和,结构体内元素LPSTR指针类型且其中包含null值的,可以定义为blob类型并分配空间(blob{100}),循环提取数据,因为pb的string函数遇到null会自动停止,但后面可能还有数据 | |
|
| date、datetime、time | 结构体,不与外部数据类型兼容 |
注:对照表是参照pb帮助制作,存在不足及错误敬请谅解