Browse Source

* misc single and double helpers. No endianess atm.

git-svn-id: trunk@33041 -
marco 9 years ago
parent
commit
475d388fdc
1 changed files with 24 additions and 0 deletions
  1. 24 0
      packages/fcl-base/src/streamex.pp

+ 24 - 0
packages/fcl-base/src/streamex.pp

@@ -179,6 +179,7 @@ type
 
 
 
 
   TStreamHelper = class helper for TStream
   TStreamHelper = class helper for TStream
+
                      function  ReadWordLE :word;
                      function  ReadWordLE :word;
                      function  ReadDWordLE:dword;
                      function  ReadDWordLE:dword;
                      function  ReadQWordLE:qword;
                      function  ReadQWordLE:qword;
@@ -191,6 +192,11 @@ type
                      procedure WriteWordBE (w:word);
                      procedure WriteWordBE (w:word);
   		     procedure WriteDWordBE(dw:dword);
   		     procedure WriteDWordBE(dw:dword);
 	             procedure WriteQWordBE(dq:qword);
 	             procedure WriteQWordBE(dq:qword);
+                     function  ReadSingle:Single;
+                     function  ReadDouble:Double;
+                     procedure WriteSingle(s:Single);
+                     procedure WriteDouble(d:double);
+
                      {$ifndef FPC}
                      {$ifndef FPC}
                       function ReadByte  : Byte;
                       function ReadByte  : Byte;
                       function ReadWord  : Word;
                       function ReadWord  : Word;
@@ -603,6 +609,24 @@ begin
   WriteQWord(NtoLE(dq));
   WriteQWord(NtoLE(dq));
 end;
 end;
 
 
+function  TStreamHelper.ReadSingle:Single;
+begin
+  self.Read(result,sizeof(result));
+end;
+function  TStreamHelper.ReadDouble:Double;
+begin
+  self.Read(result,sizeof(result));
+end;
+procedure TStreamHelper.WriteSingle(s:Single);
+begin
+  self.Write(s,sizeof(s));
+end;
+procedure TStreamHelper.WriteDouble(d:double);
+begin
+  self.Write(d,sizeof(d));
+end;
+
+
 {$ifndef FPC}
 {$ifndef FPC}
 // there can only be one helper per class, and I use these in Delphi for FPC compatibility.
 // there can only be one helper per class, and I use these in Delphi for FPC compatibility.
 function TStreamHelper.ReadByte: Byte;
 function TStreamHelper.ReadByte: Byte;