Login
`
Templates, Tools and Utilities
|
||
Icetips Article
Back to article list
Search Articles
Add Comment
Printer friendly
Direct link
Par2: Process ASCII file using DOS driver 1998-04-07 -- John Hickey Originally, I used the ASCII driver and it was taking a long time to import 1000 records.
The problem was not the adding of the records, but the reading of the ASCII file!
I decided to use the DOS driver to read the ASCII file in big chunks, and
then parse it out. I defined a DOS file (DOSFILE) with one field (LINE)
that was 20000 long. I then used the following code to parse it out:
NN#=0
SET(DOSFILE,1)
LOOP
Next(DOSFILE) !Reads in 20000 characters
IF ERROR() Then BREAK.
LOOP !Begin Parse
X#=instring('<13,10>',clip(DOS:Line),1,1) !Looks for Carriage Return/Line Feed
IF ~X#
ASC:Line=DOS:Line !If not found, it's a partial line
nn#=1 !set a flag and
Break !read in next DOS Line
Else
If ~nn# !if not a partial line
ASC:Line='' !re-set ASC:Line
End
End
nn#=0 !re-set partial line flag
ASC:Line=clip(ASC:Line) & sub(DOS:Line,1,x#-1) !This is the actual ASC record now
DOS:Line=sub(DOS:Line,x#+2,20000) !shortens the DOS line for next parse
!
!
Today is November 21, 2024, 8:39 am This article has been viewed 35343 times.
|
|