浏览代码

Quick.Value changes

Exilon 5 年之前
父节点
当前提交
81b7357d28
共有 2 个文件被更改,包括 17 次插入0 次删除
  1. 1 0
      Quick.Value.RTTI.pas
  2. 16 0
      Quick.Value.pas

+ 1 - 0
Quick.Value.RTTI.pas

@@ -62,6 +62,7 @@ begin
     case DataType of
       dtNull : Result := TValueExtended;
       dtBoolean : Result := AsBoolean;
+      dtString : Result := AsString;
       {$IFDEF MSWINDOWS}
       dtAnsiString : Result := AsAnsiString;
       dtWideString : Result := AsWideString;

+ 16 - 0
Quick.Value.pas

@@ -267,6 +267,8 @@ type
     function  IsObject : Boolean; inline;
     function  IsPointer : Boolean; inline;
     function  IsVariant : Boolean; inline;
+    function IsRealInteger : Boolean;
+    function IsRealExtended : Boolean;
     procedure Clear; inline;
     procedure _AddRef; inline;
     procedure _Release; inline;
@@ -910,6 +912,20 @@ begin
   Result := fDataType = dtPointer;
 end;
 
+function TFlexValue.IsRealExtended: Boolean;
+var
+  i : Extended;
+begin
+  Result := TryStrToFloat(AsString,i);
+end;
+
+function TFlexValue.IsRealInteger: Boolean;
+var
+  i : Int64;
+begin
+  Result := TryStrToInt64(AsString,i);
+end;
+
 function TFlexValue.IsString: Boolean;
 begin
   Result := fDataType in [dtString,dtAnsiString,dtWideString];