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 :

Fonctionnement d'un Timer


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 63
    Par défaut Fonctionnement d'un Timer
    Bonjour,

    J'ouvre ce sujet pour quelques questions sur le timer, que sa soit en WPF ou non (le fonctionnement doit être semblable non ?).

    Si j'ai bien compris le timer permet de faire des actions à un intervalle donné, grâce à l'évènement tick ?

    Cet évènement n'existe pas en WPF il me semble par contre.

    Admettons j'ai une fenêtre dans laquelle je dois choisir l'intervalle dont mes actions doivent se faire. Je choisis tous les 2 jours. Mais si je ferme cette fenêtre ou si j'éteins l'ordinateur, est ce que cela marchera ? (je pense que non mais justement je cherche une solution à cela)

    Merci

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Déjà, il faut faire attention car il y a plusieurs sortes de Timer. J'ignore ce qu'il en est pour le WPF (je suis encore sous VS2005 pour quelques jours) mais par exemple, le timer utilisé pour une application winforms et un service windows n'est pas le même (dans celui pour le service, l'évènement utilisé est Elapsed et non Tick).

    Maintenant concernant votre problème, je ne pense pas que c'est de cela dont vous avez besoin.

    Un timer étant un élément de l'application, il ne peut donc pas fonctionner si l'application n'est pas en train de tourner. Et par extension, il ne pourra pas non plus fonctionner si votre ordinateur est éteint.

    Ce que vous décrivez ressemble à une tâche planifiée. Windows possède un outil pour gérer cela. Si vous devez faire un traitement X bien précis à interval régulier, je vous suggère de créer une petite application (même pas besoin d'interface graphique à priori) qui fasse les actions nécessaire et d'ensuite utiliser le module de windows pour les tâches planifiées. Dans ce module, vous pourrez créer une nouvelle tâche et y indiqué l'application à exécuté et à quel intervalle.

    Bien entendu, cela ne fonctionnera pas non plus si votre ordinateur est éteint.

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Par défaut
    Salut,

    Le timer peut être utilisé de deux façons :
    Tu ne spécifies pas la propriété "Interval", et en faisant un "Start/Stop", tu récupères la durée écoulée. (comme un chrono)

    Tu spécifies ta propriété, et tu implémentes l'event "OnTick" du timer : Ton code s'exécutera à chaque "Interval".

    Maintenant la question 'Est ce que mon timer continuera de tourner si mon appli est fermée ?" : Non.

    C'est ton appli' la propriétaire du timer, donc elle qui décide si il faut démarrer ce timer

    Donc pas d'appli, pas de timer. Et pour ce qui est du pc éteind, je crois qu'il n'est pas la peine de répondre !

    Mais toutefois, ce n'est pas si incongru, mais en .NET, tu as une sous-couche (la machine virtuelle d'exécution .NET) qui exécute ton code ... Tu n'interagis pas directement avec ton matériel ...

    Alors si tu avais modifié ton bios avec un firmware perso' et une implémentation d'un timer ... ça aurait pu être possible

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 63
    Par défaut
    Merci à vous deux.

    En WPF en tout cas l'évènement Tick n'existe pas, vous savez qu'est ce qui y correspond ?

    J'expose ce que je dois faire :

    Une fenêtre où l'on paramètre une télé-sauvegarde (cela enregistre les paramètres dans un fichier .ini). L'un des paramètres est le temps entre chaque sauvegarde.

    Je ne vois pas donc comment faire

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    il y a plusieurs timers dans le framework, le system.windows.forms.timer a l'évent tick
    les autres ca doit etre elapsed, mais faire gaffe je crois que ca tombe sur un autre thread ...

    mais un timer sert à travailler entre 100ms et quelques heures d'intervalle, donc ca ne convient pas dans ton cas

    j'ai fait un programme dans le genre de ce que tu décris, le paramétrage s'enregistrer dans un fichier ini et après j'utilise les tâches planifiées de windows ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 63
    Par défaut
    Mais c'est à dire tu utilises les tâches planifiées de Windows ?
    Via VB ?

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    non

    je vais dans le menu démarrer, je lance "taches planifiées" et je dis que je veux lancer mon exe tous les jours à telle heure
    mon programme lit le .ini et fait ce qu'il y a dedans

    en fait j'ai fait un exe de paramétrage qui écrit le .ini et un exe de backup qui lit le .ini, mais on peut les regrouper en un seul
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/05/2015, 10h58
  2. [Débutant] WebBrowser.Navigate ne fonctionne pas dans timer
    Par Nikko92 dans le forum C#
    Réponses: 0
    Dernier message: 13/10/2012, 15h57
  3. Mon timer ne fonctionne pas
    Par maxxou dans le forum VB.NET
    Réponses: 3
    Dernier message: 05/07/2007, 00h22
  4. [C#] Problème de compréhension du fonctionnement d'un Timer
    Par cyllix dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/07/2006, 17h58
  5. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49

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