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

C# Discussion :

LiewView Condition automatique pour detecter le plus gros numero


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut LiewView Condition automatique pour detecter le plus gros numero
    Bonjour tout le monde;

    J'ai une listeView avec 12 ligne statique mais 12 valeurs aleatoire, je m'explique:

    chaque ligne represente un mois(janvier, fevrier, mars... decembre)

    chaque mois à une valeur
    mois janvier 1200 euro
    mois fevrier 800 euro
    mois mars 950,50 euro
    ...
    mois decembre 1100,60 euro


    donc pour pouvoir lire ces valeur j'ai fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                    var1 = Convert.ToDouble(listView1.Items[0].SubItems[1].Text);
                    var2 = Convert.ToDouble(listView1.Items[1].SubItems[1].Text);
                    var3 = Convert.ToDouble(listView1.Items[2].SubItems[1].Text);
                    var4 = Convert.ToDouble(listView1.Items[3].SubItems[1].Text);
                    var5 = Convert.ToDouble(listView1.Items[4].SubItems[1].Text);
                    var6 = Convert.ToDouble(listView1.Items[5].SubItems[1].Text);
                    var7 = Convert.ToDouble(listView1.Items[6].SubItems[1].Text);
                    var8 = Convert.ToDouble(listView1.Items[7].SubItems[1].Text);
                    var9 = Convert.ToDouble(listView1.Items[8].SubItems[1].Text);
                    var10 = Convert.ToDouble(listView1.Items[9].SubItems[1].Text);
                    var11 = Convert.ToDouble(listView1.Items[10].SubItems[1].Text);
                    var12 = Convert.ToDouble(listView1.Items[11].SubItems[1].Text);
     
    double var13  = 0, var14 = 0, var15 = 0, ...
    grace à mes conditions je trouve que je peux vraiment connaitre la valeur la plus eleve dans ma listview on fait comme suite:
    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
     
                if(var1 >= var2)
                {
                    var13 = Convert.ToDouble(listView1.Items[0].SubItems[1].Text);
                    valeuraafficher = var13;
                }
                if(var2 >= var1)
                {
                    var14 = Convert.ToDouble(listView1.Items[1].SubItems[1].Text);
                    valeuraafficher = var14;
                }
     
                if(var13 >= var3)
                {
                    var15 = Convert.ToDouble(listView1.Items[2].SubItems[1].Text);
                    valeuraafficher = var15;
                }
    ...
    cette solution va me permetre de verifier ligne par ligne les valeurs sauf que j'ai constaté que je dois ecrire manuellement des millier des conditions afin de tester tout les lignes :/

    donc j'ai besoin d'aide s'il y'a une chose automatique à faire pour les controller dans une boucle 'for' ... afin qui me donne la valeur la plus eleve (dans cette exemple c'est mois janvier 1200 euro)

    help please

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    lire un cours

    parce que là en effet c'est du n'importe quoi ^^

    déjà dans les bonnes pratiques, on ne met dans des données dans un controle sans les avoir ailleurs (genre une collection) et on travaille sur la collection
    mais pour ca il faut des bases de POO, donc lire un cours, c'est le plus simple pour apprendre

    par contre avant d'apprendre la POO il convient d'apprendre l'algorithmie (la base de la programmation), qui est valable pour tous les langages (comme les boucles permettant de ne pas avoir à écrire x fois la même chose)
    là je n'ai pas de lien mais google doit en avoir

    ca peut prendre du temps de lire des cours (parfois en dizaines d'heures) mais ca en gagne énormément au final, car ce que tu codes en 100 lignes, on peut le faire en une seule
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut
    Merci infiniment pour tes conseilles qui ne m'aide à rien, je cherche une solution je ne veux pas apprendre et merci ^^

    ma philosophie c'est avec la pratique qu'on apprend

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    d'accord, alors à ce compte là ta philosophie c'est de la merde ...

    un médecin ne commence pas à ouvrir quelqu'un puis va sur un forum pour demander où est l'appendice
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut
    tu compares un simple programme avec la vie humain -_- t'es sérieux là o.O
    bien tu ne veux pas m'aider merci

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    oui c'est pas la meilleure analogie mais l'esprit est là, avant de faire quelque chose on potasse

    Citation Envoyé par CLion Voir le message
    ma philosophie c'est avec la pratique qu'on apprend
    enfin toi tu compares pratiquer pour apprendre et demander aux autres ce qu'il faut écrire

    en général personne ici n'aide les gens qui ne veulent pas apprendre ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 659
    Par défaut
    Pol63 t'as peut être paru désobligeant mais au fond il a peut-être raison. Voici ta solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                double maxValeur = 0;
     
                for (int i = 0;i < listView1.Items.Count;i++)
                {
                    double valeur = Convert.ToDouble(listView1.Items[i].SubItems[1].Text);
     
                    if (valeur > maxValeur)
                        maxValeur = valeur;
                }
    Comme tu peux voir, il n'y a rien de sorcier, et ça reprends quasi tout ce que tu as fais (conversion + comparaison).

    Et en plus si de base tu avais une List ou un tableau ou seraient contenu les salaires, cela aurait pris une seul ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double salaireMax = tableauSalaire.Max();
    Mais comme je ne sais pas comment tu récupères les salaires, je t'ai mis les 2 solutions.

    Citation Envoyé par CLion Voir le message
    Merci infiniment pour tes conseilles qui ne m'aide à rien, je cherche une solution je ne veux pas apprendre et merci ^^

    ma philosophie c'est avec la pratique qu'on apprend
    Tu te contredis un peu la, d'un coté tu dis que tu veux qu'une solution, et d'un autre que tu veux apprendre en pratiquant.

    C'est très louable comme philosophie, c'est d'ailleurs un peu la mienne aussi mais il faut quand même des bases.

  8. #8
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut
    Merci beaucoup beaucoup <3

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/06/2006, 11h58
  2. [VB.NET] ScrollBar automatique pour Listbox
    Par Aspic dans le forum VB.NET
    Réponses: 6
    Dernier message: 19/12/2005, 13h58
  3. Defilement automatique pour un diaporama
    Par Paniez dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 11/12/2005, 10h26
  4. [debutant][JNI]Stocker des objet pour les rappeler plus tard
    Par Celenor dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 28/03/2004, 01h28

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