瀏覽代碼

+ Changed extended to double for better Delphi compatibility

michael 21 年之前
父節點
當前提交
db96c04104
共有 2 個文件被更改,包括 46 次插入40 次删除
  1. 24 21
      fcl/db/db.pp
  2. 22 19
      fcl/db/fields.inc

+ 24 - 21
fcl/db/db.pp

@@ -226,7 +226,7 @@ type
     procedure FreeBuffers; virtual;
     function GetAsBoolean: Boolean; virtual;
     function GetAsDateTime: TDateTime; virtual;
-    function GetAsFloat: Extended; virtual;
+    function GetAsFloat: Double; virtual;
     function GetAsLongint: Longint; virtual;
     function GetAsInteger: Longint; virtual;
     function GetAsString: string; virtual;
@@ -243,7 +243,7 @@ type
     procedure ReadState(Reader: TReader); override;
     procedure SetAsBoolean(AValue: Boolean); virtual;
     procedure SetAsDateTime(AValue: TDateTime); virtual;
-    procedure SetAsFloat(AValue: Extended); virtual;
+    procedure SetAsFloat(AValue: Double); virtual;
     procedure SetAsLongint(AValue: Longint); virtual;
     procedure SetAsInteger(AValue: Longint); virtual;
     procedure SetAsString(const AValue: string); virtual;
@@ -265,7 +265,7 @@ type
     procedure Validate(Buffer: Pointer);
     property AsBoolean: Boolean read GetAsBoolean write SetAsBoolean;
     property AsDateTime: TDateTime read GetAsDateTime write SetAsDateTime;
-    property AsFloat: Extended read GetAsFloat write SetAsFloat;
+    property AsFloat: Double read GetAsFloat write SetAsFloat;
     property AsLongint: Longint read GetAsLongint write SetAsLongint;
     property AsInteger: Integer read GetAsInteger write SetAsInteger;
     property AsString: string read GetAsString write SetAsString;
@@ -318,7 +318,7 @@ type
     class procedure CheckTypeSize(AValue: Longint); override;
     function GetAsBoolean: Boolean; override;
     function GetAsDateTime: TDateTime; override;
-    function GetAsFloat: Extended; override;
+    function GetAsFloat: Double; override;
     function GetAsLongint: Longint; override;
     function GetAsString: string; override;
     function GetDataSize: Word; override;
@@ -327,7 +327,7 @@ type
     function GetValue(var AValue: string): Boolean;
     procedure SetAsBoolean(AValue: Boolean); override;
     procedure SetAsDateTime(AValue: TDateTime); override;
-    procedure SetAsFloat(AValue: Extended); override;
+    procedure SetAsFloat(AValue: Double); override;
     procedure SetAsLongint(AValue: Longint); override;
     procedure SetAsString(const AValue: string); override;
   public
@@ -343,7 +343,7 @@ type
     FDisplayFormat : String;
     FEditFormat : String;
   protected
-    procedure RangeError(AValue, Min, Max: Extended);
+    procedure RangeError(AValue, Min, Max: Double);
     procedure SetDisplayFormat(const AValue: string);
     procedure SetEditFormat(const AValue: string);
   public
@@ -364,13 +364,13 @@ type
     Procedure SetMinValue (AValue : longint);
     Procedure SetMaxValue (AValue : longint);
   protected
-    function GetAsFloat: Extended; override;
+    function GetAsFloat: Double; override;
     function GetAsLongint: Longint; override;
     function GetAsString: string; override;
     function GetDataSize: Word; override;
     procedure GetText(var AText: string; ADisplayText: Boolean); override;
     function GetValue(var AValue: Longint): Boolean;
-    procedure SetAsFloat(AValue: Extended); override;
+    procedure SetAsFloat(AValue: Double); override;
     procedure SetAsLongint(AValue: Longint); override;
     procedure SetAsString(const AValue: string); override;
   public
@@ -414,26 +414,26 @@ type
 
   TFloatField = class(TNumericField)
   private
-    FMaxValue : Extended;
-    FMinValue : Extended;
+    FMaxValue : Double;
+    FMinValue : Double;
     FPrecision : Longint;
   protected
-    function GetAsFloat: Extended; override;
+    function GetAsFloat: Double; override;
     function GetAsLongint: Longint; override;
     function GetAsString: string; override;
     function GetDataSize: Word; override;
     procedure GetText(var theText: string; ADisplayText: Boolean); override;
-    procedure SetAsFloat(AValue: Extended); override;
+    procedure SetAsFloat(AValue: Double); override;
     procedure SetAsLongint(AValue: Longint); override;
     procedure SetAsString(const AValue: string); override;
   public
     constructor Create(AOwner: TComponent); override;
-    Function CheckRange(AValue : Extended) : Boolean;
-    property Value: Extended read GetAsFloat write SetAsFloat;
+    Function CheckRange(AValue : Double) : Boolean;
+    property Value: Double read GetAsFloat write SetAsFloat;
 
   published
-    property MaxValue: Extended read FMaxValue write FMaxValue;
-    property MinValue: Extended read FMinValue write FMinValue;
+    property MaxValue: Double read FMaxValue write FMaxValue;
+    property MinValue: Double read FMinValue write FMinValue;
     property Precision: Longint read FPrecision write FPrecision default 15;
   end;
 
@@ -467,12 +467,12 @@ type
     FDisplayFormat : String;
   protected
     function GetAsDateTime: TDateTime; override;
-    function GetAsFloat: Extended; override;
+    function GetAsFloat: Double; override;
     function GetAsString: string; override;
     function GetDataSize: Word; override;
     procedure GetText(var theText: string; ADisplayText: Boolean); override;
     procedure SetAsDateTime(AValue: TDateTime); override;
-    procedure SetAsFloat(AValue: Extended); override;
+    procedure SetAsFloat(AValue: Double); override;
     procedure SetAsString(const AValue: string); override;
   public
     constructor Create(AOwner: TComponent); override;
@@ -538,13 +538,13 @@ type
   private
   protected
     class procedure CheckTypeSize(AValue: Longint); override;
-    function GetAsFloat: Extended; override;
+    function GetAsFloat: Double; override;
     function GetAsLongint: Longint; override;
     function GetAsString: string; override;
     function GetDataSize: Word; override;
     function GetDefaultWidth: Longint; override;
     procedure GetText(var TheText: string; ADisplayText: Boolean); override;
-    procedure SetAsFloat(AValue: Extended); override;
+    procedure SetAsFloat(AValue: Double); override;
     procedure SetAsLongint(AValue: Longint); override;
     procedure SetAsString(const AValue: string); override;
   public
@@ -1492,7 +1492,10 @@ end.
 
 {
   $Log$
-  Revision 1.16  2004-05-02 21:23:18  peter
+  Revision 1.17  2004-07-18 13:16:50  michael
+  + Changed extended to double for better Delphi compatibility
+
+  Revision 1.16  2004/05/02 21:23:18  peter
     * use ptrint
 
   Revision 1.15  2004/03/25 20:43:39  michael

+ 22 - 19
fcl/db/fields.inc

@@ -315,7 +315,7 @@ begin
   AccessError(SdateTime);
 end;
 
-function TField.GetAsFloat: Extended;
+function TField.GetAsFloat: Double;
 
 begin
   AccessError(SDateTime);
@@ -461,7 +461,7 @@ begin
   AccessError(SDateTime);
 end;
 
-procedure TField.SetAsFloat(AValue: Extended);
+procedure TField.SetAsFloat(AValue: Double);
 
 begin
   AccessError(SFloat);
@@ -621,7 +621,7 @@ begin
   Result:=StrToDateTime(GetAsString);
 end;
 
-function TStringField.GetAsFloat: Extended;
+function TStringField.GetAsFloat: Double;
 
 begin
   Result:=StrToFloat(GetAsString);
@@ -683,7 +683,7 @@ begin
   SetAsString(DateTimeToStr(AValue));
 end;
 
-procedure TStringField.SetAsFloat(AValue: Extended);
+procedure TStringField.SetAsFloat(AValue: Double);
 
 begin
   SetAsString(FloatToStr(AValue));
@@ -718,7 +718,7 @@ begin
   AlignMent:=taRightJustify;
 end;
 
-procedure TNumericField.RangeError(AValue, Min, Max: Extended);
+procedure TNumericField.RangeError(AValue, Min, Max: Double);
 
 begin
   DatabaseErrorFMT(SRangeError,[AValue,Min,Max,FieldName]);
@@ -759,7 +759,7 @@ begin
   FValidchars:=['+','-','0'..'9'];
 end;
 
-function TLongintField.GetAsFloat: Extended;
+function TLongintField.GetAsFloat: Double;
 
 begin
   Result:=GetAsLongint;
@@ -830,7 +830,7 @@ begin
     end;
 end;
 
-procedure TLongintField.SetAsFloat(AValue: Extended);
+procedure TLongintField.SetAsFloat(AValue: Double);
 
 begin
   SetAsLongint(Round(Avalue));
@@ -942,7 +942,7 @@ end;
 
 { TFloatField }
 
-function TFloatField.GetAsFloat: Extended;
+function TFloatField.GetAsFloat: Double;
 
 begin
   If Not GetData(@Result) Then
@@ -957,7 +957,7 @@ end;
 
 function TFloatField.GetAsString: string;
 
-Var R : Extended;
+Var R : Double;
 
 begin
   If GetData(@R) then
@@ -969,14 +969,14 @@ end;
 function TFloatField.GetDataSize: Word;
 
 begin
-  Result:=SizeOf(Extended);
+  Result:=SizeOf(Double);
 end;
 
 procedure TFloatField.GetText(var TheText: string; ADisplayText: Boolean);
 
 Var
     fmt : string;
-    E : Extended;
+    E : Double;
 
 begin
   text:='';
@@ -993,7 +993,7 @@ begin
     Text:=FloatToStrF(E,ffgeneral,FPrecision,0);
 end;
 
-procedure TFloatField.SetAsFloat(AValue: Extended);
+procedure TFloatField.SetAsFloat(AValue: Double);
 
 begin
   If CheckRange(AValue) then
@@ -1010,7 +1010,7 @@ end;
 
 procedure TFloatField.SetAsString(const AValue: string);
 
-Var R : Extended;
+Var R : Double;
     Code : longint;
 
 begin
@@ -1028,7 +1028,7 @@ begin
   SetDatatype(ftfloat);
 end;
 
-Function TFloatField.CheckRange(AValue : Extended) : Boolean;
+Function TFloatField.CheckRange(AValue : Double) : Boolean;
 
 begin
   If (FMinValue<>0) or (FmaxValue<>0) then
@@ -1131,7 +1131,7 @@ begin
 end;
 
 
-function TDateTimeField.GetAsFloat: Extended;
+function TDateTimeField.GetAsFloat: Double;
 
 begin
   Result:=GetAsdateTime;
@@ -1183,7 +1183,7 @@ begin
 end;
 
 
-procedure TDateTimeField.SetAsFloat(AValue: Extended);
+procedure TDateTimeField.SetAsFloat(AValue: Double);
 
 begin
   SetAsDateTime(AValue);
@@ -1353,7 +1353,7 @@ begin
 end;
 
 
-function TBCDField.GetAsFloat: Extended;
+function TBCDField.GetAsFloat: Double;
 
 begin
   //!! To be implemented
@@ -1395,7 +1395,7 @@ begin
 end;
 
 
-procedure TBCDField.SetAsFloat(AValue: Extended);
+procedure TBCDField.SetAsFloat(AValue: Double);
 
 begin
   //!! To be implemented
@@ -1806,7 +1806,10 @@ end;
 
 {
   $Log$
-  Revision 1.11  2004-05-02 21:23:18  peter
+  Revision 1.12  2004-07-18 13:16:50  michael
+  + Changed extended to double for better Delphi compatibility
+
+  Revision 1.11  2004/05/02 21:23:18  peter
     * use ptrint
 
   Revision 1.10  2004/03/25 20:43:39  michael