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)

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

Membre Club
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 formcreate
mot := ' delphifrccool';

dans un timer
if 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

Membre Club Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
@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


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.