Caractére numérique selon le modèle lcd( comme dans les montres numérique... )

Description

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.

Codes Sources

A voir également

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.