C data type | Declare as | Description |
---|---|---|
BYTE, CHAR | ByVal variable As Byte | A single byte in the memory |
BOOL | ByVal variable As Long | Long that's that should have the value 1 or 0 |
ATOM | ByVal variable As Integer | An expression that evaluates to an Integer |
SHORT | ByVal variable As Integer | An 16 bit value, like the integer type used in Visual Basic |
INT | ByVal variable As Long | A 32 bits integer value |
LONG | ByVal variable As Long | Synonym for INT |
WORD | ByVal variable As Integer | An integer value, or two (bit wise concatenated) BYTES * |
DWORD | ByVal variable As Long | A long value, or two (bit wise concatenated) WORDS * |
UINT | ByVal variable As Long | A 32 bits integer that can't have values below 0 * |
LPARAM, WPARAM, LRESULT | ByVal variable As Long | Synonym for INT, used in some cases to describe the expected value |
COLORREF | ByVal variable As Long | Synonym for INT; A simple RGB color code; but not like OLE_COLOR does * |
HWND, HDC, HMENU, etc. | ByVal variable As Long | Synonym for INT; used in some cases to describe the expected value (a handle). |
LPDWORD, LPINT, LPUINT | variable As Long | Long Pointer to the data type after LP |
LPWORD | variable As Integer | Long Pointer to a WORD |
LPRECT | variable As RECT | Long Pointer to a Type RECT structure |
LP* | variable As (type) | Long Pointer to a variable, structure or function * |
LPSTR, LPCSTR | ByVal variable As String | A String variable, Visual Basic converts the values |
LPVOID | variable As Any | Any variable (use ByVal when passing a string) |
NULL | As Any or ByVal variable As Long |
Only supply ByVal Nothing, ByVal 0& or vbNullString as value |
VOID | Sub procedure | Not applicable; void means empty, nothing, nada, nope |
特別說明
COLORREF
COLORREF值是紅 - 綠 - 藍組合。 Visual Basic使用OLE_COLOR ,它也可以存儲系統顏色標識符。 COLORREF類型不支持此功能。 要轉換該類型,請使用oleTranslateColor() 。 API。DWORD,WORD
很多時候,您可以將這些類型視為長期值。 DWORD也用於存儲兩個值; LoWord和HiWord。 HiWord存儲在前兩個字節中,LoWord存儲在long值的最後兩個字節中。字符串
字符串自動轉換為C風格的等價物。 將它們作為ByVal 變量 As String傳遞。 如果需要將String存儲在結構中, StrPtr()和StrConv()等函數非常有用。指針
指針是存儲變量的存儲位置的特殊類型。 Visual Basic不允許直接使用指針,但在參數列表中使用ByRef具有所需的效果。 它會將變量的內存位置(指針)傳遞給函數。功能指針
可以使用AddressOf運算符傳遞指向函數的指針。 大多數回調函數提供了一個附加參數,以包括自定義長值( lParam參數)。 要將對象指針傳遞給該值,請使用ObjPtr() 。 在回調函數中,您可以使用CopyMemory() API將long值複製到未初始化的對象。無符號類型
像C和C ++這樣的語言支持所謂的「無符號類型」。 這些類型的Visual Basic不支持不同的範圍。 正常的Long支持負值和正值。 在無符號長度中,不使用負範圍。這使得可以在數據類型中存儲更大的正值。 例如,值HFFFFFFFF(-1為長)為4294967295,這是Visual Basic Long類型可以處理的兩倍。
沒有留言:
張貼留言