Comment utiliser la fonction KeyDown ???

Jeff - 8 oct. 2001 à 20:21
 RememberTheKing - 8 oct. 2001 à 20:40
Bonjour...

Je me répète mais la réponse que j'ai eu ne fonctionne touours pas... J'avais écrit que je n'étais pas capable d'utiliser la fonction KeyDown. Je doit réaliser une calculatrice et lorsque j'appuis sur le clavier la touche 1, je doit voir apparaitre un 1 dans mon textBox et je doit voir la touche (commande) 1 s'enfoncer.

Une personne m'a répondu :If Keycode Vbkey1 or Keycode VbKeyNumPad1 then
BoutonNr1.Value = True
Text1.text = "Un"
end if

J'avais oublier de mentionner que je suis un débutant...
Est-il possible d'avoir un peu plus d'explication

Désolé de ma "stupidité" héhéhéhé :)

De plus, je doitavoir sur ma calculatrice un bouton de commande "+". Je ne susi pas capabel de la faire additionner. Je sais que pour faire une somme c'est le + qui doit etre utilisé. Mai je ne sais pas comment faire pour lui dire de faire la somme de mon textBox + le second chiffre de mon text box

Merci à l'avance...

1 réponse

RememberTheKing
8 oct. 2001 à 20:40
Je t'envoie le code du projet exemple livré avec VB et qui
s'appelle Calc.vbp Fais une recherche sur ton HD.

' ----------------------------------------------------------------
' Copyright (C) 1994 Microsoft Corporation
'
' Vous pouvez, librement et gratuitement, utiliser, modifier,
' copier et distribuer les fichiers des exemples d'application
' (et/ou toute version modifiée) à condition que vous acceptiez le
' fait que Microsoft n'apporte aucune garantie ou obligation et
' n'engage aucune responsabilité pour les fichiers des exemples
' d'application.
' ----------------------------------------------------------------
Option Explicit
Dim Op1, Op2 ' Opérande saisi précédemment.
Dim DecimalFlag As Integer ' Le séparateur décimal est-il déjà en place?
Dim NumOps As Integer ' Nombre d'opérandes.
Dim LastInput ' Indique le type de la dernière touche enfoncée.
Dim OpFlag ' Indique quelle est l'opération en cours.
Dim TempReadout

' Procédure de l'événement Click pour la touche C (Annuler).
' Réinitialise l'affichage et initialise les variables.
Private Sub Cancel_Click()
Readout = Format(0, "0,")
Op1 = 0
Op2 = 0
Form_Load
End Sub

' Procédure de l'événement Click pour la touche CE (Annuler la saisie).
Private Sub CancelEntry_Click()
Readout = Format(0, "0,")
DecimalFlag = False
LastInput = "CE"
End Sub

' Procédure de l'événement Click pour le séparateur décimal (.).
' Si la dernière touche enfoncée était un opérateur, initialise
' la valeur à "0," Sinon, ajoute un séparateur décimal à l'écran.
Private Sub Decimal_Click()
If LastInput = "NEG" Then
Readout = Format(0, "-,")
ElseIf LastInput <> "NUMS" Then
Readout = Format(0, ",")
End If
DecimalFlag = True
LastInput = "NUMS"
End Sub

' Routine d'initialisation de la feuille.
' Affecte à toutes les variables leur valeur initiale.
Private Sub Form_Load()
DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Readout = Format(0, "0,")
'Decimal.Caption = Format(0, ",")
End Sub

' Procédure de l'événement Click pour les touches numériques (0-9).
' Ajoute un nouveau nombre au nombre affiché.
Private Sub Number_Click(Index As Integer)
If LastInput <> "NUMS" Then
Readout = Format(0, ",")
DecimalFlag = False
End If
If DecimalFlag Then
Readout = Readout + Number(Index).Caption
Else
Readout = Left(Readout, InStr(Readout, Format(0, ",")) - 1) + Number(Index).Caption + Format(0, ",")
End If If LastInput "NEG" Then Readout "-" & Readout
LastInput = "NUMS"
End Sub

' Procédure de l'événement Click pour les touches d'opérateurs (+, -, x, /, =).
' Si la touche précédemment enfoncée faisait partie d'un
' nombre, incrémente NumOps. Si un opérande est présent,
' définit Op1. S'il y en a deux, affecte à Op1 une valeur
' équivalente au résultat de l'opération sur Op1 et la
' chaîne en cours de saisie, puis affiche le résultat.
Private Sub Operator_Click(Index As Integer)
TempReadout = Readout
If LastInput = "NUMS" Then
NumOps = NumOps + 1
End If
Select Case NumOps
Case 0
If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
Readout = "-" & Readout
LastInput = "NEG"
End If
Case 1
Op1 = Readout
If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
Readout = "-"
LastInput = "NEG"
End If
Case 2
Op2 = TempReadout
Select Case OpFlag
Case "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Case "-"
Op1 = CDbl(Op1) - CDbl(Op2)
Case "X"
Op1 = CDbl(Op1) * CDbl(Op2)
Case "/"
If Op2 = 0 Then
MsgBox "Division par zéro.", 48, "Calculatrice"
Else
Op1 = CDbl(Op1) / CDbl(Op2)
End If
Case "="
Op1 = CDbl(Op2)
Case "%"
Op1 = CDbl(Op1) * CDbl(Op2)
End Select
Readout = Op1
NumOps = 1
End Select
If LastInput <> "NEG" Then
LastInput = "OPS"
OpFlag = Operator(Index).Caption
End If
End Sub

' Procédure de l'événement Click pour la touche pourcentage (%).
' Calcule et affiche un pourcentage pour le premier opérande.
Private Sub Percent_Click()
Readout = Readout / 100
LastInput = "Ops"
OpFlag = "%"
NumOps = NumOps + 1
DecimalFlag = True
End Sub
0
Rejoignez-nous