Ce petit programme sert a afficher des caractére numérique selon le modéle lcd. C'est à dire avec des lignes( la fonction line() est utilisé). Vous écrirer par exemple "546" et ce nombre sera reproduit avec des lignes. En espérant que ca puisse donner des idées et aider quelque personnes.
Source / Exemple :
'Tout est dans le zip.
Option Explicit
Const DIST_CENTAINE = 550 'Distance du bord à la position des centaines
Const DIST_DIZAINE = 2500 'Distance du bord à la position des dizaines
Const DIST_UNITÉ = 4450 'Distance du bord à la position des centaines
'Définir Sub A selon le modèle lcd
Sub A(ByVal Dist As Integer)
Line (550 + Dist, 625)-(1650 + Dist, 625)
End Sub
'Définir Sub B selon le modèle lcd
Sub B(ByVal Dist As Integer)
Line (550 + Dist, 1250)-(1650 + Dist, 1250)
End Sub
'Définir Sub C selon le modèle lcd
Sub C(ByVal Dist As Integer)
Line (550 + Dist, 1875)-(1650 + Dist, 1875)
End Sub
'Définir Sub D selon le modèle lcd
Sub D(ByVal Dist As Integer)
Line (550 + Dist, 675)-(550 + Dist, 1200)
End Sub
'Définir Sub E selon le modèle lcd
Sub E(ByVal Dist As Integer)
Line (1650 + Dist, 675)-(1650 + Dist, 1200)
End Sub
'Définir Sub F selon le modèle lcd
Sub F(ByVal Dist As Integer)
Line (550 + Dist, 1300)-(550 + Dist, 1875)
End Sub
'Définir Sub G selon le modèle lcd
Sub G(ByVal Dist As Integer)
Line (1650 + Dist, 1300)-(1650 + Dist, 1825)
End Sub
'Définir et dessiner chacun des 10 symboles(0-9)
Sub Dessiner(ByVal Chiffre As Integer, ByVal Distance)
Select Case Chiffre
Case 0: 'Dessiner 0
Call A(Distance)
Call C(Distance)
Call D(Distance)
Call E(Distance)
Call F(Distance)
Call G(Distance)
Case 1: 'Dessiner 1
Call G(Distance)
Call E(Distance)
Case 2: 'Dessiner 2
Call A(Distance)
Call B(Distance)
Call E(Distance)
Call F(Distance)
Call C(Distance)
Case 3: 'Dessiner 3
Call A(Distance)
Call B(Distance)
Call C(Distance)
Call E(Distance)
Call G(Distance)
Case 4: 'Dessiner 4
Call B(Distance)
Call D(Distance)
Call E(Distance)
Call G(Distance)
Case 5: 'Dessiner 5
Call A(Distance)
Call B(Distance)
Call C(Distance)
Call D(Distance)
Call G(Distance)
Case 6: 'Dessiner 6
Call A(Distance)
Call B(Distance)
Call C(Distance)
Call D(Distance)
Call F(Distance)
Call G(Distance)
Case 7: 'Dessiner 7
Call A(Distance)
Call G(Distance)
Call E(Distance)
Case 8: 'Dessiner 8
Call A(Distance)
Call B(Distance)
Call C(Distance)
Call D(Distance)
Call E(Distance)
Call F(Distance)
Call G(Distance)
Case 9: 'Dessiner 9
Call A(Distance)
Call B(Distance)
Call C(Distance)
Call D(Distance)
Call E(Distance)
Call G(Distance)
End Select
End Sub
'Définir Sub pour allez cherchez chacune des trois positions
Sub ExtrairePosition(ByVal Chiffre As Integer, ByVal Position As Integer, ByRef Résultat)
Select Case Position
Case 1: 'Extraire la positon des unités
Résultat = Chiffre Mod 10
Case 10: 'Extraire la position des dizaines
Résultat = Int(Chiffre / 10) Mod 10
Case 100: 'Extraire la positon des centaines
Résultat = Int(Chiffre / 100)
End Select
End Sub
Private Sub cmdExécuter_Click()
Dim Nombre As Integer
Dim ChiffreExtrait As Integer 'Résultat de l'extraction de la position
'Obtenir nombre
Nombre = Val(txtNombre)
Cls 'Effacer représentation précédente
If Nombre >= 0 And Nombre <= 999 Then
Call ExtrairePosition(Nombre, 100, ChiffreExtrait)
Call Dessiner(ChiffreExtrait, DIST_CENTAINE)
Call ExtrairePosition(Nombre, 10, ChiffreExtrait)
Call Dessiner(ChiffreExtrait, DIST_DIZAINE)
Call ExtrairePosition(Nombre, 1, ChiffreExtrait)
Call Dessiner(ChiffreExtrait, DIST_UNITÉ)
Else
MsgBox "NOMBRE INVALIDE: Votre nombre doit être compris entre 0 et 999", vbCritical
txtNombre.SetFocus
End If
End Sub
Private Sub txtNombre_GotFocus()
'Sélectionner le contenu du textbox
txtNombre.SelStart = 0
txtNombre.SelLength = Len(txtNombre.Text)
End Sub
Private Sub cmdFermer_Click()
'Fin du programme
End
End Sub
Conclusion :
Ceci est ma première source que je dépose sur le site est et en même temps le premier projet Visual Basic que j'ai du concevoir. Le code n'est pas très compliquer mais s'adresse à tous.
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.