The values aren't always separated by spaces. These are huge files with
sometimes tens of thousands of lines of data. The only way I can
effectively search and extract relevant data form them is to find a way
to specify that characters 1 through 3 are a country code, characters 13
through 37 are site names, etc.
Dave
On 8/5/2011 12:41 AM, Alexander Klenin wrote:
On Fri, Aug 5, 2011 at 15:06, David M. Lawrence<[email protected]> 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.
--
------------------------------------------------------
David M. Lawrence | Home: (804) 559-9786
7471 Brook Way Court | Fax: (804) 559-9787
Mechanicsville, VA 23111 | Email: [email protected]
USA | http: http://fuzzo.com
------------------------------------------------------
"All drains lead to the ocean." -- Gill, Finding Nemo
"We have met the enemy and he is us." -- Pogo
"No trespassing
4/17 of a haiku" -- Richard Brautigan
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus