|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : comment convertir un char en sa valeur code touche? [ Divers / Débutant(e) ] (mighty_warrior)
Informations & options pour cette discussion
|
mardi 22 avril 2008 à 20:56:08 |
comment convertir un char en sa valeur code touche?

mighty_warrior
|
Bonsoir, donc ma question: comment convertir un char en sa valeur code touche? par exemple pour la lettre A on sait que son code touche est 65 mais dans mon programme la lettre est dans un char alors comment récupérer le code touche  merci beaucoup!
|
|
|
|
mardi 22 avril 2008 à 21:34:38 |
Re : comment convertir un char en sa valeur code touche?

Caribensila
|
Réponse acceptée !
Salut,
Ord('A')
et l'inverse chr(65).
|
|
|
|
mardi 22 avril 2008 à 22:58:57 |
Re : comment convertir un char en sa valeur code touche?

mighty_warrior
|
le probléme est que si je fait ord('a') j'obtient 1 et non 65!
|
|
|
|
mardi 22 avril 2008 à 23:07:00 |
Re : comment convertir un char en sa valeur code touche?

mighty_warrior
|
en fait ce que je cherche a faire c ça: Avec le code suivant (où c est un char) keybd_event( char a convertir en code touche,0,1,0)
par exemple si c represente la lettre A il vaut 65 une fois convertit.
merci
|
|
|
|
mercredi 23 avril 2008 à 00:03:40 |
Re : comment convertir un char en sa valeur code touche?

mighty_warrior
|
J'ai réussi à remédier a mon probléme de départ comme ceci: S := 'texte'; if iskeydown('0') then begin for i := 1 to length(s) do begin C := S[i]; x := ord(c); y := 32; z := x-y; keybd_event(z,0,1,0); keybd_event(z,0,2,0); end; end; Donc quand j'appuie sur la touche 0 j'écrit la valeur de S et tout marche bien    Mon second souci c'est que si S vaut par exemple ' delphifr c cool' il sera écrit comme ceci: delphifrccool.  alors y-a t'il un moyen de gérer les espaces? merci ps merci Caribensila ton Ord('A') m'a bien aidé.  
|
|
|
|
mercredi 23 avril 2008 à 00:52:24 |
Re : comment convertir un char en sa valeur code touche?

mighty_warrior
|
Bon je crois que j'ai de la chance. Je vient de trouver une parade, certe ce n'est sans doute pas la meilleur solution mais bon..je la poste quand même  mot: string; c: char; x,y,z,NbrCaractere: integer; dans formcreatemot := ' delphifrccool'; dans un timerif iskeydown('0') then //quand j'appuie sur la touche zero begin for i := 1 to length(mot) do begin C :=mot[i]; x := ord(c); y := 32; z := x-y; keybd_event(z,0,1,0); //j'appuie sur la touche correspondant a chaque lettre composant "mot" keybd_event(z,0,2,0);//je relâche la touche correspondant a chaque lettre composant "mot" inc(NbrCaractere); // if (NbrCaractere=7)xor(NbrCaractere=10) then // si j'ai ecrit 7 lettres (delphi = 6 lettres +1) begin keybd_event(32,0,1,0); //faire un espace keybd_event(32,0,2,0); end; end; NbrCaractere := 1; end; voilà.  mais si quelqu'un a une meilleur solution à proposer je suis preneur lol. allez bonne nuit à tous et merci.
|
|
|
|
mercredi 23 avril 2008 à 11:38:10 |
Re : comment convertir un char en sa valeur code touche?

cirec
|
Réponse acceptée !
oh la oh la
c'est pas du tout comme ça que Keybd_Event fonctionne :
{Reste appuyé ou relache une touche aKey en fonction du paramètre Down} Procedure ToogleKey(Const aKey : Byte; Const Down: Boolean = True); Var KeyDown : Byte; Begin If Not Down Then KeyDown := 2 Else KeyDown := 0; keybd_event(aKey, 0, KeyDown, 0); End;
{Reste appuyé ou relache les touches Ctrl et Alt en fonction du paramètrte Down} Procedure SimuleCtrlAlt(Const Down: Boolean = True); Var KeyDown : Byte; Begin ToogleKey(VK_MENU, Down); ToogleKey(VK_CONTROL, Down); End;
{Appuie et relache une touche} Procedure DoKeybdEvent(Const aKey : Byte); Begin keybd_event(aKey , 0, 0, 0); keybd_event(aKey , 0, KEYEVENTF_KEYUP, 0); End;
{Gère les touches à bascule VerrMaj VerrNum ArrêtDefil} Procedure SimuleOnOfKey(Const aKey: Byte; Const IsOn: Boolean = True); Begin If GetKeyState(aKey) <> Integer(IsOn) Then DoKeybdEvent(aKey); End;
Procedure PressKey(Const aKey : Byte); Begin ToogleKey(aKey); End;
Procedure ReleaseKey(Const aKey : Byte); Begin ToogleKey(aKey, False); End;
{Gère l'appuie n'importe quelle touche du clavier c'est la procédure que l'on utilisera pour simuler l'appuie sur les différentes touches du clavier} Procedure SimuleKey(Const aChar: Char); Begin Case aChar Of {Touches majuscules} 'A'..'Z','0'..'9','?','.','/','§','?','£','%','µ','°','+': Begin ToogleKey(VK_SHIFT); DoKeybdEvent(VkKeyScan(aChar)); ToogleKey(VK_SHIFT, False); End; {Touches Ctrl+Alt} '~','#','{','[','|','`','\','^','@',']','}': Begin SimuleCtrlAlt; DoKeybdEvent(VkKeyScan(aChar)); SimuleCtrlAlt(False); End; Else {Touches minuscules} DoKeybdEvent(VkKeyScan(aChar)); End; End;
pour l'utilisation c'est simple : {On s'assure d'être en minuscule obligatoire pour le bon fonctionnement ne faire qu'une fois en début de code (dans le OnCreate par Ex.)} SimuleOnOfKey(VK_CAPITAL, False); {et on simule l'appuie des touches} For I := 1 To length(mot) Do SimuleKey(Mot[I]);
{pour les combinaisons de touche autres que "standard"} {Exemple faire un Ctrl+C} PressKey(VK_CONTROL); SimuleKey('C'); ReleaseKey(VK_CONTROL); @+ Cirec
@+ Cirec
|
|
|
|
mercredi 23 avril 2008 à 22:48:23 |
Re : comment convertir un char en sa valeur code touche?

Delphiprog
|
@Cirec : là, tu es bon pour nous faire un tuto sur la gestion du clavier  May Delphi be with you !
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
|
|
|
Cette discussion est classé dans : code, valeur, convertir, touche, char
Répondre à ce message
Sujets en rapport avec ce message
Convertir une chaine en numérique [ par codial ]
Bonjour,comment fait on pour convertir une chaine de type "1425.63" en numérique?j'ai essayé :Table1.fieldbyName('Prix_Inventaire').asInteger:= StrToI
Gif to Jpeg. [ par Becracker ]
Salut les gars, Je voudrais juste savoir c koi le code pour faire convertir une image Gif au format Jpeg sachant que j'ai utilisé le code suivant mai
Convertir StringGrid (crée par code) vers une image [ par orelien ]
Bonjour,J'aimerais copier un composant StringGrid dans une image sans qu'il soit préalablement affiché sur le Form. En bref, je crée par code le compo
Juste pour un affichage peu particulier sur mon Etat d'impression. [ par jennybless ]
Salut ! J’ai un petit problème de logique. Pouvez-vous m’aider en lisant d’abord mes codes: J’ai trois champs : CODE, A, B J’aimerai qu’à chaque foi
code ascii de la touche suppr [ par elementalord ]
Bonjour à tous!!Je voudrais savoir si quelqu'un connaitrait le code ascii de la touche suppr.Merci d'avance pour votre reponse.
Key codes... [ par ELCouz ]
Bonjour,jaimerais savoir si qqn connais un site ou on peu voir tout les codes KEY de F1 a la touche standby etc,,,bref les codes a placer dans la sent
convertir un code ascii en sont caractère équivalent [ par cricri_b34 ]
salut, j'aimerais savoir si il existe un api qui permet de coonvertir un code ascii en sont caractere équivalentdependament de la langue de clavier
convertir des lettres en nombres [ par cricri_b34 ]
j'aimerais transformer un chaine de caractère en un valeur numérique; ex.: adlfas;ldfjasldfj en nimporte quel valeur numérique ex.: 2342342342242quel
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|