DIM SHARED C$(1 TO 200), OC$(1 TO 200), TOTAL(1 TO 200), FLDSTART(1 TO 200), FLDLENGTH(1 TO 200), COUNT(1 TO 200), LASTFLDN, NN, INLINE$, DELIMITER$, DELIMITERLEN, DELIMITER2$, TRANSDETECT$, LEAD$, SKIPDUMMY$, LASTCOL
CLS
INPUT "FILENAME (DO NOT INCLUDE THE EXTENSION .TXT) ="; FILENAME$
REM PRINT "THE OUTPUT FILENAME WILL BE "; FILENAME$; ".LIS"
REM PRINT "TYPE CONTROL BREAK TO ABORT (THEN SELECT EXIT FROM THE FILE MENU)"
REM PRINT
IN$ = FILENAME$ + ".TXT"
OUT$ = FILENAME$ + ".LIS"
REM PRINT
REM PRINT " PLEASE DESCRIBE HOW THE COLUMNS ARE SEPERATED (DELIMITED)"
REM PRINT " BY ENTERING ONE OF THE FOLLOWING:"
REM PRINT
REM PRINT " CARRIAGE RETURN - FOR ANY GROUP OF ADJACENT WHITE"
REM PRINT " SPACES (SPACES OR TABS)"
REM PRINT " S - for any group of adjacent Spaces"
REM PRINT " T - for only one Tab"
REM PRINT " C - for only one Comma"
REM PRINT " F - Fixed format"
REM PRINT " O - for Other (more choices)"
REM PRINT
A:
INPUT LETTER$
CAPLETTER$ = UCASE$(LETTER$)
SELECT CASE CAPLETTER$
CASE ""
REM PRINT "ANY NUMBER OF WHITE SPACES WAS CHOSEN FOR THE DELIMITER"
DELIMITER$ = " "
DELIMITER2$ = CHR$(9)
TRANSDETECT$ = "YES"
CASE "C"
REM PRINT "ONE COMMA WAS CHOSEN FOR THE DELIMITER"
DELIMITER$ = ","
CASE "S"
REM PRINT "ANY NUMBER OF SPACES WAS CHOSEN FOR THE DELIMITER"
DELIMITER$ = " "
DELIMITER2$ = " "
TRANSDETECT$ = "YES"
SKIPDUMMY$ = "YES"
CASE "T"
REM PRINT "ONE TAB WAS CHOSEN FOR THE DELIMITER"
DELIMITER$ = CHR$(9)
CASE "O"
REM PRINT " THE DELIMITER CAN BE SPECIFIED IN ONE OF TWO WAYS."
REM PRINT " THE DELIMITER CAN BE EITHER TYPED DIRECTLY OR IT'S"
REM PRINT " ASCII CODE CAN BE SPECIFIED."
GOTO C
CASE "F"
REM PRINT "FIXED FORMAT WAS CHOSEN"
GOTO F
CASE ELSE
REM PRINT "OPS PLEASE TRY AGAIN"
GOTO A
END SELECT
GOTO K
F:
REM PRINT
REM PRINT " INPUT FIELDS ARE SPECIFIED BY ENTERING THE STARTING POSITION"
REM PRINT " OF EACH FIELD ALONG WITH THE ENDING POSITION OF THE LAST FIELD."
REM PRINT " THE DOS EDITOR CAN BE USED TO FIND THESE POSITIONS."
REM PRINT
REM PRINT " THE PROGRAM WILL MOVE THE FIELD LENGTHS ALONG WITH THE FIELDS"
REM PRINT " AND ADD LENGTH AS REQUIRED BY NEW FIELDS."
REM PRINT
REM PRINT " PLEASE TYPE IN THE STARTING POSITION OF EACH FIELD."
REM PRINT " ENTER A BLANK LINE TO END."
FLDN = 1
REM PRINT
REM PRINT "STARTING POSITION OF FIELD NUMBER"; FLDN; "=";
INPUT FLDSTART(FLDN)
LASTFLDN = FLDN
FLDN = 2
INPUTFLD:
REM PRINT "STARTING POSITION OF FIELD NUMBER"; FLDN; "=";