>Here is a possible solution to the count needed for the number of records. I once had to do the same, importing from csv files, and knowing that the size of each record would occupy the same space (or approximately thereof), you could take the total file size and divide it by the approx record size to get the number of records. This figure could then be used for the progressbar without having to do any kind of low level read or double run. Not rocket science, but could work well enough.
It would be easier than actually countng lines, but it's bound to be off in large files, and the user ends up seeing the wrong number of records imported, leading to the inevitable bug report.
In VFP6, finding the line count is as easy as:
nLines = OCCURS(CHR(13), FILETOSTR(cMyFileName))