[Back to TEXTFILE SWAG index] [Back to Main SWAG index] [Original]
unit TextObjs;
interface
Uses Dos;
Type OpenHowT = (ForceNewF,OpenExistF,AppendF);
type TextObj = Object
Constructor Init(FN:string;FileMode:byte;BufSize:longint;OH:OpenHowT);
Procedure Readln(var s:string);
Procedure Writeln(s:string);
Procedure Write(s:string);
{ some procedures,etc left out }
Destructor Done;
private { internal to object }
F: text;
BufP: Pointer;
BufferSize: longint;
end;
implementation
Constructor TextObj.Init(FN:string;FileMode:byte;BufSize:longint;
oh:openhowT);
begin
BufferSize:=BufSize;
GetMem(BufP,BufferSize); { filemode isn't used here }
{$I-}
assign(F,fn);
case OH of
ForceNewF: Rewrite(f);
OpenExistF: Reset(f);
AppendF: Append(f)
end;
SetTextBuf(f,BufP^,BufferSize)
end;
Procedure TextObj.Readln(var s:string);
begin System.Readln(f,s) end;
Procedure TextObj.Writeln(s:string);
begin System.Writeln(f,s) end;
Procedure TextObj.Write(s:string);
begin System.Write(f,s) end;
Destructor TextObj.Done;
begin
Close(f);
FreeMem(BufP,BufferSize)
end;
end.
[Back to TEXTFILE SWAG index] [Back to Main SWAG index] [Original]