edited input by Anonymous Coder3rd Aug 2009 4:44
|
---|
Summary text_input("message$",100,100,14) function text_input(message$,x,y,max) Description text_input("Firstname:",100,100,14) Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com text_input("Firstname:",100,100,14) function text_input(message$,x,y,max) do cls set cursor x,y+4 print message$ set cursor x+105,y+5 print fname$ line x+100,y,x+225,y line x+100,y+25,x+225,y+25 line x+100,y,x+100,y+25 line x+225,y,x+225,y+25 dim keyz(211) if mouseclick()=1 and mousex()>x+100 and mousex()<x+225 and mousey()>y and mousey()<y+25 k=100 pos# = len(fname$) do z=z+1 cls rgb(0,0,0) set cursor x,y+4 print message$ line x+100,y,x+225,y line x+100,y+25,x+225,y+25 line x+100,y,x+100,y+25 line x+225,y,x+225,y+25 for p=14 to 211 keyz(p)=keyz(p)+1 next p line x+105+8*pos#,y+5,x+105+8*pos#,y+20 if leftkey()=1 and pos#>0 and keyz(203)>=50 then pos#=pos#-1:keyz(203)=0 if scancode()=14 and pos#>0 and keyz(14)>=50 fname$ = left$(fname$,pos#-1)+right$(fname$,len(fname$)-pos#) keyz(14)=0 pos#=pos#-1 endif if scancode()=211 and keyz(211)>=20 fname$ = left$(fname$,pos#)+right$(fname$,len(fname$)-pos#-1) keyz(211)=0 endif if rightkey()=1 and pos#<=len(fname$) and keyz(205)>=50 then pos#=pos#+1:keyz(205)=0 if spacekey()=1 and keyz(57)>=100 and len(fname$)<24 fname$ = left$(fname$,pos#)+" "+right$(fname$,len(fname$)-pos#) keyz(57)=0 pos#=pos#+1 endif if keystate(scancode())=1 and keyz(scancode())>=50 and len(fname$)<max fname$ = left$(fname$,pos#)+code_to_symbol(Scancode())+right$(fname$,len(fname$)-pos#) keyz(scancode())=0 if code_to_symbol(Scancode())<>"" then pos#=pos#+1 endif if scancode()=28 or scancode()=156 EXIT endif set cursor x+105,y+5 print fname$ loop cls rgb(0,0,0) endif loop endfunction function code_to_symbol(sc) SELECT sc case 16 symb$="q" endcase case 17 symb$="w" endcase case 18 symb$="e" endcase case 19 symb$="r" endcase case 20 symb$="t" endcase case 21 symb$="y" endcase case 22 symb$="u" endcase case 23 symb$="i" endcase case 24 symb$="o" endcase case 25 symb$="p" endcase case 30 symb$="a" endcase case 31 symb$="s" endcase case 32 symb$="d" endcase case 33 symb$="f" endcase case 34 symb$="g" endcase case 35 symb$="h" endcase case 36 symb$="j" endcase case 37 symb$="k" endcase case 38 symb$="l" endcase case 44 symb$="z" endcase case 45 symb$="x" endcase case 46 symb$="c" endcase case 47 symb$="v" endcase case 48 symb$="b" endcase case 49 symb$="n" endcase case 50 symb$="m" endcase endselect endfunction symb$ |