if Today = [Tuesday] then ...

解决方案 »

  1.   

    if Ord(Today)=2 then ...
      

  2.   

    uses Dialogs;
    type   Colors = (RED,BLUE,GREEN);var  S: string;
     begin
       S := 'BLUE has an ordinal value of ' + IntToStr(Ord(BLUE)) + #13#10;
       S := S + 'The ASCII code for "c" is ' + IntToStr(Ord('c')) +  ' decimal';
       MessageDlg(S, mtInformation, [mbOk], 0);
     end;
      

  3.   

    type
       Day=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);
    const
       DayNames : array[Day] of string =
    ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');var
       Today:day;Today:=Tuesday;
    ShowMessage(DayNames[Today]);   如何显示这个Today值?以便验证值正确?
      

  4.   

    有RTTI信息啊!TMD,真是的…………
    下面的方法就非常好了,唯一的问题是,你不能再定义枚举类型的时候,指定索引。
    uses TypInfo;type
       TDay=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);procedure TForm1.Button1Click(Sender: TObject);
    var
      T:TDay;
    begin
      T:=Wednesday;
      ShowMessage(GetEnumName(TypeInfo(TDay),integer(T)));
    end;
      

  5.   

    这样就方便了
    case ord() of
    0:
    1:
    ...
    end;
      

  6.   

    如果仅仅为了调试,RTTI的确是不错的办法
    不过,对于软件的发行版本,总觉得用RTTI不太合适
      

  7.   

    能解决的就是好办法!
    同意用: Kingron(单身走我路……) 的方法!TO:Kingron
      伙计,几个月不见就三个红星了!佩服佩服!
      

  8.   

    procedure TForm1.Button1Click(Sender: TObject);
    type
       TDay=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);
    var
      T : TDay;
      S : string;
    begin
      S := ADODOnce.FieldByName('Weekday').Asstring;
      // now s is 'Wednesday';
      // 此时怎么把这个S与T关联起来呢??
    end;