MODE 8 COLOUR 1,100,100,100 REM Set palette color 1 to RGB triplet (my custom text background color) GCOL 0 : REM Set graphics foreground to palette color 0 (BLACK) GCOL 128+1 : REM Set graphics background to palette color 1 VDU 5 : REM Treat text as graphics (transparent background) OFF CLG REM PROC_pr(HORIZONTAL,VERTICAL,TEXTCOLOR 0-15,BORDERCOLOR 1-15,"MESSAGE",r,g,b) *r,g,b is custom RGB color PROC_pr(30,900,15,15,"I have set the text length to 30. Press ENTER when done",200,100,100) REM EXAMPLE PROC_input(horizontal,verticle,customtextlength) You can specify how long your message can be PROC_input(40,500,30) REM **************************END OF PROGRAM **************************** WAIT 0 PRINT PRINT "done input procedure" PRINT PRINT "Your message is:";MESSAGE$ PROC_pr(30,50,15,15, "Program done . Waiting for you to close the window. Please do it",100,100,200) END REM *******************THIS IS THE TEXT INPUT CONTROL (needs work) **************************** DEF PROC_input(bx,by,textlimit) initialx%=0 sl%=0 key$="" MESSAGE$="" MES$="" (mou) (check) IF INKEY(-113) REPEAT UNTIL INKEY(0)=-1:GOTO (endit) REM escape from program key$ =INKEY$(1) PROC_color("F",255,255,255) MOVE bx,by:PRINT MESSAGE$;"_" IF key$="" THEN GOTO (check) sl%=LEN(MESSAGE$) IF INKEY(-48) sl%=LEN(MESSAGE$)-1:key$="" IF INKEY(-74) GOTO (endit) PROC_color("F",100,100,100) MOVE bx,by PRINT MESSAGE$;"_" MES$=MID$(MESSAGE$,0,sl%) MESSAGE$=MES$ PROC_color("F",255,255,255):MOVE bx,by:PRINT MESSAGE$;"_" IF LEN(key$) = 1 THEN REM IF INKEY(-48) THEN (jump) IF LEN(MESSAGE$)<textlimit THEN PROC_color("F",100,100,100):MOVE bx,by:PRINT MESSAGE$;"_": MESSAGE$=MESSAGE$+key$ (jump) ENDIF GOTO (mou) (endit) ENDPROC REM ***********************this is my super custom text box tool *********************** REM X,Y,text color,boarder color,message,r,g,b DEF PROC_pr(X,Y,C,CT,msg$,r,g,b) initialx%=LEN(msg$) COLOUR 0,r,g,b GCOL 0 LET tx= X+initialx%+25 LET ty= Y:reduction%=0 reduction%=initialx%/2 reduction%=reduction%*6 IF initialx%<20 THEN reduction%=reduction%/2 initialx%=initialx%*22-reduction% FOR fill=1 TO 58 LINE X+3,Y+20-fill,X+initialx%,Y+20-fill NEXT fill GCOL CT MOVE tx,ty PRINT msg$ GCOL C LINE X,Y+20,X+initialx%,Y+20 LINE X,Y+20,X,Y-40 LINE X,Y-40,X+initialx%,Y-40 LINE X+initialx%,Y-40,X+initialx%,Y+20 LINE X-5,Y+25,X+initialx%+5,Y+25 LINE X-5,Y+25, X-5,Y-45 LINE X+initialx%+5,Y+25,X+initialx%+5,Y-45 LINE X-5,Y-45,X+initialx%+5,Y-45 MOVE 0,0 REM hide that thing ENDPROC REM ******************this is a custom Foreground and Background control tool (too much?) ***************** REM color "F"or"B", r,g,b DEF PROC_color(fb$,r,g,b) IF fb$="f" OR fb$="F" THEN COLOUR 0,r,g,b : GCOL 0 IF fb$="b" OR fb$="B" THEN COLOUR 1,r,g,b : GCOL 128+1 ENDPROC
MODE 20 COLOUR 1,240,240,240 REM Set palette color 1 to RGB triplet (my custom text background color) GCOL 0 : REM Set graphics foreground to palette color 0 (black) GCOL 128+1 : REM Set graphics background to palette color 1 (white) VDU 5 : REM Treat text as graphics (transparent background) OFF CLG REM PROC_pr(HORIZONTAL,VERTICAL,BORDERCOLOR 0-15,TEXTCOLOR 1-15,"MESSAGE",r,g,b) *r,g,b is custom RGB color PROC_pr(30,900,4,3,"I have set the text length to 75. Press ENTER when done",200,100,100) REM EXAMPLE PROC_input(horizontal,verticle,customtextlength) You can specify how long your message can be PROC_input(40,500,75) REM **************************END OF PROGRAM **************************** WAIT 0 PRINT PRINT "done input procedure" PRINT PRINT "Your message is:";MESSAGE$ PROC_pr(30,50,2,6, "Program done . Waiting for you to close the window.",100,100,200) END REM *******************THIS IS THE TEXT INPUT CONTROL (needs work) **************************** DEF PROC_input(bx,by,textlimit) initialx%=0 sl%=0 key$="" MESSAGE$="" MES$="" (mou) (check) IF INKEY(-113) REPEAT UNTIL INKEY(0)=-1:GOTO (endit) REM escape from program key$ =INKEY$(1) PROC_color("F",0,0,0) MOVE bx,by:PRINT MESSAGE$;"_" IF key$="" THEN GOTO (check) sl%=LEN(MESSAGE$) IF INKEY(-48) sl%=LEN(MESSAGE$)-1:key$="" IF INKEY(-74) GOTO (endit) PROC_color("F",240,240,240) MOVE bx,by PRINT MESSAGE$;"_" MES$=MID$(MESSAGE$,0,sl%) MESSAGE$=MES$ PROC_color("F",0,0,0):MOVE bx,by:PRINT MESSAGE$;"_" IF LEN(key$) = 1 THEN REM IF INKEY(-48) THEN (jump) IF LEN(MESSAGE$)<textlimit THEN PROC_color("F",240,240,240):MOVE bx,by:PRINT MESSAGE$;"_": MESSAGE$=MESSAGE$+key$ (jump) ENDIF GOTO (mou) (endit) ENDPROC REM ***********************this is my super custom text box tool *********************** REM X,Y,text color,boarder color,message,r,g,b DEF PROC_pr(X,Y,C,CT,msg$,r,g,b) initialx%=LEN(msg$) COLOUR 0,r,g,b GCOL 0 LET tx= X+initialx%+25 LET ty= Y:reduction%=0 reduction%=initialx%/2 reduction%=reduction%*6 IF initialx%<20 THEN reduction%=reduction%/2 initialx%=initialx%*22-reduction% FOR fill=1 TO 58 LINE X+3,Y+20-fill,X+initialx%,Y+20-fill NEXT fill GCOL CT MOVE tx,ty PRINT msg$ GCOL C LINE X,Y+20,X+initialx%,Y+20 LINE X,Y+20,X,Y-40 LINE X,Y-40,X+initialx%,Y-40 LINE X+initialx%,Y-40,X+initialx%,Y+20 LINE X-5,Y+25,X+initialx%+5,Y+25 LINE X-5,Y+25, X-5,Y-45 LINE X+initialx%+5,Y+25,X+initialx%+5,Y-45 LINE X-5,Y-45,X+initialx%+5,Y-45 MOVE 0,0 REM hide that thing ENDPROC REM ******************this is a custom Foreground and Background control tool (too much?) ***************** REM color "F"or"B", r,g,b DEF PROC_color(fb$,r,g,b) IF fb$="f" OR fb$="F" THEN COLOUR 0,r,g,b : GCOL 0 IF fb$="b" OR fb$="B" THEN COLOUR 1,r,g,b : GCOL 128+1 ENDPROC