Input and Print in Graphic Window?

Blitz3D Forums/Blitz3D Beginners Area/Input and Print in Graphic Window?

CBass(Posted 2003) [#1]
Hi,
when I use the "Print" or "Input" command within a graphic window, I'll eventually end up having all the user prompts at the bottom of the screen, even if I use the "Cls" command.
I know that I could just use the "Text" command instead and also I could write my own input function.
However, I was wondering, if there is a way to reset the prompts to the top of the screen.


Floyd(Posted 2003) [#2]
The Locate command does this.


CBass(Posted 2003) [#3]
Hi Floyd,

thanks a lot! That works fine; couldn't find it in the command reference. Do you know if there is a better reference somewhere?


keyboard(Posted 2003) [#4]
you could go to your account and see if you have the latest update

or click on tha appropriate tab - 3D or blitz+ - at the top of the page and look at the online docs


_PJ_(Posted 2003) [#5]
I find it better to have a routine to read key inputs, convert this to ascii code and print that to the desired place using Text commands. A fair bit more work involved, but it does allow for animations to continue etc. or mouseclicks to be read whilst inputting...


sorry - i just pulled this from a project I have been working on, so will need to be adjusted to suit your requirements (It doesn't allow certain character), but if it helps:

[code]
.entry

done=0

Repeat

psx=Len(ent$)

Delay 100

key=GetKey()
If key>122 Then key=0
If key<13 And key<>8 Then key=0
If key>0

PlaySound click

If key>96 And key<123 Then key=key-32

If key<48 And key>32 Then key=32

If key>57 And key<65 Then key=32

If key=8 And Len(ent$)>0
psx=Len(ent$)
psx=psx-1
ent$=Left$(ent$,psx)
EndIf

If key=13 And psx>0 Then done=1

If key>47 And key<91
ent$=ent$+Chr$(key)
psx=psx+1
EndIf

If key=32
ent$=ent$+Chr$(key)
psx=psx+1
EndIf

EndIf

Gosub drawscreen

a$=ent$
txtposdwn=700
txtposrgt=200
colred=250
colgrn=50
colBlu=50
font=digit
Gosub quickmessage

Flip

Until done=1

Return

[/quote]