掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
2進数配列の保存 (ID:8489)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
無駄というか、Boolean 型の変数は1バイトなので、サイズは '0' と '1' の文字にしても同じですが、書き込み・読み出しの 効率は悪いですね。配列そのものをメモリーストリームをつかって 読み書きすると簡単です。 procedure TForm1.Button1Click(Sender: TObject); var bl:array[0..9] of Boolean; i:integer; ms:TMemoryStream; begin ms := TMemoryStream.Create; try for i := 0 to 9 do bl[i] := Odd(i); ms.Write(bl,SizeOf(Boolean)*10); ms.SaveToFile('c:\Bool.bin'); finally ms.Free; end; end; これは書き込みの例です。読み出しは procedure TForm1.Button2Click(Sender: TObject); var bl:array[0..9] of Boolean; i:integer; ms:TMemoryStream; begin ms := TMemoryStream.Create; try ms.LoadFromFile('c:\Bool.bin'); ms.Read(bl,SizeOf(Boolean)*10); for i := 0 to 9 do if bl[i] then Memo1.Lines.Add('odd') else Memo1.Lines.Add('even'); finally ms.Free; end; end; のようにします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.