您的位置:程序门 -> delphi -> 语言基础/算法/系统设计



c++代码转pascal过程中遇到pascal的关键字怎么办?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c++代码转pascal过程中遇到pascal的关键字怎么办?[已结贴,结贴人:lyjsharp]
发表于:2007-10-12 15:01:50 楼主
typedef   struct   dx_svcb   {

      unsigned   short   type;              

      short                     adjsize;        

      unsigned   char     digit;          

      unsigned   char     digtype;        

}   dx_svcb;

  在转成pascal过程中
    dx_svcb   =   record
        type:   word;                       //   bit   mask
        adjsize:   smallint;         //   adjustment   size
        digit:   byte;                     //   ascii   digit   value   that   causes   the   action
        digtype:   byte;         /*   digit   type   (e.g.   0   =   dtmf)   */
    end;

type是关键字,怎么处理??请大侠指教!!
发表于:2007-10-12 15:14:531楼 得分:0
改变一下变量名称就行了,如dxtype,_type等等
发表于:2007-10-12 15:50:152楼 得分:0
  谢谢阿发伯,这个问题是我理解错了。由于第一次转换这种代码,所以请多帮忙:还有一问
#define   cp_dial                                   dx_get_tngencad   (   1   )

#define   cp_reorder                             dx_get_tngencad   (   2   )

#define   cp_busy                                   dx_get_tngencad   (   3   )

#define   cp_ringback1                         dx_get_tngencad   (   4   )

#define   cp_ringback2                         dx_get_tngencad   (   5   )

#define   cp_ringback1_callwait       dx_get_tngencad   (   6   )

#define   cp_ringback2_callwait       dx_get_tngencad   (   7   )

#define   cp_recall_dial                     dx_get_tngencad   (   8   )

#define   cp_intercept                         dx_get_tngencad   (   9   )

#define   cp_callwait1                         dx_get_tngencad   (   10   )

#define   cp_callwait2                         dx_get_tngencad   (   11   )

#define   cp_busy_verify_a                 dx_get_tngencad   (   12   )

#define   cp_busy_verify_b                 dx_get_tngencad   (   13   )

#define   cp_EXEC_override                 dx_get_tngencad   (   14   )

#define   cp_feature_confirm             dx_get_tngencad   (   15   )

#define   cp_msg_wait_dial                 dx_get_tngencad   (   16   )   //   same   as   cp_stutter_dial

#define   cp_stutter_dial                   dx_get_tngencad   (   16   )   //   same   as   cp_msg_wait_dial
在c++头文件中碰到这样代码,好像定义的宏都是用带有是实参数的函数,这样在pascal中怎么转换啊??
发表于:2007-10-12 18:06:533楼 得分:15
直接转换为宏定义后面的实体函数,或者写成一个过程,如第一个宏可以直接:

dx_get_tngencad   (   1   );  

或者

procedure   cp_dial;
begin
    dx_get_tngencad   (   1   );  
end;
发表于:2007-10-16 16:50:164楼 得分:0
to:阿发伯
      如果c++头文件中定义的函数的参数名是pascal的关键字,这个函数又是从别的dll中动态引入的。那么参数名另取一个是不是不会影响函数的匹配调用???
发表于:2007-10-16 16:52:515楼 得分:5
函数不会根据你的参数的名字去做操作,参数的名字与函数内部实现有关


快速检索

最新资讯
热门点击