[Lazarus] reading FORTRAN-style input in Lazarus

Alexander Klenin klenin at gmail.com
Fri Aug 5 06:41:47 CEST 2011


On Fri, Aug 5, 2011 at 15:06, David M. Lawrence <dave at fuzzo.com> wrote:
> I've held on to FORTRAN because of its ability to explicitly define input
> (and output) formats -- this is a must for extracting data from a number of
> publicly available datasets.
>
> I'm now trying to convert one of my most useful programs to PASCAL, but I am
> hung up on how to read multiple variables from a single line.
>
> For example, here's a FORTRAN format I need to emulate:
>
> FORMAT(I3,I7,2X,A25,1X,F6.2,1X,F7.2,3(1X,I4),1X,F4.1,1X,I1)
>
> On a single line, I begin with two integer variables, skip two spaces, one
> string variable, one space followed by a real variable, skip a space, etc.
>
> I know of examples that involve treating each line as a character array, but
> I cannot find them now.  I also know how to specify write formats, but have
> seen no examples of applying that to reading lines.
>

If values are separated by spaces, you can just use Readln.
If you really need to check exact format
(i.e. error out if there are, for example, three spaces instead of two),
you can re-format the values read and compare result with the original string.

-- 
Alexander S. Klenin




More information about the Lazarus mailing list