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 :

Différence entre le déboguage pas à pas et l'éxécution normale


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut Différence entre le déboguage pas à pas et l'éxécution normale
    Bonjour,
    ça me paré bizarre mais bon! En fait je réalise des diagrammes à l'aide de ZedGraph. le problème c'est que j'ai un diagramme dont chaque tranche dois s'afficher avec une couleur différente. alors j'ai crée une fonction (dans une classe) qui me permet de générer aléatoirement des couleurs en se basant sur le RGB que j'appel à chaque fois qu'une partie du camembert est crée. Le problème c'est que au moment d'une exécution simple tout le camembert s'affiche en une couleur unique qui est la première couleur générer alors que sur l'exécution pas à pas, chacun prend une couleur différente ! c'est quoi exactement le problème ? merci !

  2. #2
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Bonjour,
    Je ne connais pas ZedGraph, mais ca me semble typique d'un problème de refresh. En pas à pas ça fonctionne bien tout simplement parce que que à chaque fois que tu t'arrêtes en debug, ta fenêtre est masquée par une autre, et donc quand elle reprend son exécution elle se redessine.
    Si tu fais un Invalidate ou un Refresh a la fin du dessin de ton camembert ca devrais aller mieux, je pense.

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Sans voir ton code... dificille a dire !

    Et au dernier pas de ton pas a pas, que se passe-t-il ?
    C'est pas a ce moment qe tu recouvre tout avec ta couleur de base ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    inutile le refresh puisque c'est pas l'affichage qui est concerné c'est plutôt le tableau des couleurs aléatoires qui si je fais un pas à pas il contient des valeurs différentes mais si l'exécution est normale alors mon tableau contient des Couleur avec des RGB identiques !

    pour le code c'est assez beaucoup c'est pour cela j'ai pas voulu le mettre.

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    Je pense qu'au moment de l'exécution le random ne génère une valeur qu'une seule fois et reproduit la même valeur à chaque appel ( rappelez vous la différence entre random et srandom) s'il y a srandom en C# svp de l'aide !

  6. #6
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Comment tu fais ton random ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          Random Rnd = new Random();
          r = Rnd.Next(n);

  7. #7
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    oui c'est exactement comme ceci !

  8. #8
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Certainement pas exactement car chez moi ca me donne chaque fois un résultat différent !!

    Donc a défaut de pouvoir voir ce que tu fais exactement je dirais que tu ne fais pas exactement ce qu'il faut

  9. #9
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    non désolé de dire oui c'est ce que je fais !

    voila la méthode qui permet de générer les nombres:

    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
    class traitementDiagramme
        {
            public Color c1;
     
            public traitementDiagramme()
            {
                c1 = Color.Black;
            }
     
            public Color couleurAleatoire()
            {
                Random Rand = new Random();
                int R = Rand.Next(100, 255);
                int G = Rand.Next(100, 255);
                int B = Rand.Next(100, 255);
                c1 = Color.FromArgb(R, G, B);
                return c1;
            }
        }

    et voila l'appel de cette méthode :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int j = 0; j < nombreDeligne; j++)
                {
                    tableauCouleur[j] = couleurX();
                }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (int j = 0; j < nombreDeligne; j++)
                {
                    tableauCam[j] = myPane.AddPieSlice(valeurRefus[j], tableauCouleur[j], Color.White, 45f, 0, libelleMotif[j] + " " + pourcentage[j] + "%");
                }
    ! il me semble qu'il n' y a pas de différence, merci de vérifier avec moi

  10. #10
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    ne fais pas attention aux mots car j'ai un peu changer depuis !

  11. #11
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Ce que je te conseille de faire c'est d'intancier Random Rand en DEHORS de couleursaleatoire
    Et de passer Rand en parametre de couleuraleatoire !

  12. #12
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Petite précision
    N'instancie pas non plus Rand dans ta boucle

  13. #13
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 31
    Par défaut
    M. effectivement vous être un expert confirmé merci !

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

Discussions similaires

  1. Pas de différence entre onPress et onRelease
    Par supergrey dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 06/07/2007, 11h21
  2. like ne fait pas différence entre les valeurs ?
    Par karimphp dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/06/2007, 17h27
  3. Réponses: 1
    Dernier message: 20/06/2007, 17h03
  4. Ma chaîne SQL ne fait pas la différence entre un H et un h
    Par beegees dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 22/03/2006, 15h23

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