• Delphi与C之间的类型对应表


    Delphi与C之间的类型对应表.其中左边是C类型,右边是对应的Delphi类型:

    ABC -> TABC
    ACCEL -> TAccel
    ATOM -> TAtom
    BITMAP -> TBitMap
    BITMAPCOREHEADER -> TBitmapCoreHeader
    BITMAPCOREINFO -> TBitmapCoreInfo
    BITMAPFILEHEADER -> TBitmapFileHeader
    BITMAPINFO -> TBitmapInfo
    BITMAPINFOHEADER -> TBitmapInfoHeader
    BOOL -> Bool
    CBT_CREATEWND -> TCBT_CreateWnd
    CBTACTIVATESTRUCT -> TCBTActivateStruct
    CHAR -> Char
    CHAR* -> PChar
    CLIENTCREATESTRUCT -> TClientCreateStruct
    COLORREF -> TColorRef
    COMPAREITEMSTRUCT -> TCompareItemStruct
    COMSTAT -> TComStat
    CREATESTRUCT -> TCreateStruct
    CTLINFO -> TCtlInfo
    CTLSTYLE -> TCtlStyle
    CTLtype -> TCtltype
    DCB -> TDCB
    DDEAACK -> TDDEAck
    DDEADVISE -> TDDEAdvise
    DDEDATA -> TDDEData
    DDEPOKE -> TDDEPoke
    DEBUGHOOKINFO -> TDebugHookInfo
    DELETEITEMSTRUCT -> TDeleteItemStruct
    DEVMODE -> TDevMode
    DOUBLE -> Double
    DRAWITEMSTRUCT -> TDrawItemStruct
    DWORD -> LongInt
    ENUMLOGFONT -> TEnumLogFont
    EVENTMSG -> TEventMsg
    FARPROC -> TFarProc
    FIXED -> TFixed
    FLOAT -> Single
    GLYPHMETRICS -> TGlyphMetrics
    HANDLE -> THandle
    HANDLETABLE -> THandleTable
    HARDWAREHOOKSTRUCT -> THardwareHookStruct
    HELPWININFO -> THelpWinInfo
    INT -> Integer
    KERNINGPAIR -> TKerningPair
    LOGBRUSH -> TLogBrush
    LOGFONT -> TLogFont
    LOGPALETTE -> TLogPalette
    LOGPEN -> TLogPen
    LONG -> LongInt
    LONG DOUBLE -> Extended
    LONG INT -> LongInt
    LPSTR -> PChar
    LPWSTR -> PWideChar
    MAT2 -> TMat2
    MDICREATESTRUCT -> TMDICreateStruct
    MEASUREITEMSTRUCT -> TMeasureItemStruct
    MENUITEMTEMPLATE -> TMenuItemTemplate
    MENUITEMTEMPLATEHEADER -> TMenuItemTemplateHeader
    METAFILEPICT -> TMetaFilePict
    METAHEADER -> TMetaHeader
    METARECORD -> TMetaRecord
    MINMAXINFO -> TMinMaxInfo
    MOUSEHOOKSTRUCT -> TMouseHookStruct
    MSG -> TMsg
    MULTIKEYHELP -> TMultiKeyHelp
    NCCALCSIZE_PARAMS -> TNCCalcSize_Params
    NEWTEXTMETRIC -> TNewTextMetric
    OFSTRUCT -> TOFStruct
    OUTLINETEXTMETRIC -> TOutlineTextMetric
    PAINTSTRUCT -> TPaintStruct
    PALETTEENTRY -> TPaletteEntry
    PANOSE -> TPanose
    PATTERN -> TPattern
    POINTFX -> TPointFX
    PSTR -> PChar
    PWSTR -> PWideChar
    RASTERIZER_STATUS -> TRasterizer_Status
    RGBQUAD -> TRGBQuad
    RGBTRIPLE -> TRGBTriple
    SEGINFO -> TSegInfo
    SHORT -> SmallInt
    SHORT INT -> SmallInt
    SIZE -> TSize
    TEXTMETRIC -> TTextMetric
    TPOINT -> TPoint
    TRECT -> TRect
    TTPOLYCURVE -> TTTPolyCurve
    TTPOLYGONHEADER -> TPolygonHeader
    UINT -> Word
    UNSIGNED -> Word
    UNSIGNED CHAR -> Byte
    UNSIGNED INT -> Word
    UNSIGNED LONG -> LongInt(DWORD)
    UNSIGNED LONG INT -> LongInt
    UNSIGNED SHORT -> Word
    UNSIGNED SHORT INT -> Word
    VOID* -> Pointer
    WINDOWPLACEMENT -> TWindowPlacement
    WINDOWPOS -> TWindowPos
    WNDCLASS -> TWndClass
    WORD -> Word  

     

    下面是一些 C 变量类型和 Pascal 变量类型对照列表。

    HWND = type LongWord (Cardinal)
    HMENU = type LongWord
        所有 HANDLE 类型均是 type LongWord (Cardinal) 或 THandle
            (HICON, HBITMAP, HFONT, HBRUSH, HPEN)
    BYTE = Byte
    SHORT = Smallint;
    INT = Integer
    WORD = Word
    DWORD = LongWord; (Cardinal)
    LONG = Integer
    LONGLONG = Int64
    UINT = LongWord; (Cardinal)
    ASCI null terminated string = PAnsiChar or PChar
    LPSTR = PAnsiChar;
    LPCTSTR = PAnsiChar;
    ULONG = Cardinal;
    BOOLEAN = Boolean
    BOOL = LongBool
    LPVOID = Pointer
    PSID = Pointer
    LCID = DWORD, LongWord (Cardinal)
    LANGID = Word

      理解 Win32 API 帮助里面的数据类型可能会有点困惑,因为里面好几个 C 类型被作为一个 Pascal 数据类型了,比如 DWORD、UNIT、HWND、ULONG 和 LCID 类型在 Pascal 语言里都是 Cardinal 类型。更加令人困惑的是,很多 Delphi 的示例代码使用 Pascal 类型 LongWord 代替 Cardinal 类型,使用 LongInt 代替 Integer 类型。如果你觉得 C 语言数据类型难以把握,你通常可以在代码中使用 C 语言数据类型,因为这在 windows.pas 单元大部分都有这些类型的定义。比如, windows.pas 单元有如下定义: 

    type
    DWORD = LongWord;
    UINT = LongWord;
    LCID = DWORD;
    ULONG = Cardinal;

     

     
  • 相关阅读:
    cestos7安装zookeeper
    Cestos7安装Elasticsearch5.4.3
    debian使用nginx创建静态文件存储
    tomcat优化
    tomcat停止和启动脚本
    linux中shell变量$#,$@,$0,$1,$2的含义解释
    redis设置bind
    Jenkins send build artifacts over ssh配置
    nginx 负载均衡5种配置方式
    Jenkins tomcat打包启动脚本,待完善
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2941042.html
Copyright © 2020-2023  润新知