getkey()
Blitz3D Forums/Blitz3D Beginners Area/getkey()
| ||
H! I'm busy with my own Input$() but now I want that people can't do this: bla bla (not multiply spaces between words) So I have this code below but now its not possible to make 1 space between words. Repeat c=GetKey() If c<>0 And c<>13 And c<>27 Then ;no 0,enter,esc If c<>32 And h<>32 Then ;no multiply spaces w$ = w$+""+Chr$(c) Write Chr$(c) EndIf EndIf h=c c=0 Until KeyHit(28) Or KeyHit(1) |
| ||
mmm with trying some other things its oke now. srry, can't delete/close this topic. Repeat c=GetKey() If c<>0 And c<>13 And c<>27 Then ;geen 0,enter,esc DebugLog "c"+c+" h"+h If c=32 And h=32 Then c=32 Else w$ = w$+""+Chr$(c) Write Chr$(c) EndIf h=c EndIf Until KeyHit(28) Or KeyHit(1) |
| ||
Not pretty, but how about this...Repeat current=GetKey() If current<>0 And current<>9 And current<>13 And current<>27 Then ;trap TAB,enter,esc If current<>32 Then ;get any non-space chars w$ = w$+""+Chr$(current) Write Chr$(current) previous = current ; reset 'previous' to a valid value Else If previous <> 32 Then ; or else print/add a space w$ = w$+" " Write " " previous = 32 ; and note that you just used one {so trap future spaces} EndIf EndIf EndIf Until MouseHit(1) ; use mouse to escape program End |
| ||
That's nice too, maybe I use that methode. Thanks for the TAB key :) |
| ||
You could also perhaps use: The 'Replace' function on the resultant string. Include this each loop while the input is being recorded. http://www.blitzbasic.com/b3ddocs/command.php?name=Replace&ref=2d_cat |