在别人的一段代码里看到类似这样的一些指令.从来没有见过,这是些什么指令呢?
代码:
begin
  {$IFDEF VER140}
  chat.qryUser.Close;//D6 Use
  {$ENDIF}
  chat.qryUser.Parameters.ParamByName('a').Value:=a;
  chat.qryUser.Parameters.ParamByName('b').Value:=b;
  chat.qryUser.Parameters.ParamByName('c').Value:=c;
  chat.qryUser.Parameters.ParamByName('ID').Value:=ID;
  chat.qryUser.Parameters.ParamByName('PasswordA').Value:=PasswordA;
  chat.qryUser.Open ;
  {$IFDEF VER130}
  chat.qryUser.Requery([]);//D5 Use
  {$ENDIF}
  UserName:=chat.qryUserUserName.AsString;
  Sex:=chat.qryUserSex.AsString;
  if not chat.qryUser.IsEmpty then
    result:=true
  else
    result:=false;
end;

解决方案 »

  1.   

    {$IFDEF }是条件编译指令
    {$IFDEF VER140} 意思是当Delphi是D5就编译
    {$IFDEF} 下面直到{$ENDIF}中的所有语句, 如果不满足
    编译就跳过.
      

  2.   

    The Preprocessing Directives of Object Pascal
      

  3.   

    我现在用的是delphi7请问高手,上面这段代码我怎么改写呢?
      

  4.   

    Delphi 2006                     VER180
    Delphi 2005                     VER170
    Delphi 8                        VER160
    Delphi 7, Kylix 3               VER150
    C++ Builder 6                   VER145
    Delphi 6, Kylix 1, Kylix 2      VER140
    C++ Builder 5                   VER135
    Delphi 5                        VER130
    C++ Builder 4                   VER125
    Delphi 4                        VER120
    C++ Builder 3                   VER110
    Delphi 3                        VER100
    C++ Builder 1                   VER93
    Delphi 2                        VER90
    Delphi 1                        VER80
    BP7                             VER70
      

  5.   

    试问高手,在D7下,这句话怎么出现不了?
    Sex:=chat.qryUserSex.AsString;
    该句是将qryUser的Sex字段付给变量Sex.
    在D7下,Sex:=chat.qryUser只能到这里.为什么D7下实现不了上面这个语句呢?
    是不是我错了什么地方?
    高手啊~
      

  6.   

    if not chat.qryUser.IsEmpty then
    还有,在D7下,为什么 qryUser没有IsEmpty ,IsEmpty 是不是外部函数?
    是不是要USERS一个什么单元?