input function when working in a window... problems ->hel
Posted: Thu Jan 15, 2004 9:50 pm
Hi,
I'm working at an input function analog to input() in the console but then for a window.
The function should return the entered value but it doesn't seem to work (I even don't see the typing of the input).
Anyone who sees the error in this?
I'm working at an input function analog to input() in the console but then for a window.
The function should return the entered value but it doesn't seem to work (I even don't see the typing of the input).
Anyone who sees the error in this?
Code: Select all
Procedure windowinput(window,x,y,question$)
;lower case
AddKeyboardShortcut(window,#PB_Shortcut_A,-1)
AddKeyboardShortcut(window,#PB_Shortcut_B,-2)
AddKeyboardShortcut(window,#PB_Shortcut_C,-3)
AddKeyboardShortcut(window,#PB_Shortcut_D,-4)
AddKeyboardShortcut(window,#PB_Shortcut_E,-5)
AddKeyboardShortcut(window,#PB_Shortcut_F,-6)
AddKeyboardShortcut(window,#PB_Shortcut_G,-7)
AddKeyboardShortcut(window,#PB_Shortcut_H,-8)
AddKeyboardShortcut(window,#PB_Shortcut_I,-9)
AddKeyboardShortcut(window,#PB_Shortcut_J,-10)
AddKeyboardShortcut(window,#PB_Shortcut_K,-11)
AddKeyboardShortcut(window,#PB_Shortcut_L,-12)
AddKeyboardShortcut(window,#PB_Shortcut_M,-13)
AddKeyboardShortcut(window,#PB_Shortcut_N,-14)
AddKeyboardShortcut(window,#PB_Shortcut_O,-15)
AddKeyboardShortcut(window,#PB_Shortcut_P,-16)
AddKeyboardShortcut(window,#PB_Shortcut_Q,-17)
AddKeyboardShortcut(window,#PB_Shortcut_R,-18)
AddKeyboardShortcut(window,#PB_Shortcut_S,-19)
AddKeyboardShortcut(window,#PB_Shortcut_T,-20)
AddKeyboardShortcut(window,#PB_Shortcut_U,-21)
AddKeyboardShortcut(window,#PB_Shortcut_V,-22)
AddKeyboardShortcut(window,#PB_Shortcut_W,-23)
AddKeyboardShortcut(window,#PB_Shortcut_X,-24)
AddKeyboardShortcut(window,#PB_Shortcut_Y,-25)
AddKeyboardShortcut(window,#PB_Shortcut_Z,-26)
;upper case
AddKeyboardShortcut(window,#PB_Shortcut_A|#PB_Shortcut_Shift,-101)
AddKeyboardShortcut(window,#PB_Shortcut_B|#PB_Shortcut_Shift,-102)
AddKeyboardShortcut(window,#PB_Shortcut_C|#PB_Shortcut_Shift,-103)
AddKeyboardShortcut(window,#PB_Shortcut_D|#PB_Shortcut_Shift,-104)
AddKeyboardShortcut(window,#PB_Shortcut_E|#PB_Shortcut_Shift,-105)
AddKeyboardShortcut(window,#PB_Shortcut_F|#PB_Shortcut_Shift,-106)
AddKeyboardShortcut(window,#PB_Shortcut_G|#PB_Shortcut_Shift,-107)
AddKeyboardShortcut(window,#PB_Shortcut_H|#PB_Shortcut_Shift,-108)
AddKeyboardShortcut(window,#PB_Shortcut_I|#PB_Shortcut_Shift,-09)
AddKeyboardShortcut(window,#PB_Shortcut_J|#PB_Shortcut_Shift,-110)
AddKeyboardShortcut(window,#PB_Shortcut_K|#PB_Shortcut_Shift,-111)
AddKeyboardShortcut(window,#PB_Shortcut_L|#PB_Shortcut_Shift,-112)
AddKeyboardShortcut(window,#PB_Shortcut_M|#PB_Shortcut_Shift,-113)
AddKeyboardShortcut(window,#PB_Shortcut_N|#PB_Shortcut_Shift,-114)
AddKeyboardShortcut(window,#PB_Shortcut_O|#PB_Shortcut_Shift,-115)
AddKeyboardShortcut(window,#PB_Shortcut_P|#PB_Shortcut_Shift,-116)
AddKeyboardShortcut(window,#PB_Shortcut_Q|#PB_Shortcut_Shift,-117)
AddKeyboardShortcut(window,#PB_Shortcut_R|#PB_Shortcut_Shift,-118)
AddKeyboardShortcut(window,#PB_Shortcut_S|#PB_Shortcut_Shift,-119)
AddKeyboardShortcut(window,#PB_Shortcut_T|#PB_Shortcut_Shift,-120)
AddKeyboardShortcut(window,#PB_Shortcut_U|#PB_Shortcut_Shift,-121)
AddKeyboardShortcut(window,#PB_Shortcut_V|#PB_Shortcut_Shift,-122)
AddKeyboardShortcut(window,#PB_Shortcut_W|#PB_Shortcut_Shift,-123)
AddKeyboardShortcut(window,#PB_Shortcut_X|#PB_Shortcut_Shift,-124)
AddKeyboardShortcut(window,#PB_Shortcut_Y|#PB_Shortcut_Shift,-125)
AddKeyboardShortcut(window,#PB_Shortcut_Z|#PB_Shortcut_Shift,-126)
;figures
AddKeyboardShortcut(window,#PB_Shortcut_0,-1000)
AddKeyboardShortcut(window,#PB_Shortcut_1,-2000)
AddKeyboardShortcut(window,#PB_Shortcut_2,-3000)
AddKeyboardShortcut(window,#PB_Shortcut_3,-4000)
AddKeyboardShortcut(window,#PB_Shortcut_4,-5000)
AddKeyboardShortcut(window,#PB_Shortcut_5,-6000)
AddKeyboardShortcut(window,#PB_Shortcut_6,-7000)
AddKeyboardShortcut(window,#PB_Shortcut_7,-8000)
AddKeyboardShortcut(window,#PB_Shortcut_8,-9000)
AddKeyboardShortcut(window,#PB_Shortcut_9,-10000)
;backspace
AddKeyboardShortcut(window,#PB_Shortcut_Clear,-200)
;return
AddKeyboardShortcut(window,#PB_Shortcut_Return,-50)
string$=""
Repeat
;visualisation
StartDrawing(ImageOutput())
frontcolor=RGB(255,255,255)
Locate(x,y) : DrawText(question$ + " " + string$ )
StopDrawing()
StartDrawing(WindowOutput())
DrawImage(ImageID(),0,0)
StopDrawing()
WindowEvent()
a=EventMenuID()
a$=""
;lower case detection
;a-z = 97-122
ascicode=97
For t=-1 To -26 Step -1
If a=t : a$=Chr(ascicode) : EndIf
ascicode=ascicode+1
Next t
;upper case detection
;A-Z = 65-90
ascicode=65
For t=-101 To -126 Step -1
If a=t : a$=Chr(ascicode) : EndIf
ascicode=ascicode+1
Next t
;figures detection
;0-9 = 48-57
ascicode=48
For t=-1000 To -10000 Step -1000
If a=t : a$=Chr(ascicode) : EndIf
ascicode=ascicode+1
Next t
string$=string$+a$
;backspace detection
If a=-200 : string$=Left(string$,(Len(string$)-1)) : EndIf
;Delay(30)
Until(a=-50)
ProcedureReturn string$
EndProcedure