Browse Source

* Add ReadDouble

Michaël Van Canneyt 1 year ago
parent
commit
14e9446c08
2 changed files with 20 additions and 0 deletions
  1. 1 0
      rtl/objpas/classes/classesh.inc
  2. 19 0
      rtl/objpas/classes/reader.inc

+ 1 - 0
rtl/objpas/classes/classesh.inc

@@ -1881,6 +1881,7 @@ type
 {$ifndef FPUNONE}
 {$ifndef FPUNONE}
     function ReadFloat: Extended;
     function ReadFloat: Extended;
     function ReadSingle: Single;
     function ReadSingle: Single;
+    function ReadDouble: Double;
     function ReadDate: TDateTime;
     function ReadDate: TDateTime;
 {$endif}
 {$endif}
     function ReadCurrency: Currency;
     function ReadCurrency: Currency;

+ 19 - 0
rtl/objpas/classes/reader.inc

@@ -1119,6 +1119,25 @@ begin
     Result := ReadInt64;
     Result := ReadInt64;
 end;
 end;
 
 
+function TReader.ReadDouble: Double;
+begin
+  // We have no vaDouble 
+  Case FDriver.NextValue of
+  vaExtended:
+    begin
+    ReadValue;
+    Result := FDriver.ReadFloat
+    end;
+  vaSingle:
+    begin
+    ReadValue;
+    Result := FDriver.ReadSingle
+    end;
+  else
+    Result := ReadInt64;
+  end
+end;
+
 procedure TReader.ReadSignature;
 procedure TReader.ReadSignature;
 begin
 begin
   FDriver.ReadSignature;
   FDriver.ReadSignature;