Delphi VS C语言类型转换对照
Delphi VS C语言类型转换对照
| C/C++ Type | ObjectPascal Type |
| unsigned short [int] | Word |
| [signed] short [int] | SmallInt |
| unsigned [int] | Cardinal { 3.25 fix } |
| [signed] int | Integer |
| UINT | LongInt { or Cardinal } |
| WORD | Word |
| DWORD | LongInt { or Cardinal } |
| unsigned long | LongInt { or Cardinal } |
| unsigned long int | LongInt { or Cardinal } |
| [signed] long | LongInt |
| [signed] long int | LongInt |
| char | Char |
| signed char | ShortInt |
| unsigned char | Byte |
| char* | PChar |
| LPSTR or PSTR | PChar |
| LPWSTR or PWSTR | PWideChar { 3.12 fix } |
| void* | Pointer |
| BOOL | Bool |
| float | Single |
| double | Double |
| long double | Extended |
| LP,NP,PP,P prefix: if first = T then T becomes P else P prefix | |
| HANDLE | THandle |
| FARPROC | TFarProc |
| ATOM | TAtom |
| TPOINT | TPoint |
| TRECT | TRect |
| COLORREF | TColorRef |
| OFSTRUCT | TOFStruct |
| DEBUGHOOKINFO | TDebugHookInfo |
| BITMAP | TBitMap |
| RGBTRIPLE | TRGBTriple |
| RGBQUAD | TRGBQuad |
| BITMAPCOREHEADER | TBitmapCoreHeader |
| BITMAPINFOHEADER | TBitmapInfoHeader |
| BITMAPINFO | TBitmapInfo |
| BITMAPCOREINFO | TBitmapCoreInfo |
| BITMAPFILEHEADER | TBitmapFileHeader |
| HANDLETABLE | THandleTable |
| METARECORD | TMetaRecord |
| METAHEADER | TMetaHeader |
| METAFILEPICT | TMetaFilePict |
| TEXTMETRIC | TTextMetric |
| NEWTEXTMETRIC | TNewTextMetric |
| LOGBRUSH | TLogBrush |
| LOGPEN | TLogPen |
| PATTERN | TPattern { TLogBrush } |
| PALETTEENTRY | TPaletteEntry |
| LOGPALETTE | TLogPalette |
| LOGFONT | TLogFont |
| ENUMLOGFONT | TEnumLogFont |
| PANOSE | TPanose |
| KERNINGPAIR | TKerningPair |
| OUTLINETEXTMETRIC | TOutlineTextMetric |
| FIXED | TFixed |
| MAT2 | TMat2 |
| GLYPHMETRICS | TGlyphMetrics |
| POINTFX | TPointFX |
| TTPOLYCURVE | TTTPolyCurve |
| TTPOLYGONHEADER | TPolygonHeader |
| ABC | TABC |
| RASTERIZER_STATUS | TRasterizer_Status |
| MOUSEHOOKSTRUCT | TMouseHookStruct |
| CBTACTIVATESTRUCT | TCBTActivateStruct |
| HARDWAREHOOKSTRUCT | THardwareHookStruct |
| EVENTMSG | TEventMsg |
| WNDCLASS | TWndClass |
| MSG | TMsg |
| MINMAXINFO | TMinMaxInfo |
| SEGINFO | TSegInfo |
| ACCEL | TAccel |
| PAINTSTRUCT | TPaintStruct |
| CREATESTRUCT | TCreateStruct |
| CBT_CREATEWND | TCBT_CreateWnd |
| MEASUREITEMSTRUCT | TMeasureItemStruct |
| DRAWITEMSTRUCT | TDrawItemStruct |
| DELETEITEMSTRUCT | TDeleteItemStruct |
| COMPAREITEMSTRUCT | TCompareItemStruct |
| WINDOWPOS | TWindowPos |
| WINDOWPLACEMENT | TWindowPlacement |
| NCCALCSIZE_PARAMS | TNCCalcSize_Params |
| SIZE | TSize |
| MENUITEMTEMPLATEHEADER | TMenuItemTemplateHeader |
| MENUITEMTEMPLATE | TMenuItemTemplate |
| DCB | TDCB |
| COMSTAT | TComStat |
| MDICREATESTRUCT | TMDICreateStruct |
| CLIENTCREATESTRUCT | TClientCreateStruct |
| MULTIKEYHELP | TMultiKeyHelp |
| HELPWININFO | THelpWinInfo |
| CTLSTYLE | TCtlStyle |
| CTLtype | TCtltype |
| CTLINFO | TCtlInfo |
| DDEADVISE | TDDEAdvise |
| DDEDATA | TDDEData |
| DDEPOKE | TDDEPoke |
| DDEAACK | TDDEAck |
| DEVMODE | TDevMode |
| KANJISTRUCT | TKanjiStruct |
It's also nice to have access to the translation of the special WINDOWS.H types, which is already done by Borland, and can be found in WINTYPES.PAS (it's a rewarding experience to compare these two files with each other - you'll learn a lot about C and Pascal conversion issues).
Now that we've handled the standard built-in (and Windows) types, let's look at the C type definition of WING_DITHER_TYPE that is present in the WING.H file.
typedef enum WING_DITHER_TYPE
{
WING_DISPERSED_4x4,
WING_DISPERSED_8x8,
WING_CLUSTERED_4x4
} WING_DITHER_TYPE;
This is a so -called enumerated type, and can be translated into an ObjectPascal enumerated type very easily:
type
WING_DITHER_TYPE =
(WING_DISPERSED_4x4,
WING_DISPERSED_8x8,
WING_CLUSTERED_4x4);
While most C DLL header files contain only constant definitions (of the form #define XYZ value) and function prototypes, type definitions are also found,
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Delphi VS C语言类型转换对照的更多相关文章
- Delphi与C语言类型转换对照
When converting C function prototypes to Pascal equivalent declarations, it's important to substitut ...
- php 、asp、 java、 c#、 delphi之间的语言对照
PHP是一种跨平台的server端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发人员能够高速地写出动态产生页面. 它支持眼下绝大多数数据库. 另 ...
- Go 语言类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量.Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expression 为表达式. 实 ...
- Go语言类型转换
类型转换用于将一种数据类型的变量转换为另外一种类型的变量. Go语言类型转换基本格式如下:表达式 T(v) 将值 v 转换为类型 T . Go语言各种类型转换及函数的高级用法:strconv包实现了基 ...
- GO语言学习(十七)Go 语言类型转换
Go 语言类型转换 类型转换用于将一种数据类型的变量转换为另外一种类型的变量.Go 语言类型转换基本格式如下: type_name(expression) type_name 为类型,expressi ...
- C语言类型转换原理
C语言类型转换 int a; a=1.23 这里把1.23赋值给a发生了隐式转换,原理如下: int a; float b=3.14; a=b; b赋值给a的过程:首先找一个中间变量是a的类型(该例中 ...
- C语言---类型转换
itoa 功 能:把一整数转换为字符串 用 法:char *itoa(int value, char *string, int radix); 详细解释:itoa是英文integer to array ...
- c语言类型转换注意事项
转载自: http://blog.csdn.net/zhuimengzh/article/details/6728492 1.隐式转换 C在以下四种情况下会进行隐式转换: 1.算 ...
- 执行效率做比较,Go、python、java、c#、delphi、易语言等
比较环境,在win7 64位,比较各种语言的整数型运算,下面的比较只作为单项比较.具体方式,40000*40000遍历相加.为了防止编译器优化,生成一个随机数. 1:c#,在NET2.0框架下作为 ...
随机推荐
- 手动创建MySQL服务
1.复制一份MySQL服务文件,放入一个路径 2.清理data文件夹下文件,仅保留mysql等 3.修改my.ini,port,...dir等配置 4.管理员运行cmd,cd>bin:mysql ...
- WebGL着色器32位浮点数精度损失问题
问题 WebGL浮点数精度最大的问题是就是因为js是64位精度的,js往着色器里面穿的时候只能是32位浮点数,有效数是8位,精度丢失比较严重. 这篇文章里讲了一些处理方式,但是视坐标这种方式放在我们的 ...
- python每个文件都需要顶部注释,那今天介绍一个方法,只需要设置一次,下次新建python文件后,注释自动出现在顶部的方法
python每个文件都需要顶部注释,那今天介绍一个方法,只需要设置一次,下次新建python文件后,注释自动出现在顶部的方法 只需要在file -----settings------file and ...
- 有关vs2010将c++生成exe文件时出现LINK : fatal error LNK1123: 转换到 COFF 期间失败和环境变量问题
不知怎么本来编译好好的VS2010环境,忽然出现“转换到 COFF 期间失败: 文件无效或损坏”的链接错误.花了好多天,试了好多方法,最终解决了这个问题.现在罗列一下这几种解决方案:方案1:点击“项目 ...
- SpringBoot底层原理及分析
一,Spring Boot简介 1.什么是Spring Boot: SpringBoot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特 ...
- 【iOS】XIB 调整视图大小
使用 XIB 创建视图的时候,拖拽 UIView 到画布时,大小是不可调整的,如何自由调整大小呢? 选中 UIView 并打开属性面板,将 Simulated Metrics 中的 Size 设为 F ...
- Xcode 常用
常用快捷键: 1. 运行程序 command + R 2. Clean command + shift + K 3. 模拟器上没 Home 键? command + shift + H 4. h 文件 ...
- Java中Timer和TimerTask来实现计时器循环触发
package xian; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.Fi ...
- 【POJ - 2456】Aggressive cows(二分)
Aggressive cows 直接上中文了 Descriptions 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x ...
- java并发编程(八)----(JUC)CountDownLatch
CountDownLatch 是一个非常实用的多线程控制工具类." Count Down " 在英文中意为倒计数, Latch 为门问的意思.如果翻译成为倒计数门阀, 我想大家都会 ...