C++中,通过 
   #define BEGIN  {  
   #define END    }
的形式使BEGIN代替'{'出现在程序的任何地方,编译时每遇到BEGIN就展开为{或你定义的任何值,很方便。比如,可使C++程序具有Pascal风格。例如:
 
main()
BEGINEND在Pascal或delphi中如何进行宏定义呢?比如我想把 endif  定义成 //,即凡是在程序中出现的 endif 在编译时均由编译器以 // 来代替。请赐教.

解决方案 »

  1.   

    Pascal里是没有宏定义的~~不过Delphi有代码块文件(Include Files)~~{$I FileName}就可以把文件中的代码放在任何位置~~
      

  2.   

    Delphi:
    {$DEFINE WIN32}{$IFDEF WIN32}
    TWin32Cls = class(TObject)
    ...
    {$ENDIF}但是要Define一个名称和一个值,如#define A(x)  GetIt(x),在Delphi中没有办法,你要真是喜欢那样,用C++写程序不就好了?
      

  3.   


      诸位,我的意图如下:
      在C++中,我可以通过如下办法,使C++风格的  if else结构变成 FoxBase或dBase风格的 if else endif 机构.(我不喜欢 C或pascal的if语句,它们没有指示该语句结束的关键字 endif,我可以模仿一个)
       #define endif     //
       #define endwhile  //
       main()
       {  int i;
          if (i)
              i=1;
          else
              i=0;
          endif
       }
    因为以上程序中endif被事先定义为注释指示符"//",所以编译时该程序被编译器展开如下:   main()
       {  int i;
          if (i)
              i=1;
          else
              i=0;
          //
       }
    对程序毫无影响,但程序风格却较好,请大家想想delphi中如何实现将注释标志符号"//"或"(*  *)"  预先定义给某一符号,以后在程序中用该符号代替注释标志符,以达到上述目的。