Hmm, didnt work as expected, second time lucky...
DO
My$=InputString(50,50,30,"Enter Name:","Jas")
MyNum=InputNumber(50,70,3,"Enter Str:",1)
LOOP
END
FUNCTION InputString(X AS INTEGER,Y AS INTEGER,InputLength AS INTEGER, Prompt$ AS STRING, PreviousString$ AS STRING)
SET TEXT FONT "Courier New"
SET TEXT SIZE 15
SET TEXT OPAQUE
InputWidth=TEXT WIDTH(SPACE$(InputLength))
PromptWidth=TEXT WIDTH(Prompt$)
InputX=X+PromptWidth+2
Res$=PreviousString$
CurrentPos=LEN(Res$)
IF InputLength<0
Numeric=1
InputLength=ABS(InputLength)
ELSE
Numeric=0
ENDIF
SET CURSOR X,Y
PRINT Prompt$;
SET CURSOR InputX,Y
IF PreviousString$<>""
PRINT PreviousString$;"_";
ENDIF
DO
Key$=ENTRY$()
IF RETURNKEY() THEN EXIT
IF Res$<>"" AND ASC(Key$)=8
Res$=LEFT$(Res$,LEN(Res$)-1)
Key$=""
SET CURSOR InputX,Y
PRINT Res$;"_ ";
ENDIF
IF Key$<>"" AND LEN(Res$)<InputLength
IF ASC(Key$)>=48 AND ASC(Key$)<=57 THEN IsNumber=1 ELSE IsNumber=0
IF (Numeric AND IsNumber) OR Numeric=0
Res$=Res$+Key$
SET CURSOR InputX,Y
PRINT Res$;"_";
ENDIF
ENDIF
CLEAR ENTRY BUFFER
LOOP
ENDFUNCTION Res$
FUNCTION InputNumber(X AS INTEGER,Y AS INTEGER,InputLength AS INTEGER, Prompt$ AS STRING, PreviousNumber AS INTEGER)
PreviousString$=STR$(PreviousNumber)
InputLength=InputLenght-(2*InputLength)
Res=VAL(InputString(X,Y,InputLength,Prompt$,PreviousString$))
ENDFUNCTION Res