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 :

[Débutant] CCM Le Timer


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut [Débutant] CCM Le Timer
    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
            static void Main(string[] args)
            {
                FILE_IO start = new FILE_IO();
                start.CreateCFG();
                start.ReadCFG();
                Var_Check.affect_Tabs();
                Var_Check.check_Vars();
                Console.WriteLine("Time Set for sleep : {0}:{1}:{2}",Var_Check.TimeTab_Unformated[0],Var_Check.TimeTab_Unformated[1],Var_Check.TimeTab_Unformated[2]);
                Timer interval_counter = new Timer();
                while (i != 0)
                {
                    interval_counter.Elapsed += new ElapsedEventHandler(OnTimedEvent);
                    interval_counter.Interval = 60000;
                    interval_counter.Enabled = true;
                }
                System.Diagnostics.Process.Start("hibernate", "\\h");
     
                Console.Read();
            }
            private static int OnTimedEvent()
            {
                i = DateTime.Compare(t1, t2);
                return i;
            }
    Salut encore, j'essaie de réaliser mon premier mini projet. un programme qui met le PC en sleep mode dans un temps écrit dans un fichier
    (histoire d'utiliser un peu toutes les leçons apprises)
    Mon probleme est le Timer, Qui me dit qu'aucune surcharge ne correspond au délégué.
    alors que meme chez MSDN c'est ecrit comme ca
    http://msdn.microsoft.com/fr-fr/libr...al(VS.80).aspx

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    erreur de débutant

    retourne dans l'exemple, tu y notera que la signature de la fonction OnTimedEvent est differente de ce que tu as ecris.

    Toi tu ne lui met aucun parametre en argument, alors que tu aurai du mettre comme dans l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnTimedEvent(object source, ElapsedEventArgs e)
    sache que tout evenement dit, event Handler, et tout Event Handler veut dire que forcement la fonction appellée par un evenement aura besoin de parametres (generalement (object, EventArg) )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Citation Envoyé par giova_fr Voir le message
    erreur de débutant
    j'avais prévenu !
    Résolu et merci

    edit, sa ce compile, mais ne marche pas.
    l'intervalle n'est point appliqué et le programme se lance dans une boucle infernale qui tue le processeur !
    si vous pourriez me donner une idée..

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    oula lol !

    oui en effet je n'avais pas regardé ton while

    Si c'est une boucle folle, c'est que i reste different de 0, et ca boucle, et boucle encore et encore, avec rien dans la boucle pour laisser "un peu de proc au reste"....

    Bref
    1) surveille i à coup de debugger
    2) le contenu de ta boucle n'a pas de sens :

    à chaque tour de boucle, tu demande à abonner ta callback OnTimedEvent à l'evenement Elapsed.

    Concretement , ca veut dire que apres le premier tour de bouche, si Elapsed est déclenché, alors OnTimedEvent sera appelé une fois.
    Apres le 2eme tour de boucle, si Elapsed est déclenché, alors OnTimedEvent sera appelé deux fois.
    etc etc...

    pourquoi un while d'ailleur?
    si tu le vire ca ira mieux

    Ps : dsl , vais me coucher, ca a beau etre les vacances :p

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Citation Envoyé par giova_fr Voir le message
    erreur de débutant

    retourne dans l'exemple, tu y notera que la signature de la fonction OnTimedEvent est differente de ce que tu as ecris.

    Toi tu ne lui met aucun parametre en argument, alors que tu aurai du mettre comme dans l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OnTimedEvent(object source, ElapsedEventArgs e)
    sache que tout evenement dit, event Handler, et tout Event Handler veut dire que forcement la fonction appellée par un evenement aura besoin de parametres (generalement (object, EventArg) )
    le while , c'est tous ce que j'ai trouvé pour
    : '' attendre jusqu'à ce que l'heure dans ma variable soit egale a l'heure locale qq"

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Je me demandes comment tu es arrivé au code que tu as écris en te basant sur le code exemple de la page MSDN que tu donnes.

Discussions similaires

  1. [débutant] [VB.NET] Timer + label + checkbox ...
    Par Amenos dans le forum Windows Forms
    Réponses: 14
    Dernier message: 27/03/2006, 13h26
  2. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22
  3. Réponses: 7
    Dernier message: 23/08/2005, 15h56
  4. [Débutant]Problème avec les timers
    Par mickael777 dans le forum MFC
    Réponses: 1
    Dernier message: 11/04/2005, 11h00
  5. [débutant] Timer inférieur à 1ms ? Timer + précis ?
    Par hepar dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/02/2004, 18h42

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