IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Simplification de code


Sujet :

VB.NET

  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut Simplification de code
    Bonjour à tous,

    J'ai un petit problème avec un code que j'aimerais simplifier.
    La voici:

    Dim bw, bw2 As Boolean
    If CheckBox1.Checked Then
    bw = True
    End If
    If CheckBox2.Checked Then
    bw2 = True
    End If

    Je souhaite réduire le nombre de If...End if car j'ai environ une vingtaine de chekbox.

    Je débute dans la programmation et j'arrive à me sortir de pas mal de problème, mais là je crois que j'ai le cerveau qui déconne.

    Un pti coup de main serait le bienvenu.

    merci
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Pour faire le tour de tes CheckBox, tu peux faire quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ' Déclaration d'un tableau ou d'une HashTable pour pouvoir stocker un ensemble key/valeur
     
    Foreach c as Control In Me.Controls
    If c Is CheckBox Then
       ' Tu mets dans le tableau genre 
       tab(i) = c.Checked 
    End If
     Next
    (attention, la syntaxe est certainement par correcte mais le principe oui)

    J'espere que ca te mettra déjà sur la voie

  3. #3
    Membre expérimenté Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Par défaut
    ou tu peux utiliser ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim bw, bw2 As Boolean
            If CheckBox1.Checked Then
                bw = True
            Else
                bw2 = True
            End If
    Bonne chance

  4. #4
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par arhamza85
    ou tu peux utiliser ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim bw, bw2 As Boolean
            If CheckBox1.Checked Then
                bw = True
            Else
                bw2 = True
            End If
    Bonne chance
    Il va lui en falloir de la chance...

    Vérifies ce qu'il demande, tu verras que même pour 2 CheckBoxes, tu ne réponds pas à la demande...

  5. #5
    Membre expérimenté Avatar de More
    Inscrit en
    Janvier 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 252
    Par défaut
    ah oui,

    donc il doit parcourir grace a une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To Me.Controls.Count - 1
     
            Next
    tous les checkbox et prendre les valeurs, c'est tres utile dans ce cas.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    Désolé mais je ne vois pas bien comment faire.
    Quelqu'un peut-il me détailler un peu plus la méthode.

    D'avance merci
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  7. #7
    Membre expérimenté Avatar de DarkMolo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 207
    Par défaut
    Salut,
    Si ce code ne te pose pas de problème(Notamment les Else que j'ai ajouté):

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim bw, bw2 As Boolean
    If CheckBox1.Checked Then
       bw = True
    Else
       bw = False
    End If
    If CheckBox2.Checked Then
       bw2 = True
    Else
       bw2 = False
    End If

    Alors, ça peut se simlplifier avec:

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bw  = CheckBox1.Checked
    bw2 = CheckBox2.Checked

  8. #8
    Membre Expert Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Par défaut
    Citation Envoyé par DarkMolo
    Salut,
    Si ce code ne te pose pas de problème(Notamment les Else que j'ai ajouté):

    Alors, ça peut se simlplifier avec:

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    bw  = CheckBox1.Checked
    bw2 = CheckBox2.Checked
    C'est correct !

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Par défaut
    Ditch a la meilleure solution surtout au niveau flexibilité. S'il se retrouve avec plus de checkbox, ça ne l'obligera pas à entrer une nouvelle ligne à chaque fois.

  10. #10
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    A l'ATT de DarkMolo

    Alors ça c'est que j'appel du bon boulot. Question simplification aujourd'hui à mon niveau on peut pas faire mieux.

    Merci à tous les autres. Je garde vos conseils pour les ressortir quand je serai un peu plus à l'aise.

    Pour l'info je cherche aussi à recopier la valeur d'une LISTBOX dans un fichier texte et à la relire par la suite....
    Si quelqu'un veut bien m'aider, c'est sans problème...

    DarkMolo, si tu as une idée aussi brillante de gêne pas...
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 80

    Informations forums :
    Inscription : Janvier 2007
    Messages : 201
    Par défaut
    Bonjour, c'était un très bon exercice pour moi ! Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Public Class Form1
        Public nl As Integer = 0    ' Nombre de lignes dans le fichier
        Public nomfic As String = "Fic.txt"
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                FileOpen(1, nomfic, OpenMode.Input)
                Do Until EOF(1) ' Jusqu'à la fin du fichier
                    ListBox1.Items.Add(LineInput(1))
                    nl = nl + 1
                Loop
            Catch ex As Exception
                MsgBox("Fichier absent ou en erreur : " & ex.ToString)
            Finally
                FileClose(1)
                Label1.Text = nl.ToString & " lignes lues"
            End Try
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ListBox1.Items.Add(TextBox1.Text)
            Try
                FileOpen(1, nomfic, OpenMode.Append)
                PrintLine(1, TextBox1.Text)
                nl = nl + 1
                Label1.Text = nl.ToString & " lignes"
                TextBox1.Text = " "
            Catch ex As Exception
                MsgBox("Fichier absent ou en erreur : " & ex.ToString)
            Finally
                FileClose(1)
            End Try
        End Sub
    End Class

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 19h28
  2. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2006, 21h51
  3. Simplification de code (suite)
    Par Jeffboj dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 22h34
  4. simplification de code
    Par Jeffboj dans le forum Access
    Réponses: 11
    Dernier message: 11/04/2006, 15h09
  5. [c#] Simplification de code
    Par Revan012 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/02/2006, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo