お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"レコード型データの読み書き(TFlieStream版"

この発言は
#01383 HATENA さんのレコード型のデータをTListで読み書き
に対するコメントです

nifty:FDELPHI/MES/16/1383 のサンプルのファイルの入出力をTFileStreamに変更 した物。 自分の環境で試すと、読み込みはこちらの方が若干遅いようです。 10万件で、7秒→8秒 procedure TForm1.DataLoadfromFile(FileName: String); var FS: TFileStream; SData: PSdata; SizeOfRec: integer; begin SizeOfRec := SizeOf(TSData); FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); while FS.Position < FS.Size do begin New(SData); FS.ReadBuffer(SData^, SizeOfRec); SDataList.Add(SData); end; FS.Free; DrawGrid1.RowCount := SDataList.Count; DrawGrid1.ReFresh; end; procedure TForm1.DataSaveToFile(FileName: String); var FS: TFileStream; SData: PSdata; i, SizeOfRec: integer; begin SizeOfRec := SizeOf(TSData); FS := TFileStream.Create(FileName, fmCreate or fmShareExclusive); for i := 0 to SDataList.Count-1 do begin SData := SDataList.Items[i]; FS.WriteBuffer(SData^, SizeOfRec); end; FS.Free; end; 01/09/17(月) 17:04 HATENA(GFC03235)  Original document by HATENA 氏 ID:(GFC03235)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum