掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
固定長データファイルを効率的かつできるだけ高速に入出力するには? (ID:43062)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
固定長なら const DBSize = 4000; function DBOpen(FileName: String): Integer; begin Result := FileOpen (FileName,fmOpenReadWrite); end; procedure DBClose(Handle: Integer); begin FileClose (Handle); end; function DBRead(Handle: Integer): String; overload; var Buffer: array[0..DBSize] of Char; begin Buffer := ''; FileRead(Handle,Buffer,SizeOf(Buffer)); Result := StrPas(Buffer); end; function DBRead(Handle,Index: Integer): String; overload; var Buffer: array[0..DBSize] of Char; begin FileSeek(Handle,0,Index * DBSize); Result := DBRead(Index); end; function DBWrite (Handle: Integer; Value: String): Integer; overload; var Buffer: array[0..DBSize] of Char; begin Result := FileWrite (Handle,Buffer,SizeOf(Buffer)); end; function DBWrite (Handle,Index: Integer; Value: String): Integer; overload; begin FileSeek(Handle,0,Index * DBSize); Result := DBWrite (Handle,Value); end; function DBAppend(Handle: Integer; Value: String): Integer; begin FileSeek(Handle,2,0);//ファイルの最後に移動 Result := DBWrite (Handle,Value); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.