home *** CD-ROM | disk | FTP | other *** search
- SUB MADIN STATIC
-
- SHARED ROW%,COL%,FLDSIZ%,FLDFG%,FLDBG%,CURSFG%,CURSBG%,CHRFG%,CHRBG%,FLDCHR%,CURCHR%,SYSFIL$,FILCHR$,SYSTYP%,SYSNUM,SYSALPHA$
-
- SYSALPHA$=""
- LOCATE ROW%,COL%
- FOR X=1 TO FLDSIZ%
- COLOR FLDFG%,FLDBG%
- PRINT CHR$(FLDCHR%);
- NEXT X
-
- mi060:IF FLDSIZ%=LEN(SYSALPHA$) THEN GOTO mi110
- LOCATE ROW%,COL%
- COLOR CURSFG%,CURSBG%
- PRINT CHR$(CURCHR%);
- LOCATE ROW%,COL%
-
- mi110:STROKE$=INKEY$
- IF LEN(SYSALPHA$)<>FLDSIZ% THEN GOTO mi230
- LOCATE ROW%,COL%-1
- COLOR CHRFG%,CHRBG%
- PRINT RIGHT$(SYSALPHA$,1);
- FOR Y=1 TO 200:NEXT Y
- LOCATE ROW%,COL%-1
- COLOR CURSFG%,CURSBG%
- PRINT CHR$(CURCHR%);
- FOR Z=1 TO 200:NEXT Z
-
- mi230:IF STROKE$ = "" THEN GOTO mi110
- IF STROKE$ = CHR$(13) THEN GOTO mi390
- IF STROKE$ = CHR$(8) AND LEN(SYSALPHA$)=0 THEN GOTO mi110
- IF STROKE$ = CHR$(8) AND LEN(SYSALPHA$)=FLDSIZ% THEN LOCATE ROW%,COL%-1
- IF STROKE$ = CHR$(8) THEN COLOR FLDFG%,FLDBG%::PRINT CHR$(FLDCHR%);:COL%=COL%-1:SYSALPHA$=LEFT$(SYSALPHA$,LEN(SYSALPHA$)-1):GOTO mi060
- IF SYSTYP%=1 OR SYSTYP%=3 THEN GOTO mi310 'ALPHANUMERIC FIELD
- IF SYSTYP%=2 THEN GOTO MI320 'NUMERIC FIELD
- SYSTYP%=1 'DEFAULT TO ALPHA IF NOT SET TO 1 OR 2
-
- mi310:IF STROKE$ < CHR$(32) OR STROKE$ > CHR$(126) THEN GOTO mi110 ELSE GOTO mi330
-
- MI320:IF STROKE$ < CHR$(48) OR STROKE$ > CHR$(57) THEN GOTO mi110 ELSE GOTO mi330
-
- mi330:IF FLDSIZ%=LEN(SYSALPHA$) THEN GOTO mi110
- SYSALPHA$=SYSALPHA$+STROKE$
- COLOR CHRFG%,CHRBG%
- PRINT STROKE$;
- COL%=COL%+1
- GOTO mi060
-
- mi390:IF LEN(SYSALPHA$)<>FLDSIZ% THEN LOCATE ROW%,COL%:COLOR FLDFG%,FLDBG%:PRINT CHR$(FLDCHR%);:GOTO mi430
- LOCATE ROW%,COL%-1
- COLOR CHRFG%,CHRBG%
- PRINT RIGHT$(SYSALPHA$,1);
-
- mi430:IF SYSTYP%=1 THEN GOTO mi470 'ALPHA RIGHT
- IF SYSTYP%=2 THEN GOTO mi590 'NUMERIC
- IF SYSTYP%=3 THEN GOTO mi530 'ALPHA LEFT
- SYSTYP%=3:GOTO MI530 'DEFAULT TO ALPHA LEFT
-
- mi470:FOR X=1 TO FLDSIZ%
- LET SYSFIL$=SYSFIL$+FILCHR$
- NEXT X
-
- LET SYSFIL$=RIGHT$(SYSFIL$,FLDSIZ%)
- LET SYSALPHA$=SYSFIL$+SYSALPHA$
- LET SYSALPHA$=RIGHT$(SYSALPHA$,FLDSIZ%)
-
- mi530:FOR X=1 TO FLDSIZ%
- LET SYSFIL$=SYSFIL$+FILCHR$
- NEXT X
-
- LET SYSFIL$=RIGHT$(SYSFIL$,FLDSIZ%)
- LET SYSALPHA$=SYSALPHA$+SYSFIL$
- LET SYSALPHA$=LEFT$(SYSALPHA$,FLDSIZ%)
-
- mi590:IF SYSTYP%=2 THEN SYSNUM=VAL(SYSALPHA$)
-
- END SUB