いよいよあとちょっとです。
読み取ったテキストを数値に変換したので、
ファイルストリームに書き込んでいきましょう。
//ファイルにバッファを書き込む
の ところにコードを追加します。
//ファイルにバッファを書き込む
FS.Write(buf,1);
これだけ。
WriteはReadの逆をするだけです。
第一引数の変数から第二引数バイト、ファイルストリームに書き込む
というわけ。
bufには1バイト分が入ってるので、当然第二引数は1ですな。
ファイルストリームには、
最後に実行する処理とかとくにありません。
書き込みたいだけWriteを実行したら、
Freeしてしまえば、勝手にファイルができています。
よし、やっとSaveBinText手続きが完成しました!
覚えているかな? 呼び出す部分を作りましょう。
メニュー>上書き保存 をクリック
procedure TForm1.Save1Click(Sender: TObject);
begin
if FilePath='' then begin
SaveAs1Click(Sender);
end else begin
//共通保存処理
end;
end;
を、
procedure TForm1.Save1Click(Sender: TObject);
begin
if FilePath='' then begin
SaveAs1Click(Sender);
end else begin
//共通保存処理
SaveBinText(FilePath);
end;
end;
とするだけ。
FilePathは、ファイルを開く をしたときに代入されるので、
上書き保存 のときは、値をキニシナイでそのまま使えばおkです。
次は、名前をつけて保存をクリック
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if not SaveDialog1.Execute then exit;
FilePath:=SaveDialog1.FileName;
//共通保存処理
end;
もうわかると思いますが、
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if not SaveDialog1.Execute then exit;
FilePath:=SaveDialog1.FileName;
//共通保存処理
SaveBinText(FilePath);
end;
こうしてください。
これで完成!!!!
といいたいところですが、
まだ、
新規作成 とか 終了 の時の
「ファイルが変更されています 終了していいですか?
はい | いいえ | キャンセル」
がありませんね。
それは次回。
開く→書いたり消したり→上書き保存/名前をつけて保存
は、もうできるようになってるので、
触りたいバイナリファイルがある人はどうぞ。
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 738
- today: 1
- yesterday: 0
- online: 2