はじめまして、プログラムを始めて4ヶ月ほどになります。
過去ログで文字列型のデータのバイナリ保存があったので、それを参考に
実数型のデータのバイナリ保存のプログラムを作ってみたのですが、
button1を押すとエラーが出てうまくできません。
簡単なことなのかもしれませんが、どこが悪いのかわからないので
どなたかご教授ねがえませんでしょうか?
procedure TForm1.Button1Click(Sender: TObject);
var
fs: TFileStream;
i: integer;
begin
fs := TFileStream.Create('D:\test.txt', fmCreate);
i := StrToInt(Edit1.Text);
fs.WriteBuffer(Pointer(i)^, SizeOf(i));
fs.Free;
end;
WriteBufferの第1引数は、実体を与えればよいです。
つまり、
WriteBuffer(i, SizeOf(i));
です。
文字列の場合は、最初の文字の実体を与えるため、
buf^
というようにする必要があります。
それと、実数(=real)なら、StrToIntでなく、StrToFloatですよ。
整数(=integer)なら、StrToIntでOKです。
にしのさん、ありがとうございました。
WriteBufferの中を変えてみたらうまくいきました。
解決しました
ツイート | ![]() |