我声明了一个real类型的变量,想写到文件里,
比如是
var 
i:real
i:=1;
但我用write写textfile时用hex格式看写的文件是31,但是我见到别外一个用dephi写的程序,也写的是浮点数1,怎么写到文件里的是00 80 FF 3F。怀疑是直接写的内存buffer,但我不知道怎么写请高手指教

解决方案 »

  1.   

    QQ :13243817 今天没时间回答你问题,可以加我的QQ和我聊
      

  2.   

    @取地址
    var
     AInteger:Integer;
    begin
     AInteger := 0;
     i := @AInteger;
      

  3.   

    如果你的意思是想在 文本文件里面直接看到你要记录的数据,我认为写到文件前时进行格式转换一下比较好。例如:
    VAR
       F:TEXTFILE;
       X:REAL;
       S: STRING;
    BEGIN
       ASSIGNFILE(F,'DATA.TXT');
       REWRITE(F);
       X:=3.14159;
       S:=FLOATTOSTR(X);
       WRITE(F,S);
       CLOSEFILE(F);
    END;
      

  4.   

    我像把数据导到那个程序的文件里,但用它的程序保存一个浮点数到文件里用hex查看结果是比如说1,是00 80 ff 3f,但我自己写程序时就不行,不知道他用的是那个函数写的,或是做了什么转化?
      

  5.   

    1,
       00 80 ff 3f 首先对应的是1这个数据还是对应1这个数据的内存地址?
       2,其他的程序是用文本文件写的还是用流的方式写的?按讲两种方式写的数据格式和数据应该不是完全一样吧?3,不会是加密了吧?
      

  6.   

    搞定了,原来那个人定义的是Extended类型,写到文件里是那种效果,但现在又有新问题了新问题:我怎么把Extended的内存的值写进一个Byte数组里?