Voici quelques lignes de codes pour ceux qui commencent avec
vb. Le langage basic est souvent fouilli du fait qu'il est facile
et qu'on peut faire des choses sympas sans respecter des règles
élémentaires de structurations. C'est dommage car quand un prg
devient important on ne comprends plus rien du tout et ce même
si le but à atteindre est simple.
Euuhh c'est aussi un convertisseur euros >> francs !! pour rire -:)
@+, VIC
Source / Exemple :
Option Explicit
'--------------
'--------------------------------------
' Ce source n'a qu'un but.
' Expliquer un peu la STRUCTURATION
' d'un programme.
' J'ai choisi l'exemple d'un convertisseur
' euros >> francs , francs >> euros
' pour faire un clein d'oeuil à ceux
' qui disent que vbfrance.com contient
' trop de source sur le sujet !!
'
' Vous remarquerez que ce source
' sous cette forme n'existe pas ??
'--------------------------------------
'/*
' SECTION DECLARATION
'
'*/
'---------------------------------------
'Une énumération permet de lever toute ambiguité quand
'à la valeur de la variable qui pointera dessus (ici mvarConversion)
'on aurait put écrire EURO = 0 : FRANCS = 1 mais par défaut
'VB incrémente la valeur automatiquement
Private Enum Conversion
EURO 'vaut 0
FRANCS 'vaut 1
End Enum
'Ceci est une variable de niveau module qui pointe
'sur l'enumeration Conversion et ne peut avoir que
'deux valeurs (0 >> EURO ou 1 >> FRANCS...)
Private mvarConversion As Conversion
'---------------------------------------
'Il vaut toujours mieux utiliser des Constantes pour
'contenir une valeur qui sera toujours la même (...!)
Private Const TAUX_EURO = 6.55957
Private Sub txtEuro_Click()
init
End Sub
'/*
' SECTION EVENEMENTS
'
'*/
Private Sub txtEuro_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyBack Then Exit Sub 'BackSpace
If KeyAscii = 46 Then Exit Sub 'Point décimal
'L'évènement KeyPress se déclenche avant même
'que la sortie soit opéré dans le contrôle concerné.
'Donc on peut contrôler la saisie pour vérifier
'si elle est conforme à nos attentes.
'Dans le cas contraire on peut stopper la saisie en
'renvoyant keyascii = 0 car la variable Keyascii
'est passé par référence (byRef) et donc modifiable par
'la procédure keyPress.
'---------------------
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
mvarConversion = EURO 'On opère une conversion
'EURO >> FRANCS
End Sub
Private Sub txtEuro_KeyUp(KeyCode As Integer, Shift As Integer)
Convert KeyCode
End Sub
Private Sub txtFrancs_Click()
init
End Sub
Private Sub txtFrancs_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyBack Then Exit Sub 'BackSpace
If KeyAscii = 46 Then Exit Sub 'Point décimal
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
mvarConversion = FRANCS 'On opère une conversion
'FRANCS >> EURO
End Sub
Private Sub Convert(ByVal intCharCode As Integer)
If mvarConversion = EURO Then
txtFrancs = Round(Val(txtEuro) * TAUX_EURO, 2)
Else
txtEuro = Round(Val(txtFrancs) / TAUX_EURO, 2)
End If
End Sub
Private Sub txtFrancs_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 0 Then Exit Sub
Convert KeyCode
End Sub
Private Sub init()
txtEuro = ""
txtFrancs = ""
End Sub
Conclusion :
Pour faire fonctionner le prg :
1 - Ouvrir vb
2 - mettre la form sur BorderStyle = 1 (fixedSingle)
3 - Ajouter un contrôle textBox nommé txtFrancs
4 - Ajouter un contrôle textBox nommé txtEuro
5 - Ajouter deux contrôles label pour afficher les sigles en face
des contrôles textBox.
6 - faire un copier & coller du code.
'--------------------------------------
Bonne prog -:)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.