16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE:ファイル以外に Readln, Writelnを使い"
この発言は #01408 ぜえた さんのファイル以外に Readln, Writelnを使いたい に対するコメントです
ぜえた さん、こんにちは。
バグ取り(^^;
function GetString(const F: TextFile): string;
begin
Flush(F); //必要そう
Result := PUserData(@TTextRec(F).UserData)^.TextStr;
end;
function StrOpen(var F: TTextRec): Integer;
begin
with F, PUserData(@UserData)^ do begin
BufPos := 0;
BufEnd := 0;
case Mode of
fmInput: begin
InOutFunc := @StrIn;
FlushFunc := @StrIgnore;
CloseFunc := @StrClose;
StrPos := 0;
end;
fmOutput: begin
InOutFunc := @StrOut;
FlushFunc := @StrOut;
CloseFunc := @StrClose;
TextStr := ''; //この方が(仕様的に)よさそう
StrPos := 0;
end;
fmInOut: begin
Mode := fmOutput;
InOutFunc := @StrOut;
FlushFunc := @StrOut;
CloseFunc := @StrClose;
UniqueString(TextStr); //これは絶対必要
StrPos := Length(TextStr);
end;
else
Result := 1;
Exit;
end;
end;
Result := 0;
end;
ぜえた (QZC05100)
Original document by ぜえた 氏 ID:(QZC05100)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|