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




