Delphi 与 C/C++ 数据类型对照表



原文地址:http://www.cnblogs.com/del/archive/2007/12/03/981563.html

Delphi 数据类型 C/C++
ShorInt 8位有符号整数 char
Byte 8位无符号整数 BYTE,unsigned short
SmallInt 16位有符号整数 short
Word 16位无符号整数 unsigned short
Integer,LongInt 32位有符号整数 int,long
Cardinal,LongWord/DWORD 32位无符号整数 unsigned long
Int64 64位有符号整数  _int64
Single 4字节浮点数 float
*Real48 6字节浮点数  
Double 8字节浮点数 double
*Extended 10字节浮点数 long double
Currency 64位货币类型  
TDate/TDateTime 8字节日期/时间  
Variant,OleVariant 16字节可变类型 VARIANT,^Variant,^OleVariant
Char,AnsiChar 1字节字符 char
WideChar 2字节字符 WCHAR
*ShortString 短字符串  
AnsiString/String 长字符串 ^AnsiString
WideString 宽字符串 ^WideString
PChar,PAnsiChar NULL结束的字符串 char*
PWideChar NULL结束的宽字符串 LPCWSTR
Boolean,ByteBool 1字节布尔类型 任何1字节
WordBool 2字节布尔类型 任何2字节
BOOL,LongBool 4字节布尔类型 BOOL
注:有*前缀的是向前兼容类型;有^前缀的是C++Builder特有类型。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都是大家转来转去,原文出处我已经找不到了。这篇文章写的很不错,但最后部分“PermuteFunction 的终极版本”描述的不太清楚,完全按照该文章代码执行,是不行的。可能是作者故意这样做的?本文最后提供修正后的下载地址。原文如下:一、关于API Hook1.什么是API Hook不知道大家是否还记得,在DO
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都是大家转来转去,原文出处我已经找不到了。 这篇文章写的很不错,但最后部分“PermuteFunction 的终极版本”描述的不太清楚,完全按照该文章代码执行,是不行的。需要修改mess.pas中代码才行。其实文中提到的一个结构,代码中并没有使用typePIMAGE_IMPORT_DESCRIPTOR = ^IMA
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c++ 调用, 抽空研究了一下该库的最新版 ,把部分api 翻译成了dephi版的 记录一下 地址 ffmpegvcl.zip
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的功能是:将源操作数送到目的操作数中,即:(dst) <--(src) 1.dst和src类型必须匹配,即必须同为字节
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂,比较少用。 2.WinExec主要运行EXE文件。如:WinExec('Notepad.exe Readme.txt', SW_SHOW); 3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。 首先必须引用shellapi
API原型: Declare Function MoveFileEx& Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) 参数 类型及说明 lpExistingFileName String,欲移
附带通用控件安装方法: ---------- 基本安装 1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install; 2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可; 3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可; 4
type   TRec=Record     msg:string;     pic:TMemoryStream; end; procedure TForm2.BitBtn1Click(Sender: TObject); var   ms:TMemoryStream;   Rec1,Rec2:TRec;   cc:tmemorystream;   jpg:TJPEGImage; begin   R
program Project1; { Types and Structures Definition } type   WNDCLASSEX = packed record     cbSize: LongWord;     style: LongWord;     lpfnWndProc: Pointer;     cbClsExtra: Integer;     cbWndExtra: In
   在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。有时,对于繁杂 的,或重复性的操作,我们能否通过编制程序来代替手工输入,而用程序来模拟键盘及鼠标的输入呢?答案是肯定的。这主要是通过两个API函数来实现的。      下面以Delphi为例来介绍一下如何实现这两个功能。模拟键盘我们用Keybd_event这个ap
delphi中经常见到以下两种定义 Type TMouseProc = procedure (X,Y:integer); TMouseEvent = procedure (X,Y:integer) of Object; 两者样子差不多但实际意义却不一样, TMouseProc只是单一的函数指针类型; TMouseEvent是对象的函数指针,也就是对象/类的函数/方法 区
Windows 2000/XP和2003等支持一种叫做"服务程序"的东西.程序作为服务启动有以下几个好处:     (1)不用登陆进系统即可运行.     (2)具有SYSTEM特权.所以你在进程管理器里面是无法结束它的.     笔者在2003年为一公司开发机顶盒项目的时候,曾经写过课件上传和媒体服务,下面就介绍一下如何用Delphi7创建一个Service程序.     运行Delphi7,选
方法一: 1.调试delphi 写的服务程序,有这么一个办法。原来每次都是用attach to process方法,很麻烦。并且按照服务线程的执行线路,可能会停不到想要的断点。笨办法是,在procedure TsvcFrm.ServiceExecute(Sender: TService);中想要下断的语句前加个人定胜天的sleep(20000),但实际上这种办法是主观臆测的。可行,没问题。记得大学
Delphi For iOS开发指南(17):让应用程序禁止竖屏(也就是只显示横屏)     最近好多人问,怎么样让Delphi For iOS开发的应用程序禁止竖屏,也就是想让它一直横屏显示,横屏是好,一行可以放好几个控件,表格的话也可以多显示几列,看起来方便。 只要一句代码就可以让Delphi For iOS开发的应用程序禁止竖屏,如下: Application.FormFactor.Orie
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [Setup] ; 注: AppId的值为单独标识该应用程序。 ; 不要为其他安装程序使用相同的AppId值。 ; (生成新的GUID,点击 工具|在IDE中生成GUID。) AppId={{A9861883-31C5-4324-BD9A-DC3271EEB675} ;程序名 AppName
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。 在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。 示例代码 procedure TForm1.Button1Click(Sender: TObjec
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下: 1 2 3 4 5 6 7 8 9 _NOTIFYICONDATAA = record    cbSize: DWORD;    Wnd: HWND;    uID: UINT;    uFlags: UINT;    uCallback
声明: 1. type Name = Existing type; 2. type Name = type Existing type; 3. type Name = (EnumValue1 [=value], EnumValue2 [=value] ...); 4. type Name = Expression1..Expression2; 5. type Name = ^Existing ty