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 :

j'ai deux problèmes ! TextBox et décimales ; enchainement affichage images trop rapide


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut j'ai deux problèmes ! TextBox et décimales ; enchainement affichage images trop rapide
    Bonsoir,

    Je suis avec Visual Studio 2015, et j'utilise VBA, et .... j'ai dans un programme deux problèmes, en réalité j'en ai bcp plus, mais deux à la fois.

    le premier: j'aimerai que dans mes textbox, les utilisateurs puissent entrer les décimales indifféremment avec un point ou une virgule ....

    deuxième: j'ai fais une petite animation, pour résumer une tuyau se vide dans un bidon, le niveau de liquide de l'un passe dans l'autre, j'ai fais ça dans les limites de mes connaissances, c'est à dire j'ai fais avec visio 14 dessins identiques mais ou a chaque fois le liquide varie, et j'ai crée 14 picturesbox, que je fais apparaitre a tour de rôle grâce à un if then, visible false/true, genre dessin animé si vous voyez ce que je veux dire, j'ai collé le code qui est tout bête. et ça fonctionne mais

    le problème à mon sens c'est que le mouvement est trop rapide, j'aimerai le ralentir et surtout, j'ai is une trackbar, j'aimerai l'associer à cette trackbar !, faire bouger mon liquide dans un sens comme dans l'autre !

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Public Class Form1
        Dim a As Double
        Dim b As Integer
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            PictureBox1.Visible = True
     
            If PictureBox1.Visible = True Then
                PictureBox1.Visible = False
                PictureBox2.Visible = True
     
                If PictureBox2.Visible = True Then
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
     
                    If PictureBox3.Visible = True Then
                        PictureBox3.Visible = False
                        PictureBox4.Visible = True
     
                        If PictureBox4.Visible = True Then
                            PictureBox4.Visible = False
                            PictureBox5.Visible = True
     
                            If PictureBox5.Visible = True Then
                                PictureBox6.Visible = False
                                PictureBox6.Visible = True
     
                                If PictureBox7.Visible = True Then
                                    PictureBox7.Visible = False
                                    PictureBox8.Visible = True
     
                                    If PictureBox8.Visible = True Then
                                        PictureBox9.Visible = False
                                        PictureBox9.Visible = True
     
                                        If PictureBox10.Visible = True Then
                                            PictureBox10.Visible = False
                                            PictureBox11.Visible = True
     
                                            If PictureBox11.Visible = True Then
                                                PictureBox12.Visible = False
                                                PictureBox13.Visible = True
     
                                                If PictureBox13.Visible = True Then
                                                    PictureBox13.Visible = False
                                                    PictureBox14.Visible = True
     
                                                End If
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
     
        End Sub
     
        Private Sub TrackBar1_ValueChanged(sender As Object, e As EventArgs) Handles TrackBar1.ValueChanged
            b = TrackBar1.Value
            Label2.Text = "lenght of inches" &
            Format(b / 5, "#.00#")
        End Sub
    End Class

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    je pense que tu fais du VB.NET et non du VBA, ça c'est juste pour la précision.

    Pour ton problème de séparateur décimal il suffit de faire un Replace(",", ".") avant de parser ta string vers un double. Si la valeur contient une virgule elle sera remplacée par un point, si ta valeur contient un point le replace ne fera rien.

    Pour ton animation je trouve ton code bien étrange. Perso (et c'est peut-être pas la meilleure solution) j'aurai fait une ImageList qui contient mes 14 images et lors du click sur le Button j'aurais lancé un Timer qui aurait rafraichi l'attribut Image de ma PictureBox jusqu'à les avoir toutes déroulées.

    Je te donnerai bien des exemples mais je peux te faire que du C#.

    PS : utilise la balise "code" (bouton #) pour rendre ton code plus lisible sur le forum.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    Merci je vais essayer les "imagelist"

    est ce que tu crois que je peux l'associer a la trackbar ?

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    ImageList est juste un conteneur d'image (en gros), donc je vois pas bien ce que tu pourrais faire comme association avec une TrackBar.
    Je te passe quand même un code C# au cas où ça pourrait t'aider un brin :
    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
    // btnAnime : Button qui lance l'animation
    // tmAnime : le Timer qui change l'image à chaque tick
    // picbxAnime : la PictureBox dans laquelle je mets mes images
    // imglstAnime : l'ImageList qui contient les images de mon animation, dans l'ordre
     
    // événement click sur le bouton : on start le timer
    private void btnAnime_Click(object sender, EventArgs e) {
    	tmAnime.Start();
    }
     
    // index de l'image actuellement affichée dans la picturebox
    private int _imgIdx = 0;
     
    // événement tick (appelé tous les Timer.Interval millisecondes, si starté)
    private void tmAnime_Tick(object sender, EventArgs e) {
    	// je mets l'image suivante de mon imagelist dans ma picturebox
    	picbxAnime.Image = imglstAnime.Images[_imgIdx++];
    	// si on a parcouru toutes les images de l'imagelist on reset l'index et on arrête le timer
    	if (_imgIdx >= imglstAnime.Images.Count) {
    		_imgIdx = 0;
    		tmAnime.Stop();
    	}
    }
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    en gros j'aimerai que ma trackbar fasse "bouger" mon dessin dans un sens ou dans l'autre, pour etre plus précis, mes dessins représentent une bouteille qui se vide dans un fut, ma trackbar ferait vider la bouteille dans un sens et la remplir dans l'autre....

    pour info, c'est pas de l'alcool !!!!

  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Alors oui, c'est tout à fait possible. En C# toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // trkAnime : la TrackBar
     
    // dans le constructeur de la form
    public FrmMain() {
    	InitializeComponent();
    	// après l'initialisation des composants on met le max de la TrackBar en corrélation avec le nombre d'images de l'ImageList
    	trkAnime.Maximum = imglstAnime.Images.Count - 1;
    }
     
    // événement scroll de la TrackBar
    private void trkAnime_Scroll(object sender, EventArgs e) {
    	// on met l'image de l'ImageList qui correspond à la valeur de la TrackBar dans notre PictureBox
    	picbxAnime.Image = imglstAnime.Images[trkAnime.Value];
    }
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Invité
    Invité(e)
    Par défaut
    sinon, tu peux faire une boucle pour modifier tes image et attendre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Threading.Thread.Sleep(10)
    .
    bon là c'est du c# mais il doit y avoir un équivalent avec vb

  8. #8
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    bon, j'ai fais un truc qui marche, c'est surement pas très "pro", mais ça marche dans les deux sens, reste maintenant que je voudrais lancer l'animation par un bouton et faire varier la vitesse avec la trackbar

    pour que vous puissiez rigoler un bon coup, je vous met le code. comme la trackbar augmente de facon linéaire, les chiffres s'incrémentent obligatoirement.
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    Dim b As Integer
     
     
        Private Sub TrackBar2_ValueChanged(sender As Object, e As EventArgs) Handles TrackBar2.ValueChanged
            b = TrackBar2.Value
     
            If b = 1 Then
                    PictureBox1.Visible = True
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
                End If
     
                If b = 2 Then
                    PictureBox2.Visible = True
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
                End If
     
                If b = 3 Then
                    PictureBox3.Visible = True
                    PictureBox3.Visible = False
                    PictureBox4.Visible = True
                End If
     
                If b = 4 Then
                    PictureBox4.Visible = True
                    PictureBox4.Visible = False
                    PictureBox5.Visible = True
                End If
                If b = 5 Then
                    PictureBox5.Visible = True
                    PictureBox5.Visible = False
                    PictureBox6.Visible = True
                End If
                If b = 6 Then
                    PictureBox6.Visible = True
                    PictureBox6.Visible = False
                    PictureBox7.Visible = True
                End If
                If b = 7 Then
                    PictureBox7.Visible = True
                    PictureBox7.Visible = False
                    PictureBox8.Visible = True
                End If
                If b = 8 Then
                    PictureBox8.Visible = True
                    PictureBox8.Visible = False
                    PictureBox9.Visible = True
                End If
                If b = 9 Then
                    PictureBox9.Visible = True
                    PictureBox9.Visible = False
                    PictureBox10.Visible = True
                End If
                If b = 10 Then
                    PictureBox10.Visible = True
                    PictureBox10.Visible = False
                    PictureBox11.Visible = True
                End If
                If b = 11 Then
                    PictureBox11.Visible = True
                    PictureBox11.Visible = False
                    PictureBox12.Visible = True
                End If
                If b = 12 Then
                    PictureBox12.Visible = True
                    PictureBox12.Visible = False
                    PictureBox13.Visible = True
                End If
                If b = 13 Then
                    PictureBox13.Visible = True
                    PictureBox13.Visible = False
                    PictureBox14.Visible = True
                End If
                If b = 14 Then
                    PictureBox14.Visible = True
                    PictureBox14.Visible = False
                    PictureBox15.Visible = True
                End If
                If b = 15 Then
                    PictureBox15.Visible = True
                    PictureBox15.Visible = False
                    PictureBox16.Visible = True
                End If
                If b = 16 Then
                    PictureBox16.Visible = True
                    PictureBox16.Visible = False
                    PictureBox17.Visible = True
                End If
                If b = 17 Then
                    PictureBox17.Visible = True
                    PictureBox17.Visible = False
                    PictureBox1.Visible = True
                End If
     
                '     PictureBox18.Visible = True
                'End If
                'If b = 18 Then
                '    PictureBox18.Visible = True
                '   PictureBox18.Visible = False
                '  PictureBox19.Visible = True
                'End If
                If b = 19 Then
                ' PictureBox19.Visible = True
                '  PictureBox19.Visible = False
                ' PictureBox20.Visible = True
            End If
            If b = 20 Then
                '  PictureBox20.Visible = True
                '  PictureBox20.Visible = False
                ' PictureBox21.Visible = True
            End If
            If b = 21 Then
                '    PictureBox21.Visible = True
                '   PictureBox21.Visible = False
                '   PictureBox22.Visible = True
            End If
            If b = 22 Then
                '    PictureBox22.Visible = True
                '   PictureBox22.Visible = False
                '   PictureBox23.Visible = True
            End If
            If b = 23 Then
                '  PictureBox23.Visible = True
                '  PictureBox23.Visible = False
                '  PictureBox24.Visible = True
            End If
            If b = 24 Then
                '  PictureBox24.Visible = True
                '  PictureBox24.Visible = False
                '  PictureBox25.Visible = True
            End If
            If b = 25 Then
                '  PictureBox25.Visible = True
                '  PictureBox25.Visible = False
                '  PictureBox26.Visible = True
            End If
            If b = 26 Then
                '  PictureBox26.Visible = True
                '  PictureBox26.Visible = False
                '  PictureBox27.Visible = True
            End If
            If b = 27 Then
                '  PictureBox27.Visible = True
                ' PictureBox27.Visible = False
                ' PictureBox28.Visible = True
            End If
     
     
        End Sub

  9. #9
    Invité
    Invité(e)
    Par défaut
    tu serais pas mieux à faire un truc de genre :
    (j'ai mise mon code en c#, car je connais pas trop vb, mais je pense que tu comprendras)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // attribut
    private PictureBox[] pbAnimation
    dans ctor :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    this.pbAnimation = new PictureBox[28];
    this.pbAnimation[0] = PictureBox1;
    this.pbAnimation[1] = PictureBox2;
    // etc.
    enfin dans value_changed :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.pbAnimation[b-1].Visible = true;
    this.pbAnimation[b-1].Visible = false;
    this.pbAnimation[b].Visible = true;
    ici, je sais pas pourquoi tu fais un true/false sur le même composant... je pense que la 1ère ligne ne sert à rien

  10. #10
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Perso j'ai vraiment du mal avec ton code, je vais pas pouvoir plus t'aider. Bon dev.

    PS : si t'étais parti sur mon exemple tu pouvais facilement faire varier la vitesse de défilement avec un TrackBar en associant son event Scroll à la propriété Interval du Timer.
    Plus je connais de langages, plus j'aime le C.

  11. #11
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    Dans tous les cas merci d'avoir essayé de m'aider, mais je patauge avec VBA alors je coule avec C # , mais bon, j'ai fais une boucle if .... then ...elseif et un timer, ça marche .... en boucle, j'ai donc, si je veux, un mouvement aller retour dépendant de ma trackbar, ou se déclenchant en boucle avec un bouton!!! reste à régler la vitesse avec la trackbar, on verra après je suis plongé dans les bases de données !

    en tout cas merci !

  12. #12
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Salut !

    Même si votre problème semble résolu, je me permet de vous donner un conseil pour simplifier votre code :

    Au lieu d'utiliser une multitude d'instruction conditionnelles If, utliser une seule instruction avec Elseif

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    If b = 1 then
    'instructions
    ElseIf b = 2 then
    'instructions
    ElseIf b = 3 then
    'instruction
    Else
    'instructions
    End If
    Vous gagnerez en temps d'écriture et en lisibilité De plus, le programme n'aura pas a passé a une instruction conditionnelle suivante si la précédente n'est pas vérifiée.


  13. #13
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    l'idée semble très bonne, mais "instruction " je le construis comment ?

  14. #14
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    instruction correspond seulement au bloc de code que vous souhaitez exécuter. Dans votre cas, le code commencera par :

    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
     
    If b = 1 Then
                    PictureBox1.Visible = True
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
     
    ElseIf b = 2 Then
                    PictureBox2.Visible = True
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
     
    ElseIf b = 3 Then
                    PictureBox3.Visible = True
                    PictureBox3.Visible = False
                    PictureBox4.Visible = True
     
    ElseIf b = 4 Then
                    PictureBox4.Visible = True
                    PictureBox4.Visible = False
                    PictureBox5.Visible = True
    End If
    etc, etc...

  15. #15
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    C'est un peu beaucoup une question de goût, parce que le code compilé est pareil ou presque; mais pour des données uniques, j'aime mieux Select Case. (Cela fait plus beau, mais ...)

    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
    Select Case b
         Case 1
                    PictureBox1.Visible = True
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
     
         Case 2
                    PictureBox2.Visible = True
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
     
         Case 3
                    PictureBox3.Visible = True
                    PictureBox3.Visible = False
                    PictureBox4.Visible = True
     
         Case  4 
                    PictureBox4.Visible = True
                    PictureBox4.Visible = False
                    PictureBox5.Visible = True
    End Select
    En extrapolant un peu, on peut aussi faire quelque chose du genre à la place d'un OR

    En partant d'une instruction IF contenant un OR


    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
    If b = 1 OR b = 5 Then
                    PictureBox1.Visible = True
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
     
        ElseIf b = 2 Or B= 10 Then
                    PictureBox2.Visible = True
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
     
        ElseIf b = 3 Or B = 35 Then
                    PictureBox3.Visible = True
                    PictureBox3.Visible = False
                    PictureBox4.Visible = True
    End If
    On peut mettre :


    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
     
    Select Case b
        Case 1 , 5
                    PictureBox1.Visible = True
                    PictureBox1.Visible = False
                    PictureBox2.Visible = True
     
        Case 2 , 10
                    PictureBox2.Visible = True
                    PictureBox2.Visible = False
                    PictureBox3.Visible = True
     
        Case 3, 35 
                    PictureBox3.Visible = True
                    PictureBox3.Visible = False
                    PictureBox4.Visible = True
    End Select
    Sauf que c'est inapplicable dans le cas de

    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  16. #16
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    J'avait aussi pensé a lui proposer un select case... mais bon

  17. #17
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pour la petite histoire, Microsoft a introduit Select Case dans QuickBasic 4 (Un Basic compilé pour DOS qui a été "le père" de QBasic. Un des gourous de la programmation de l'époque a voulu tester les différences. Il s'est rendu compte que les programme compilés avec IF then et avec Select case, étaient exactement pareils en Langage machine, toutes autres choses étant égales, par ailleurs.

    À moins que les algorithmes de compilation aient été modifiés, il y a gros à parier que c'est la même chose, ou presque, aujourd'hui.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  18. #18
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    oui j'ai répondu trop vite, j'avais déjà fais la modif en if then/ elseif, je pensais que instruction était une partie de code qui était relancé a chaque fois ......

    par contre pour faire varier la vitesse du timer avec une trackbar, vous avez des idées ?.

  19. #19
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    oui, vous fixer une valeur limite a votre trackbar, par exemple 100 (dans les propriétés du controle)

    ensuite vous allez dans l'évenement TrackBar1_Scroll et vous mettez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Timer1.Interval = TrackBar1.value
    Voila !

  20. #20
    Membre du Club
    Homme Profil pro
    Drilling enginer
    Inscrit en
    Décembre 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Drilling enginer
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 108
    Points : 45
    Points
    45
    Par défaut
    merci !!!

Discussions similaires

  1. [Débutant] Probléme textbox publique entre deux classes
    Par TheRafal dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 21/01/2014, 22h49
  2. [Débutant]Deux problèmes liés aux BD
    Par omegabahamut dans le forum Access
    Réponses: 5
    Dernier message: 03/12/2006, 12h28
  3. Problème TextBox et valeur
    Par Yanmeunier dans le forum IHM
    Réponses: 2
    Dernier message: 30/06/2006, 19h13
  4. [C++.NET] problème textBox
    Par stgi02 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 25/04/2006, 11h38
  5. [VB.NET]Problème de séparateur décimal [débutant]
    Par Cantalou dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/03/2006, 13h37

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