score:real;
sFileStream: TFileStream;我想建立一个文件
sFileStream:= TFileStream.Create('a.mm',fmCreate or fmShareExclusive);
sFileStream.Position:=0;
score:= 3000.98;
sFileStream.WriteBuffer();/////////怎样把score的值写入 a.mm中??注意,只能写4个字节,也就是 a.mm文件中固定地开辟出 4字节的空间来存放 score的值。。是不是要自己定义一些格式?比如说第1,2,3个字节存放整数部分,第4个字节存放小数部分。,各位大哥有什么好方案吗?谢谢了。
sFileStream: TFileStream;我想建立一个文件
sFileStream:= TFileStream.Create('a.mm',fmCreate or fmShareExclusive);
sFileStream.Position:=0;
score:= 3000.98;
sFileStream.WriteBuffer();/////////怎样把score的值写入 a.mm中??注意,只能写4个字节,也就是 a.mm文件中固定地开辟出 4字节的空间来存放 score的值。。是不是要自己定义一些格式?比如说第1,2,3个字节存放整数部分,第4个字节存放小数部分。,各位大哥有什么好方案吗?谢谢了。
解决方案 »
- delphi用WebBrowser控件的时候 360报木马错误
- 求解GetProp函数
- 在广州遭遇抢劫(悬赏)
- procedure WMNID(var msg:TMessage); message WM_NID;编译不能通过 求助
- 在ADOConnection中使用Oracle OLE DB访问远程数据库的问题
- 使用Laber组件时的问题
- 在数据库引发的错误,有delphi异常处理机制如何解决?
- 请问关于数据库文件存储的入门问题, 急,急,急,马上给分,存储入门问题
- 我有个简单的数据库问题
- 避免创建窗体的多个实例的问题
- 谁做过批量远程3389管理的程序?
- 如何读写mssql中的NText类型的数据啊?
除非你要保存的数据精度在4字节范围内
var
score:real;
save: Single;
sFileStream: TFileStream;
begin
sFileStream:= TFileStream.Create('a.mm',fmCreate or fmShareExclusive);
sFileStream.Position:=0;
score:= 3000.98;
save := score;
sFileStream.WriteBuffer(save, SizeOf(save))/////////
end;
我现在的问题主要是不知道怎么把它存放到文件中,并读取出来。。不能直接这样啊
sFileStream.WriteBuffer(score,4);/////////,是不是需要自定义存储结构,比如说第1,2,3个字节存放整数部分,第4个字节存放小数部分。谢谢收看
你直接 sFileStream.WriteBuffer(save, SizeOf(save))/////////
的话,取出来ReadBuffer的时候,怎么还原成 single值?
var
score:real;
save, load: Single;
sFileStream: TFileStream;
begin
sFileStream:= TFileStream.Create('a.mm',fmCreate or fmShareExclusive);
try
sFileStream.Position := 0;
score:= 3000.98;
save := score;
sFileStream.WriteBuffer(save, SizeOf(save)); //向流中写入
sFileStream.Position := 0; //读之前要先定位,找到要读的数据的开始部分
sFileStream.Read(load, SizeOf(load));
Caption := FloatTostr(RoundTo(load, -2)); //四舍五入取两位小数
finally
sFileStream.Free;
end;
end;
流的方式读写,你用什么方式写入的,据用什么方式读取,他会忠实记录你写入的信息。
就能取出来了,我还以为需要做什么转化呢。我先试试看