掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
型なしファイルでデータを書き込むには (ID:11062)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
複雑なことを考えるよりさきに、まず最低できなければならなことは、ファイルの 読み書きだと思います。それ用の関数を作ってみました。Year などは単純にする ために Word 型にしています。参考にしてください。 type TYearComment = record Year:Word;//年 Month:Word;//月 Day:Word;//日 Comment:string; end; function WriteYC(Filename:string;YC:TYearComment):Boolean; var FS:TFileStream; L:integer; begin result := false; FS := TFileStream.Create(Filename,fmCreate or fmShareDenyWrite); try try FS.Write(YC.Year,SizeOf(Word)); FS.Write(YC.Month,SizeOf(Word)); FS.Write(YC.Day,SizeOf(Word)); L := Length(YC.Comment); FS.Write(L,SizeOf(integer)); FS.Write(YC.Comment[1],L); except exit; end; finally FS.Free; end; result := true; end; function ReadYC(Filename:string;var YC:TYearComment):Boolean; var FS:TFileStream; L:integer; begin result := false; FS := TFileStream.Create(Filename,fmOpenRead or fmShareDenyWrite); try try FS.Read(YC.Year,SizeOf(Word)); FS.Read(YC.Month,SizeOf(Word)); FS.Read(YC.Day,SizeOf(Word)); FS.Read(L,SizeOf(integer)); SetLength(YC.Comment,L); FS.Read(YC.Comment[1],L); except exit; end; finally FS.Free; end; result := true; end; procedure TForm1.Button1Click(Sender: TObject); var YC:TYearComment; Year,Month,Day:Word; begin DecodeDate(Now,Year,Month,Day); YC.Year := Year; YC.Month := Month; YC.Day := Day; YC.Comment := Memo1.Text; WriteYC('c:\Test.txt',YC); end; procedure TForm1.Button2Click(Sender: TObject); var YC:TYearComment; begin if ReadYC('c:\Test.txt',YC) then begin Memo2.Lines.Add(IntToStr(YC.Year)); Memo2.Lines.Add(IntToStr(YC.Month)); Memo2.Lines.Add(IntToStr(YC.Day)); Memo2.Lines.Add(YC.Comment); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.