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

Reply via email to