<div dir="ltr"><div class="gmail_default" style="font-size:large">Thank you very much sven! This is old code, and uses Extended and Comp, so the xBase files are byte for byte compatible with Visual FoxPro. Most of xBase is ASCII, However, uSoft in their wisdom started storing binary formats when they bought out FoxBase and said, 20 byte ASCII or 4 byte binary - xBase was not designed to be small, but, to be platform, CPU, and programmer friendly. And decades later, we see something Microsoft screwed up, and has dropped support for anyway (dropping FoxPro).</div><div class="gmail_default" style="font-size:large"><br></div><div class="gmail_default" style="font-size:large">Thanks again!</div><div class="gmail_default" style="font-size:large">Ozz<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Oct 7, 2018 at 8:56 AM Sven Barth via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="m_-1164534469722574980moz-cite-prefix">Am 03.10.2018 um 14:23 schrieb Ozz
      Nixon:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div class="gmail_default" style="font-size:large">Thank you for
          explaining. Since I am needing compatibility at the disk level
          (binary form)... does anyone know of a unit or some routines
          to read/write: Comp, Double, Extended byte for byte the same?
          (even if it translates to something different at run time or
          in the dataset). If it was for the fact I maintain Halcyon
          (xBase) code I would slap this all in a DB server. Which also
          means my port of Accuracer (<a href="http://aidaim.com" target="_blank">aidaim.com</a>) is also going to have
          similar problems. :-(<br>
        </div>
      </div>
    </blockquote>
    <br>
    You can use FPC's softfpu unit though it is not compiled for all
    targets currently. But you can copy it from
    $fpcdir/rtl/inc/softfpu.pp and compiler yourself. Then you can use
    the type tfloat80 which is essentially Extended on which you can
    also use the operations defined in the softfpu unit (for convenience
    you could add a unit with operator overloads).<br>
    <br>
    Please note that Double is always the same on the main platforms and
    thus doesn't need special handling.<br>
    <br>
    Regards,<br>
    Sven<br>
  </div>

_______________________________________________<br>
fpc-devel maillist  -  <a href="mailto:fpc-devel@lists.freepascal.org" target="_blank">fpc-devel@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel" rel="noreferrer" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a><br>
</blockquote></div>