我在某个方法中要使用一个TFiledType的参数,
但是现在是一个string,比如'ftInteger',
怎么把这个string转化成合法的TFieldType参数呢?

解决方案 »

  1.   

    if string = 'ftInteger' then
      FieldType := ftInteger
      

  2.   

    有没有别的方法,
    fieldtype里面有不少类型,我不可能写上2,30个if来判断的
      

  3.   

    用GetEnumValue,记得
    uses
      TypInfo;
      

  4.   

    例子:
    type
      TFruits = (apples, pears);procedure FruitBeep (const fruitName : string);
    var
      Fruit : TFruits;
    begin
      Fruit := TFruits(GetEnumValue(TypeInfo(TFruits),fruitName));
      case Fruit of
        apples  : Windows.Beep (440, 100);
        pears   : Windows.Beep (660, 100);
      end
    end;