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
------------------------------- Réponse au message : -------------------------------
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...
|