Input-funktio
Posted: Fri Nov 16, 2012 8:35 pm
Tuli tarvetta cb:n omaa inputtia pätevämmälle ratkaisulle, ja ajattelin kokeilla koodailla mielenkiinnosta oman systeemin.
Koodi on rumaa, eikä ratkaisut parhaita mahdollisia, mutta kohtuu vikkelään sain tuommosen funktion kasaan.
Säätöä voi tehdä syötteen sijaintiin sekä painalluksien vastaanottotiheyteen ja sarkaimen suuruuteen. Saatan innostua vielä parantelemaan tätä, mutta mikäli tarvetta ilmenee, niin saa ihan vapaasti käyttää ja muokkailla omiin tarkoituksiin sopivaksi..
Code: Select all
InputX(100,150,4,100)
Function InputX(x_position=0,y_position=0,tab=4,speed=100)
ClearKeys
Repeat
If Timer()>pressed+speed
If KeyDown(2)
user_input$ = "1" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(3)
user_input$ = "2" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(4)
user_input$ = "3" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(5)
user_input$ = "4" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(6)
user_input$ = "5" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(7)
user_input$ = "6" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(8)
user_input$ = "7" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(9)
user_input$ = "8" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(10)
user_input$ = "9" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(11)
user_input$ = "0" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(12)
user_input$ = "-" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(13)
user_input$ = "+" : key_pressed = True
ElseIf KeyDown(14) And Len(X_String$) > 0
X_String$ = StrRemove(X_String$,Len(X_String$),1)
pressed = Timer()
ElseIf KeyDown(15)
user_input$ = String(" ",tab) : key_pressed = True
pressed = Timer()
ElseIf KeyDown(16)
user_input$ = "q" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(17)
user_input$ = "w" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(18)
user_input$ = "e" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(19)
user_input$ = "r" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(20)
user_input$ = "t" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(21)
user_input$ = "y" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(22)
user_input$ = "u" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(23)
user_input$ = "i" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(24)
user_input$ = "o" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(25)
user_input$ = "p" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(26)
user_input$ = "[" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(27)
user_input$ = "]" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(28)
Return X_String$
pressed = Timer()
ElseIf KeyDown(30)
user_input$ = "a" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(31)
user_input$ = "s" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(32)
user_input$ = "d" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(33)
user_input$ = "f" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(34)
user_input$ = "g" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(35)
user_input$ = "h" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(36)
user_input$ = "j" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(37)
user_input$ = "k" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(38)
user_input$ = "l" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(39)
user_input$ = "ö" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(40)
user_input$ = "ä" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(44)
user_input$ = "z" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(45)
user_input$ = "x" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(46)
user_input$ = "c" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(47)
user_input$ = "v" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(48)
user_input$ = "b" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(49)
user_input$ = "n" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(50)
user_input$ = "m" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(51)
user_input$ = "," : key_pressed = True
pressed = Timer()
ElseIf KeyDown(52)
user_input$ = "." : key_pressed = True
pressed = Timer()
ElseIf KeyDown(53)
user_input$ = "/" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(57)
user_input$ = " " : key_pressed = True
pressed = Timer()
ElseIf KeyDown(71)
user_input$ = "7" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(72)
user_input$ = "8" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(73)
user_input$ = "9" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(74)
user_input$ = "-" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(75)
user_input$ = "4" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(76)
user_input$ = "5" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(77)
user_input$ = "6" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(78)
user_input$ = "+" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(79)
user_input$ = "1" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(80)
user_input$ = "2" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(81)
user_input$ = "3" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(82)
user_input$ = "0" : key_pressed = True
pressed = Timer()
ElseIf KeyDown(83)
user_input$ = "," : key_pressed = True
pressed = Timer()
EndIf
If key_pressed = True
If KeyDown(42) Or KeyDown(54)
X_String$ = StrInsert(X_String$,Len(X_String$),Upper(user_input$)) : key_pressed = False
Else
X_String$ = StrInsert(X_String$,Len(X_String$),user_input$) : key_pressed = False
EndIf
EndIf
EndIf
Color 255,255,255
Text x_position,y_position,X_String$
If TIMER()>record+200 Then
blink=Not blink
record=TIMER()
EndIf
If blink
Color 255,255,255
Else
Color 0,0,0
EndIf
Line TextWidth(X_String$)+x_position,y_position,TextWidth(X_String$)+x_position,y_position+TextHeight(X_String$)
DrawScreen
Forever
EndFunction
Säätöä voi tehdä syötteen sijaintiin sekä painalluksien vastaanottotiheyteen ja sarkaimen suuruuteen. Saatan innostua vielä parantelemaan tätä, mutta mikäli tarvetta ilmenee, niin saa ihan vapaasti käyttää ja muokkailla omiin tarkoituksiin sopivaksi..
EDIT:
Niin ja shift-näppäin (kumpi vain) pohjassa kirjottaa isompaa aakkosta..