Il sagit d'un convertisseur euros plutot banal avec la possiblité de changer le taux de convertion. (C'est mon 1er programme soyez indulgent!!!!!)
Source / Exemple :
'**************************************************************
'* Convertisseur Franc<->Euros
'* avec taux changeable
'*
'*
'* Elements utilisés:
'* - 2 TextBox: txtTaux, txtValeur
'* - 3 GroupeBox : gpeTaux, gpeConversion, gpeResultat
'* - 2 RadioButton : rdbFrancEuro, rdbEuroFranc
'* - 3 Label : lblConvertion, lblUnite, lblResultat
'* - 1 Button : btnConvertir
'* - 1 Timer : Timer
'*
'**************************************************************
Private Sub btnConvertir_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnConvertir.Click
'Declaration des variables
Dim Taux As String
Dim Euro As String
Dim Franc As String
Dim NumTaux As Double
Dim NumEuro As Double
Dim NumFranc As Double
'Met dans La variable Taux le contenu de txtTaux en remplacant
'le caractère "." par ","
Taux = txtTaux.Text.Replace(".", ",")
'Convertion de la variable Taux (de type String = Chaine de caractères)
'vers une nouvelle variable NumTaux
'(de type Double = numérique codée sur 8 octets)
NumTaux = CType(Taux, Double)
'Choix du type de convertion Francs/Euros ou Euros/Francs
If rdbFrancEuro.Checked = True Then
Franc = txtValeur.Text.Replace(".", ",")
NumFranc = CType(Franc, Double)
'Calcul de la convertion
NumEuro = NumFranc / NumTaux
'Convertion de la variable NumEuro
'(de type Double = numérique codée sur 8 octets)
'vers une nouvelle variable Euro (de type String = Chaine de
'caractères)
Euro = NumEuro.ToString
lblResultat.Text = Euro & " ?"
Else
Euro = txtValeur.Text.Replace(".", ",")
NumEuro = CType(Euro, Double)
'Calcul de la convertion
NumFranc = NumEuro * NumTaux
Franc = NumFranc.ToString
lblResultat.Text = Franc & " Fr"
End If
End Sub
'Autorise seulement les touches numériques et le point dans txtValeur
'et txtTaux
Private Sub TestTouches(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles txtTaux.KeyPress, _
txtValeur.KeyPress
'Si la touche est différente d'un touche numérique (0 à 9)
'ou du point (Asc(e.KeyChar) = 46) ou de la touche back
'Alors on annule l'action (Appui sur une touche)
If e.KeyChar.IsDigit(e.KeyChar) = False _
And Asc(e.KeyChar) <> 46 _
And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back Then
e.Handled = True
End If
End Sub
'Scrutation de l'état des radio boutons pour définir la valeur de lblUnite
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Timer1.Tick
'Détermine l'unitée qui sera affichée sur lblUnite
If rdbFrancEuro.Checked = "true" Then
lblUnite.Text = "Fr"
Else
lblUnite.Text = "?"
End If
End Sub
End Class
Conclusion :
Mise à jour:
12/04/03:
-Optimisation des commentaires
-Définition de l'ordre de tabulation
13/04/03:
-Supression des message d'erreurs si les données rentrées dans les TextBox
ne sont pas de type numérique
-Ajout d'une fonction qui autorise ou non des caractères dans les TextBox
=>Allégement du code
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.