在Delphi编程中利用C语言代码[Delphi编程]
本文“在Delphi编程中利用C语言代码[Delphi编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在Delphi编程中利用C语言代码
Windows下编程的工具有很多,比方VB,Delphi,VC等等.我在这里不想谈论"它们的具体哪个更好一点"这种幼稚的问题.玩过DOS程序计划的人都知道,DOS下很多语言的实质核心还是调用系统供应的汇编中止函数.到了Windows下,它就变成了我们常说的API了.而在Windows下写程序很多时刻都是调用API,语言,只不过是一个表达工具罢了.
我目前已经参与工作大约有半年左右,我们公司是用Borland公司的Delphi作为主开辟工具.本着未偏向任何一个工具的态度,我说句公道话:Delphi是目前Win32下开辟程序的最快速,最有效率的工具.
Delphi适实用来开辟利用程序,但是有时侯一些底层的东西可以直接利用C语言来开辟.我在公司常常开辟跟硬件相关的项目,而很多硬件的SDK包是用C来写的.这个时刻我普通把它们转换成Delphi(PASCAL)语法的代码.下面谈一下我的个人粗浅经验.因为当时学校教的是Pascal语言,所以我对C语言并非太熟手.下面的概念大概代码若有错漏之处但愿高手们放小弟一马:)
一:将C语言的程序编译成DLL供Delphi调用.这种办法过于简单,并且需求额外带一个DLL文件,所以不在本文的谈论范围之内.
二:直接转换C语言代码到DELPHI代码
C语言的函数格局与Delphi差别,它们是函数返回范例在前,函数声明在后.关于没有任何返回范例的函数则定义为VOID范例.
比方:Delphi中函数function MyFunction:(intIN:integer):Bool;呼应的C语言代码就变成Bool MyFunction(int intIN);又比方procedure MyProcedure;====>void MyProcedure;采取这种办法,普通要求对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 |
以上是“在Delphi编程中利用C语言代码[Delphi编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |