频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在Delphi编程中使用C语言代码

来源:csdn 作者:陈经韬 出处:巧巧读书 2007-02-01 进入讨论组
下一页 1 2 3 

  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

Web: http://www.qqread.com/delphi/e296206.html 更多文章 更多内容请看Java编程开发手册C/C++进阶技术文档专题,或进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
较早的文章:用TCP/IP做文件续传

较新的文章:Delphi中Hash表的使用方法
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章