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 :

Deux choix qui bouclent.


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Manche (Basse Normandie)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 24
    Points : 17
    Points
    17
    Par défaut Deux choix qui bouclent.
    Bonjour, je suis sur un truc tout bête, mais ça bloque tout mon premier petit programme

    L'idée serait de vérifier une égalité:

    -Si l'égalité est vrai cela boucle.
    -Si l'égalité est fausse, un peu de code et relance de la boucle.

    j'ai cherché à coup de while, de if, de for, mais je ne trouve pas la solution.

    En faite il faudrait juste que je trouve la commande qui relance une méthode.
    Mais en bon débutant je ne la connais pas

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Il n'y a pas vraiment de commande, il faut juste refaire un nouvel appel à la méthode ou alors je n'ai pas bien compris l’énoncé du problème.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Manche (Basse Normandie)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Je vous pose le code pour savoir si votre idée marcherai. je dois dire que j'en sais rien. étant débutant l’appel de méthode est faisable pour moi mais pas très limpide.

    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
     
    namespace ConsoleApplication3
    {
        public class hourvalue 
      // mise en place des valeurs "realhour" ( directement prise sur windows) 
      //et "sockedhour" ( pour faire la comparaison ).
        {
            public string stockedhour
            {
                 get { return stockedhour; }
            }
            public string realhour
            {
                get { return realhour; }
                set { realhour = DateTime.Now.ToString(); }
            }
            public hourvalue ( string realhour, string stockedhour)
            {
                if (stockedhour == realhour)
                {
                    //relance de la boucle
                }
                else if (stockedhour != realhour)
                {
                string stockedhour = realhour(realhour);
                Console.WriteLine(realhour);
                    //relance de la boucle
                }
            }
        }

  4. #4
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Comme l'a dit infosam76, tu dois créer une méthode contenant ta boucle et refaire un nouvel appel à la méthode.
    Code c# : 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
     
    private void MaBoucle()
    {
       for(...) // ou while; do while, foreach ...
       {
     
       }
    }
     
    public hourvalue ( string realhour, string stockedhour)
            {
                if (stockedhour == realhour)
                {
                    //Appel de la boucle
                    MaBoucle();
                }
                else if (stockedhour != realhour)
                {
                string stockedhour = realhour(realhour);
                Console.WriteLine(realhour);
                    //relance de la boucle
                    MaBoucle();
                }
            }

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    Dans tous les cas, la boucle est lancée, donc plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public hourvalue ( string realhour, string stockedhour)
            {
                if (stockedhour != realhour)
                {
                // un peu de code
                }
                MaBoucle();
            }
    eb.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Manche (Basse Normandie)

    Informations forums :
    Inscription : Octobre 2013
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    Merci, effectivement cela fonctionne parfaitement.
    après plusieurs test je commence à obtenir des résultats.

    Je me permet de vous poser une autre question.
    Si je veux afficher le résultat au dessus de tout ( comme fraps le fait pour les fps)
    je dois créer une fenêtre transparente qui passe par dessus toute les applis?
    ou fraps utilise t'il une autre méthode?

    je vous donne mon petit code si il vous prend l'envie de le corriger.
    Visual studio ne me signal aucune erreur.

    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
    namespace ConsoleApplication3
    {
        public class hourvalue // mise en place des valeurs "realhour" ( directement prise sur windows) et "sockedhour" ( pour faire la comparaison ).
        {
            public string stockedhour
            {
                get { return stockedhour; }
            }
            public string realhour
            {
                get { return realhour; }
                set { realhour = DateTime.Now.ToString(); }
            }
            public void hourequal() // code à exécuter si les deux valeurs sont égales
            {
                calculathour();
     
            }
            public void hournotequal() //code à exécuter si les valeurs sont différentes
            {
                Console.WriteLine(realhour);
                string stockedhour = realhour;
                calculathour();
            }
            public void calculathour() // test pour voir si les deux valeurs sont égales
            {
                if (realhour == stockedhour)
                {
                    hourequal();
                }
                else
                {
                    hournotequal();
                }
     
            }
     
        }
    EDIT1: ouai bah en farfouillant sur le net je me rends compte que mon projet est trop haut niveau pour moi XD.( l'idée était de créer un programme qui affiche l'heure pendant que l'on joue à un jeux vidéo, comme fraps le fait avec les fps).
    Enfin je crois que avec 10 heures de prog dans les paluches je suis pas au niveau , cela m'a permis de m’améliorer au moins.

    Merci pour votre aide.

  7. #7
    Invité
    Invité(e)
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Fonction Boucleur()
    {
    // .......
    while(true)
    {
     
    }
    Boucleur();
    }

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    Salut si je resumes :
    Citation Envoyé par Agrihnam Voir le message
    -Si l'égalité est vrai cela boucle.
    -Si l'égalité est fausse, un peu de code et relance de la boucle.
    donc ça doit boucler tous le temps
    et lancer un peu de code si il y a un test faux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while(true) //boucler tous le temps
    {
       if(!montest()) // lancer un peu de code si il y a un test faux
       {
          // un peu de code
       }
    }
    je trouve qu'il n'est pas judicieuse de faire un appelle de fonction dans ce cas la




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while(true) //boucler tous le temps
    {
     
       if (realhour != stockedhour) // lancer un peu de code si il y a un test faux
       {
           Console.WriteLine(realhour);
           stockedhour = realhour;
       }
     
       Thread.Sleep(500); // empêche l'application de voler trop de temps process
    }

    le Thread.Sleep(500); tu n'es pas obligé de l’utiliser tout dépend de ton application et de ce que ce dois faire ...

Discussions similaires

  1. 0% CPU selon ps pour deux setiathome qui tournent!!!
    Par SaintAmand dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 21/05/2006, 21h40
  2. [W3C] Facilité d'utilisation : quel solution entre deux choix ?
    Par Thierry8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/04/2006, 11h56
  3. Deux requetes qui se bloquent !!!
    Par soltani.slim dans le forum ASP
    Réponses: 3
    Dernier message: 16/02/2006, 14h18
  4. Réponses: 10
    Dernier message: 10/06/2004, 16h20
  5. Que deux événements qui se passent en même temps.
    Par Melchisedec dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 03/08/2003, 14h24

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