Structuration prg - tutorial

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 781 fois - Téléchargée 38 fois

Contenu du snippet

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 -:)

A voir également

Ajouter un commentaire Commentaires
Messages postés
42
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
1 juin 2006

"indentation" encore un mots que je comprend pas si quelqu'n pourrait m'eclaicir ca serait cool .
au sujet du code rien a dire sauf qu'il est claire et bien detailler
Messages postés
28
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2004

C'est sur, je crois simplement que je suis mal exprimé ou mal j'ai été compris, alors ça dérape. Je pense avoir beaucoup à apprendre en VB venant du monde pascal et windev. Je ne suis pas encore habitué aux intros et remarques du site. Désolé si j'apparais être un martien.
Cordialement.
Messages postés
146
Date d'inscription
vendredi 1 novembre 2002
Statut
Membre
Dernière intervention
13 décembre 2014

Ah les gars, pourquoi vous fachez-vous????
Y'a toujours un terrain d'entente non....
Enfin, bon pour ton tuto, pas mal ,bien reflechi
Messages postés
28
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
10 mars 2004

Merci de ta remarque, mais tu aurais pu me dire ou cela pêche, je suis réceptif à toutes les subjections même déplacées sans prendre la mouche pour autant. Je suis la pour apprendre en défendant mes pairs. Donc si tu as des solutions qui m'évite des erreurs, je suis preneur.
@+ bami
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
2
Avec une source sur ce site... qui plus est remplacable par un code qui pourrait faire dix lignes, je trouve que ta critique est pas cool et qui plus est totalement injuste. Maintenant je peux comprendre ...
En tous cas fait un procès à microsoft parce que dans l'aide MSDN le code est exactement formaté de cette façon (j'en sais quelque chose...).
Je ne critique aucun programmeur mais quand je vois certains code ça me donne à réagir. Voila !

PS : Fais une petite recherche sur himetric dans l'aide msdn (vb6)..
@+, VIC
Afficher les 14 commentaires

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.