/GFILE 2/14/84 ------------------------------ READ ASCII FILE --------------------------- First you should select the name of the DBMS file you wish to read data into, you must enter a valid number for it to continue. Files available: NUMBER NAME __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ __. ______________________________________ Please enter the number of the file to read data into: __. (Next-key for more, Previous-key to start over, Help available) /FILEHELP HELP ----------------------------- READ ASCII FILE ----------------------------- File selection help screen --------------------------------------------------------------------------- This program will help you to build a configuration to read a standard ASCII file into an existing DataFlex DBMS file. In this section you must select the DataFlex file to receive the data. You must enter the file number corresponding to the file you wish to use. If the file you want is not listed, press the next record key to see more files. You may also press the previous record key to repeat the list of files. Press any key to return to the file selection menu. /PARAM ------------------------------ READ ASCII FILE --------------------------- This program will help you to build a configuration to read a standard ASCII file into an existing DataFlex DBMS file. NAME OF THE DBMS FILE TO READ DATA INTO: ________ Now provide the name of the ASCII file to read from: READ FROM ASCII FILE: ______________ The configuration source file generated must be given a name: CONFIGURATION FILE NAME: ____________ /MEM HELP No further help available, please refer to notes on screen. MEMORY=_________ /FMAT ------------------------------ READ ASCII FILE --------------------------- Some ASCII files have each element or field on a seprate line such that multiple lines make up one record, This is a LINE delimited file. Other files have all of the elements or fields on one line with a comma between each field and text fields have quotes around them. This is called a COMMA delimited file. IS YOUR ASCII FILE LINE OR COMMA DELIMITED? _____ In either case you must know how many fields must be read for each record. HOW MANY FIELDS PER RECORD READ? __. /NAMES ---------------------- READ ASCII FILE --------------------- FILE: __________ FLD# NAME FLD# NAME FLD# NAME __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ __. _______________ LINE/FIELD __. OF INPUT FILE GOES IN WHAT DATA ELEMENT NUMBER? __. {RETURN to "waste" the INPUT line, ESCAPE to exit Next-key for more field, Previous-key to start fields over, Help available} /FIELDHELP HELP ----------------------------- READ ASCII FILE ----------------------------- Element selection help screen --------------------------------------------------------------------------- This program will help you to build a configuration to read a standard ASCII file into an existing DataFlex DBMS file. In this section you must select where each entry in the input file is to go. The "line/field" prompt refers to the INPUT data, starting at one. Select the number of the field element in __________ that should receive this input. If the field you want is NOT shown, you may press the NEXT RECORD key to see more field elements. You may re-start the field display by pressing the PREVIOUS RECORD key. Press any key to return to the field selection menu. /GOCOMP ------------------------ READ ASCII FILE ---------------------------- The definition of your read configuration is done. It must now be compiled to be used. You may compile it now or edit it first. COMPILE CONFIGURATION: _ (Y or N) /* // GENERATE ASCII FILE READ STRING TAGFILE STRING TAGNAME STRING ELEMENT 20 INTEGER STRTTAG ENDTAG COUNT NUMBER LINEC INDICATE FIRST TRUE MOVE 1 TO LINEC MOVE MEMAVAIL TO MEM.1 NAME NAMES.92 LINE NAME NAMES.93 ELEMENT# FORMAT ELEMENT# {RANGE=0,255} // GET FILE NAMES GETNAME: MOVE 0 TO FILENUMBER NAMELP: BLANKFORM GFILE PAGE GFILE FOR WINDOWINDEX FROM 0 TO 23 FILELIST NEXT TO GFILE.2& [FOUND] MOVE FILENUMBER TO GFILE.1& INCREMENT WINDOWINDEX [FOUND] LOOP ACCEPT GFILE.25 IF GFILE.25 EQ '' GOTO NAMELP [KEY.NEXT] GOTO NAMELP [KEY.PREVIOUS] GOTO GETNAME FILELIST GFILE.25 FILELIST PATHNAME TO TAGFILE PARAM.1 MOVE PARAM.1 TO FIELDHELP.1 IF TAGFILE EQ '' GOTO GETNAME // OPEN TAGS INTEGER FLDNUM OPENTAG: APPEND TAGFILE ".TAG" DIRECT_INPUT TAGFILE MOVE 0 TO FLDNUM [SEQEOF] GOTO GETNAME [FIRST] BEGIN ACCEPT PARAM.2 ACCEPT PARAM.3 ACCEPT FMAT.1 ACCEPT FMAT.2 FORMAT FMAT.1 {CAPSLOCK, CHECK='LINE ,COMMA'} FORMAT FMAT.2 {RANGE=1,255} INDICATE COMMA AS FMAT.1 EQ 'COMMA' DIRECT_OUTPUT PARAM.3 WRITELN '/*' WRITELN 'STRING TEMSTR' WRITELN 'DIRECT_INPUT "' PARAM.2 '"' WRITELN '[SEQEOF] ERROR 75 "' PARAM.2 '"' WRITELN '[SEQEOF] ABORT' WRITELN 'OPEN ' PARAM.1 WRITELN 'REPEAT' END // READ TAGS BLANKFORM NAMES PAGE NAMES MOVE PARAM.1 TO NAMES.1 INDICATE FIRST FALSE DISTAG: FOR WINDOWINDEX FROM 0 TO 89 XTAG: READLN TAGNAME [NOT SEQEOF] BEGIN IF TAGNAME LT 'A' GOTO XTAG // BYPASS "@" FIELDS INCREMENT FLDNUM MOVE FLDNUM TO NAMES.2& MOVE TAGNAME TO NAMES.3& INCREMENT WINDOWINDEX END [NOT SEQEOF] LOOP // GET LINE REPEAT MOVE LINEC TO LINE REPEAT CLEARFORM ELEMENT# ACCEPT ELEMENT# [KEY.NEXT] GOTO DISTAG [KEY.PREVIOUS] GOTO OPENTAG INDICATE BLANK AS ELEMENT# EQ 0 [BLANK][NOT COMMA] WRITELN ' READLN TEMSTR' [BLANK][COMMA] WRITELN ' READ TEMSTR' [BLANK] GOTO ENDLOOP2 MOVE 0 TO WINDOWINDEX FOR WINDOWINDEX FROM 0 TO 89 IF NAMES.2& EQ ELEMENT# BEGIN CLEARFORM NAMES.2& MOVE NAMES.3& TO ELEMENT [COMMA] WRITELN ' READ ' PARAM.1 '.' ELEMENT [NOT COMMA] WRITELN ' READLN ' PARAM.1 '.' ELEMENT INCREMENT WINDOWINDEX GOTO ENDLOOP END INCREMENT WINDOWINDEX LOOP LOOP ENDLOOP: [NOT LASTIF] CLEARFORM ELEMENT# ENDLOOP2: CALC (LINEC+1) TO LINEC UNTIL LINEC GT FMAT.2 KEYPROC KEY.ESCAPE CLEARSCREEN [FIRST] ABORT [COMMA] WRITELN ' READLN' WRITELN ' SAVERECORD ' PARAM.1 WRITELN ' CLEAR ' PARAM.1 WRITELN ' SHOW "*"' WRITELN '[NOT SEQEOF] LOOP' WRITELN 'SHOWLN' WRITELN 'ABORT' [KEY.ESCAPE] ABORT #FORMAT GOCOMP.1 {CAPSLOCK, CHECK='YN'} ACCEPT GOCOMP.1 IF GOCOMP.1 EQ 'Y' RUNPROGRAM 'COMP' PARAM.3 ABORT // DEFINE ACTION OF FUNCTION KEYS KEYPROC KEY.FIELD [FIRST] BACKFIELD RETURN KEYPROC KEY.HELP HELP ENTAGAIN RETURN EFINE ACTION OF FUNCTION KEYS KEYPROC KEY.FIELD [FIRST] BACKFIELD RETURN KEYPROC KEY.HEL