Détection d'une touche en mode console !!!

TheMacleod Messages postés 7 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 28 septembre 2004 - 9 mars 2004 à 17:17
rilou007 Messages postés 9 Date d'inscription mardi 7 septembre 2010 Statut Membre Dernière intervention 25 janvier 2011 - 25 janv. 2011 à 10:38
Salut,
je voudrais pouvoir capter la frappe d'une touche en mode console avant qu'elle ne s'affiche, je m'explique :

mon prog me demandera un mot de passe (kil fo po voir!!!)
donc, à chaque frappe de touche, je ne veux pas afficher le charactère mais *
j'ai déjà mon code de prêt :

Dim MotDePasse as String
Dim Lettre as Char
While Not Lettre = Chr(13) (la touche entrée)
if YaUneToucheKaEtéFrappée() then
Lettre = ToucheFrappée()
MotDePasse = MotDePasse & Lettre
Console.Write("*")
End If
End While

je cherche la fonction YaUneToucheKaEtéFrappée() et ToucheFrappée()
équivalent en C à kbhit() et getch()

Kelqu'un connait ?

si personne ne sait, comment fait on alors pour lier un évènement à une console ?

5 réponses

e_NeX Messages postés 104 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 30 novembre 2009
9 mars 2004 à 17:29
pour ke kan tu tape ca affiche *

dans les proprietés du textbox, tu cherche PasswordChar ettu met ton *.

pour ton truc destouches pressés

dan les options de ton txtbox, ta une fonction KeyDown

et bentu utilise ca et taprends les KeyCode

jespere ke ca te sera utile!

Bonne proG
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 mars 2004 à 00:02
Euh !! E_New, excuse moi d'être rabat-joie mais notre ami l'Immortel recherche une solution en mode Console, donc je doute qu'il est réussi à mettre une Textbox sur uen console DOS, Enfin je me trompe peut-être !!
Non mais si je dis cela, c'est parceque mine de rien, j'aurai aussi besoin de cette combine ...

Christophe R.
0
TheMacleod Messages postés 7 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 28 septembre 2004
10 mars 2004 à 10:12
effectivement, je cherche un moyen en mode CONSOLE !!!
fenêtre DOS si vous préférez,
j'ai beau essayer d'utiliser le Console.SetOut et SetIn, il affiche toujours les charactères que j'ai entré ...
et GetKeyboardState et GetKeyState ne conviennent pas vu que ca me renvoie un code clavier et non pas un code ASCII (je ne veux pas me faire chier avec une procedure qui vérifie si shift est enfoncé etc... maintenant, si j'ai vraiment pas le choix ...)
0
nazaire84 Messages postés 5 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 22 avril 2010
16 avril 2010 à 19:21
YaUneToucheKaEtéFrappée()=console.read()
lettre=console.read()
la variable "lettre" recoit la touche de caractères saisi au clavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rilou007 Messages postés 9 Date d'inscription mardi 7 septembre 2010 Statut Membre Dernière intervention 25 janvier 2011
25 janv. 2011 à 10:38
La commande console.readkey peut vous aidez a le faire. Ensuite fais un ptit recherche sur: Dim inputVal As ConsoleKeyInfo.
0
Rejoignez-nous