Pascal Unit
unit stdfile;
interface {stdfile}
type
doublePtr = ^double;
function StdOpen(var f: text; fName: string): boolean;
function StdRead(var f: text; var a: double): boolean;
function StdRead2(var f: text; var a, b: double): boolean;
function StdReadn(var f: text; n: integer; a: doublePtr): boolean;
implementation {stdfile}
function StdOpen(var f: text; fName: string): boolean;
begin {StdOpen}
assign(f, fName);
reset(f);
StdOpen := IOResult = 0
end; {StdOpen}
function StdRead(var f: text; var a: double): boolean;
begin {StdRead}
if not EoF(f) then begin
readln(f, a);
StdRead := IOResult = 0
end else begin {if}
StdRead := false
end {if}
end; {StdRead}
function ReadOne(var f: text; var a: double): boolean;
begin {ReadOne}
if not EoF(f) then begin
read(f, a);
ReadOne := IOResult = 0
end else begin {if}
ReadOne := false
end {if}
end; {ReadOne}
function StdReadn(var f: text; n: integer; a: doublePtr): boolean;
var i: integer;
t: double;
begin {StdReadn}
for i := 1 to n - 1 do begin
if not ReadOne(f, a^) then begin
StdReadn := false;
exit
end; {if}
a := doublePtr(longint(a) + sizeof(double))
end; {for}
StdReadn := StdRead(f, a^)
end; {StdReadn}
function StdRead2(var f: text; var a, b: double): boolean;
begin {StdRead}
if not EoF(f) then begin
readln(f, a, b);
StdRead2 := IOResult = 0
end else begin {if}
StdRead2 := false
end {if}
end; {StdRead}
end. {stdfile}