0

TEdit.DataFMX 編集ボックスがあり、入力した値 ( ) をTValueオブジェクトのプロパティに割り当てたいと考えています。このオブジェクトTypeInfoには、編集ボックスに入力されたデータの型を指定するポインタも含まれています。

   TAttrib = class(TObject)
    public
      property WantedType: PTypeInfo;
      property Value: TValue;
    end;

私が達成したいのは、入力されたデータを TAtrib.Value に割り当ててから、次のように、WantedType に従って、入力されたデータが正しい形式であるかどうかを検証できることです。

Attrib.Value := TEditbox.Data;
Valid := Attrib.Value.TryCast(Attrib.Wantedtype, lVal) and (not lVal.IsEmpty);

Valueは常に文字列型でありTryCast、入力された文字列が ie で適切に変換される場合でも、文字列から拡張された ie に変換されないため、これは失敗します。StrToFloat()

どうすればこれを達成できますか?

4

1 に答える 1

1

TryCastの型を変換する関数は既に見つかりましたTValue。また、サポートされている変換には、必要な変換の一部が含まれていません。

あなたが達成しようとしていることに対する組み込みのサポートはありません。独自のロールを作成するか、必要な機能を備えた他のサードパーティ ライブラリを見つける必要があります。

于 2013-10-10T10:24:47.083 に答える