Input
Publié : ven. 25/mars/2005 13:51
Voila une fonction qui remplace KeyboardInkey()
Le gros défaut de KeyboardInkey() c'est qu'on avait pas la possibilitée d'utiliser les majuscules pour les caractères... vous aviez beau appuyer sur '£', ca vous donnait '$'
Eh bien c'est résolu.
Pour commencer voilà une liste et sa structure, indispensables:
Et enfin la fonction elle même:
Et un exemple:
Si vous l'améliorez ou l'optimisez je vous demanderait juste de la reposter ici, afin d'en faire profiter tout le monde
Le gros défaut de KeyboardInkey() c'est qu'on avait pas la possibilitée d'utiliser les majuscules pour les caractères... vous aviez beau appuyer sur '£', ca vous donnait '$'
Eh bien c'est résolu.
Pour commencer voilà une liste et sa structure, indispensables:
Code : Tout sélectionner
Structure char
l.s
u.s
EndStructure
NewList char.char()
AddElement(char())
char()\l = "&"
char()\u = "1"
AddElement(char())
char()\l = "é"
char()\u = "2"
AddElement(char())
char()\l = "''"
char()\u = "3"
AddElement(char())
char()\l = "'"
char()\u = "4"
AddElement(char())
char()\l = "("
char()\u = "5"
AddElement(char())
char()\l = "-"
char()\u = "6"
AddElement(char())
char()\l = "è"
char()\u = "7"
AddElement(char())
char()\l = "_"
char()\u = "8"
AddElement(char())
char()\l = "ç"
char()\u = "9"
AddElement(char())
char()\l = "à"
char()\u = "0"
AddElement(char())
char()\l = ")"
char()\u = "°"
AddElement(char())
char()\l = "="
char()\u = "+"
AddElement(char())
char()\l = "<"
char()\u = ">"
AddElement(char())
char()\l = ","
char()\u = "?"
AddElement(char())
char()\l = ";"
char()\u = "."
AddElement(char())
char()\l = ":"
char()\u = "/"
AddElement(char())
char()\l = "!"
char()\u = "§"
AddElement(char())
char()\l = "^"
char()\u = "¨"
AddElement(char())
char()\l = "$"
char()\u = "£"
AddElement(char())
char()\l = "*"
char()\u = "µ"
AddElement(char())
char()\l = "ù"
char()\u = "%"
Et enfin la fonction elle même:
Code : Tout sélectionner
Procedure.s aInput(msg$)
If KeyboardPushed(#PB_Key_Back)
msg$ = Left(msg$ , Len(msg$)-1 )
Delay(200)
EndIf
c$ = KeyboardInkey()
If KeyboardPushed(#PB_Key_LeftShift)
ResetList(char())
While NextElement(char())
If char()\l = c$ : c$ = char()\u : Break : EndIf
Wend
EndIf
msg$ + c$
ProcedureReturn msg$
EndProcedure
Code : Tout sélectionner
InitKeyboard()
InitSprite()
OpenScreen(320,240,16,"")
IncludeFile "input.pb"
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
msg$ = aInput(msg$)
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(0,255,0)
Locate(0,0)
DrawText(msg$+"_")
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Si vous l'améliorez ou l'optimisez je vous demanderait juste de la reposter ici, afin d'en faire profiter tout le monde
