CLS AT 0,2 SAY CHR(1)+"T"+SUBSTR(TIME(),1,5)+CHR(1)+"T" AT 0,22 SAY CHR(1)+"BzBASE FRONT END SYSTEM - CREATE FILE"+CHR(1)+"B" AT 0,70 SAY CHR(1)+"T"+DATE()+CHR(1)+"T" AT 1,0 SAY CHR(1)+"3Np-" AT 2,5 SAY CHR(1)+"TNAME" AT 2,12 SAY "TYPE" AT 2,20 SAY "WIDTH"+CHR(1)+"T | Enter the details of each field" AT 3,30 SAY "| NAME may consist of alpha numerics" AT 4,30 SAY "| TYPE must be S for String or N for number" AT 5,30 SAY "| Width is the width of any string fields" AT 6,30 SAY "|" AT 7,30 SAY "| Leave the name blank when finished" CREATE DEF FROM DEF.DEF LET fieldno=1 LET pos=3 LET doing=1 DO WHILE doing LET field$=" " LET type$=" " LET width=0 AT pos,0 SAY fieldno AT pos,2 SAY ")" AT pos,3 GET field$ IF field$<>" " DO WHILE WHERE(type$,"NnSs")=0 AT pos,13 GET type$ ENDDO IF UPPER(type$)="S" DO WHILE width=0 AT pos,19 GET width IF width>254 LET width=0 ENDIF ENDDO ENDIF LET fieldno=fieldno+1 LET pos=pos+1 IF WHERE(" &fieldno,"," 6, 10, 14, 18, 22, 26, 30,")<>0 AT 3,0 SAY CHR(1)+"3N> " AT 4,0 SAY CHR(1)+"3N> " AT 5,0 SAY CHR(1)+"3N> " AT 6,0 SAY CHR(1)+"3N> " AT 7,0 SAY CHR(1)+"3N> " AT 3,0 SAY fieldno-1 AT 3,2 SAY ")" AT 3,3 SAY field$ AT 3,13 SAY type$ AT 3,19 SAY width LET pos=4 ENDIF APPEND BLANK IF UPPER(type$)="S" LET 1:LINE$=TRIM(field$)+"$,&width" ELSE LET 1:LINE$=field$ ENDIF ELSE LET doing=0 ENDIF IF fieldno>24 LET doing=0 ENDIF ENDDO AT 2,0 SAY CHR(1)+"3N> " AT 3,0 SAY CHR(1)+"3N> " AT 4,0 SAY CHR(1)+"3N> " AT 5,0 SAY CHR(1)+"3N> " AT 6,0 SAY CHR(1)+"3N> " AT 7,0 SAY CHR(1)+"3N> " AT 3,10 SAY "Creating file" AT 5,11 SAY "Please wait " COPY TO TEMP.DEF PD CREATE &usefile$ FROM TEMP.DEF DELETE FILE DEF DELETE FILE TEMP.DEF RELEASE fieldno,pos,doing,field$,type$,width,pos RETURN