Rainer Stratmann:
> Alternatively you can make a class or an object with the
> text variable in it.
But if you need to work with only one file, you can get rid
of a global variable in the main module by just extracting
the relevant functions and the file handle into a separate
unit:
---------- myfile.pas -------------------------------------
Unit MyFile;
Interface
Procedure OpenFile(fullname: ShortString);
Function ReadNextLine(): ShortString;
Procedure CloseFile();
Function IsFileRead(): Boolean;
Implementation
var
TheFile: TEXT;
Procedure OpenFile(fullname: ShortString);
begin
Assign(TheFile, fullname);
Reset(TheFile);
end;
Function ReadNextLine(): ShortString;
var
line: ShortString;
begin
ReadLn(TheFile, line);
ReadNextLine := line;
end;
Procedure CloseFile();
begin
Close(TheFile);
end;
Function IsFileRead(): Boolean;
begin
IsFileRead := Eof(TheFile);
end;
end.
----------- filetest.pas ---------------------------------
Program ftest;
uses MyFile;
begin
OpenFile('test.txt');
While not IsFileRead() do
WriteLn(ReadNextLine());
CloseFile();
end.
----------------------------------------------------------
Anton
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal