100 OPTION BASE 1:DEFSTR F,A:DIM F(256),F1(256)
110 DEF FNAT(ROW,COL)=CHR$(27)+"="+CHR$(ROW+32)+CHR$(COL+32)
200 PRINT CHR$(26);FNAT(8,30);"<1> Add Field";FNAT(10,30);"<2> Delete Field";FNAT(12,30);"Enter Selection: ";
210 A=INKEY$:IF A="" THEN 210 ELSE PRINT A
215 IF VAL(A)<>1 AND VAL(A)<>2 THEN 200
220 PRINT CHR$(26);FNAT(10,0);"Enter File Name Without Extension: ";
230 LINE INPUT OLDFILE$:IF OLDFILE$="" THEN 220
240 PRINT CHR$(26);FNAT(10,0);"Enter Current Number of Fields: ";:INPUT OLDMAXFIELDS
245 IF OLDMAXFIELDS>244 AND VAL(A)=1 THEN PRINT CHR$(26);FNAT(10,15);"File has maximum fields.  Field cannot be added.";FNAT(23,26);"Press 
247 IF OLDMAXFIELDS=1 AND VAL(A)=2 THEN PRINT CHR$(26);FNAT(10,15);"File only has one field.  It cannot be deleted.";FNAT(23,26);"Press any
250 IF OLDMAXFIELDS=0 THEN 240
260 IF VAL(A)=1 THEN PRINT CHR$(26);FNAT(10,0);"Insert new field after field number: ";:INPUT MARKFIELD:IF MARKFIELD=0 THEN 260
270 IF VAL(A)=2 THEN PRINT CHR$(26);FNAT(10,0);"Delete field number: ";:INPUT MARKFIELD:IF MARKFIELD=0 THEN 270
390 NAME OLDFILE$+".DTA" AS OLDFILE$+".$$$"
400 OPEN "I",1,OLDFILE$+".$$$":OPEN "O",2,OLDFILE$+".DTA"
500 IF EOF(1) THEN GOTO 1400
600 FOR X=1 TO OLDMAXFIELDS
800 INPUT#1,F(X)
900 NEXT X
1100 GOSUB 1600
1200 ON VAL(A) GOSUB 1900,2000
1300 GOTO 500
1400 CLOSE:KILL OLDFILE$+".$$$":PRINT CHR$(7);CHR$(26);FNAT(10,38);"DONE"
1500 END
1600 FOR X=1 TO OLDMAXFIELDS
1700 IF INSTR(F(X),",")<>0 THEN F(X)=CHR$(34)+F(X)+CHR$(34)
1800 NEXT X:RETURN
1899 REM PRINT FILE TO DISK WITH ONE FIELD ADDED.
1900 Y=1:FOR X = 1 TO OLDMAXFIELDS
1905 IF X=MARKFIELD+1 THEN F1(Y)="":Y=Y+1
1910 F1(Y)=F(X)
1915 Y=Y+1
1920 NEXT X
1990 FOR X=1 TO OLDMAXFIELDS:PRINT# 2,F1(X);",";:NEXT X:PRINT# 2,F1(X)
1992 RETURN
1999 REM PRINT FILE TO DISK WITH ONE FIELD DELETED.
2000 Y=1:FOR X=1 TO OLDMAXFIELDS
2005 IF X=MARKFIELD THEN 2020
2010 F1(Y)=F(X)
2015 Y=Y+1
2020 NEXT X
2090 IF OLDMAXFIELDS<>2 THEN FOR X= 1 TO OLDMAXFIELDS-2:PRINT#2,F1(X);",";:NEXT X:PRINT#2,F1(X)
2091 IF OLDMAXFIELDS=2 THEN PRINT#2,F1(1)
2092 RETURN
3000 A=INKEY$:IF A="" THEN 3000 ELSE RUN
