网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
在Delphi编程中使用C语言代码
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

  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 - > TLogPal

  • 上一篇资讯: 在Delphi中使用哈希表
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号