| 外部语言数据类型 | 大小 | 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帮助制作,存在不足及错误敬请谅解