Sequential File Processing Examples
EXAMPLE 1
* This program uses sequential processing to create text file
* from a jBASE hashed file. It illustrates the use of the commands:
* OPENSEQ, WRITESEQ, WEOFSEQ, CLOSESEQ
*
* First, let's set the destination directory and file path
Path = "d:\temp\textfile"
*
* Open the destination file path. If it does not exist it will be created.
* Note that "openseq_creates=true" must be set for the emulation in
* config_EMULATE.
OPENSEQ Path TO MyPath THEN
CRT "The file already exists and we don't want to overwrite it."
END ELSE
CRT "File is being created..."
END
*
* Open the jBASE file
OPEN "FileName" TO jBaseFile ELSE STOP
SELECT jBaseFile ;* Process all records
*
* Now, let's loop thru each item and build the ascii text file.
LOOP WHILE READNEXT ID DO
READ MyRec FROM jBaseFile, ID THEN
Line = ""
*
* Process MyRec and build the Line variable with the information to be
* written to the file.
*
WRITESEQ Line TO MyPath ELSE
CRT "What happened to the file?"
STOP
END
END
REPEAT
*
* Wrapup
WEOFSEQ MyPath
CLOSESEQ MyPath
EXAMPLE 2
* This program uses sequential processing to read from an ascii text file
* and write to a jBASE hashed file. It illustrates the use of the commands:
* OPENSEQ, READSEQ, CLOSESEQ
*
* First, let's define the path where the sequential file resides.
Path = "d:\temp\textfile"
*
* Open the file. If it does not exist an error will be produced.
OPENSEQ Path TO MyPath ELSE
CRT "Can't find the specified directory or file."
ABORT
END
*
* Open the jBASE hashed file
OPEN "FileName" TO jBaseFile ELSE STOP
*
* Now, let's read and process each line of the ascii (sequential) file.
LOOP
READSEQ Line FROM MyPath ELSE EXIT
* Initialize the record which will be written to the jBASE hashed file.
MyRec = ""
*
* Process the Line variable. This involves extracting the information which
* define the key and data of the record to be written to the jBASE hashed
* file. This will be left up to the application developer since a "line"
* could either be fixed length or delimited by some character such as a
* tab or a comma. We will assume that Key & MyRec are assembled here.
*
* All that's left to do is to write to the jBASE hashed file.
WRITE MyRec on jBaseFile, Key
REPEAT
*
* Wrapup
CLOSESEQ MyPath
jBC
|