16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"文字列<->ファイル:ファイルを文字列にロード"
この発言に対し以下のコメントが寄せられています
#01171 本田勝彦 さん RE:文字列<->ファイル:ファイルを文字列にロード
#01172 ぜえた さん RE:文字列<->ファイル:ファイルを文字列にロード
こんにちは、ぜえた です。
それほど大きくないファイルの処理では、ファイル全体をひとつの文字列とし
てロード、およびその逆をしたくなります。
そのための関数は、少なくとも Delphi3にはないようなので、作りました。
#結構使っているんですが、いい関数名が思い付かない。
#なんかいいのないですか?
function FileStringLoad(const FileName: string): string;
var
Handle: THandle;
Size: Integer;
begin
Handle := FileOpen(FileName, fmOpenRead or fmShareDenyWrite);
if Handle < 0 then
raise EFOpenError.CreateFmt(SFOpenError, [FileName]);
try
Size := GetFileSize(Handle, nil);
SetString(Result, nil, Size);
FileRead(Handle, PChar(Result)^, Size);
finally
FileClose(Handle);
end;
end;
procedure FileStringSave(const FileName, S: string);
var
Handle: THandle;
begin
Handle := FileCreate(FileName);
if Handle < 0 then
raise EFCreateError.CreateFmt(SFCreateError, [FileName]);
try
FileWrite(Handle, PChar(S)^, Length(S));
finally
FileClose(Handle);
end;
end;
//////////////////////////////////////////////////////////////////
// サンプル: テキストファイルの行区切を CR/LFに統一する。
procedure FileAdjustLineBreaks(const Source, Dest: string);
begin
FileStringSave(Dest, AdjustLineBreaks(FileStringLoad(Source)));
end;
ぜえた (QZC05100)
- FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 00/10/03 -
Original document by ぜえた 氏 ID:(QZC05100)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|