none
Timer : Durée de la propriété "Enabled" des fonctionnalités de mon programme. RRS feed

  • Question

  • Bonjour, bonsoir,

    Quelqu'un pourrait-il me renseigner sur les Timers ? Et plus précisément répondre à la question sur laquelle je bute ?

    Je vous explique :

    Je souhaite mettre un Timer à mon programme, ainsi, lorsque la personne à exécutée mon programme pour la première fois le Timer fais son travail et compte ou décompte le temps.

    Mais là ou je bute principalement c'est que je voudrais que le Timer ait à la base une durée de 1 mois à partir du moment ou la personne a exécutée le programme pour la première fois.

    Il faudrait que le Timer ou je ne sais quoi, puisse savoir quel jour le programme a été exécuté et il doit savoir quand est ce qu'il doit se terminer. Ainsi lorsque le programme est exécuté pour la première fois, les fonctionnalités de mon programme sont fonctionnelles mais lorsque le Timer arrive au bout de son temps ou de sa durée en jour, alors les fonctionnalités doivent passer à "Enabled = False".

    Un exemple pour être encore plus explicite :

    J'exécute mon programme pour la toute première fois. Le Timer a une durée de vie de 1 mois, il repère quel jour le programme et donc par conséquent le Timer lui aussi ont démarrés, et à partir de ça il doit savoir quand il se termine.

    Par exemple j'exécute pour la toute première fois le Timer le 1er Mars, le Timer doit savoir qu'il se termine le 31 Mars. Une fois exécuté, les fonctionnalités ont la propriété "Enabled = True" ; Une fois le Timer arrivé au bout de son temps, les fonctionnalités ont la propriété "Enabled = False".

    Merci d'avance pour le temps que vous consacrerez pour moi.

    JPR

    vendredi 7 février 2014 12:12

Réponses

  • Bonjour,

    1) Ouvrir le menu "Projet = Propriétés de ..."
    2) Ouvrir l'onglet "Paramètres"
    3) Créer un paramètre (par exemple : Nom => DateDebut, Type => Date )
    4) Dans l'onglet "Application", cocher "Enregistrer My.Settings lors de l'arrêt"
    5) Code de vérification

    Dans le Form_Load :
     
     Vérifier s'il y a une valeur dans le paramètre
            pour lire le paramètre : My.Settings.DateDebut
     
     si non y mettre la date du jour
            - pour écrire dans le paramètre : My.Settings.Item("DateDebut") = date du jour
            - pour sauvegarder le paramètre : My.Settings.Save()

     si oui faire la différence de jours entre la date d'aujourd'hui et celle dans le paramètre
            - pour calculer la différence : DateDiff()

     si la différence de jour est plus grande ou égale à 30
          - message à l'utilisateur "Période d'essai terminée!)
      
     si non on continue l'exécution


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    • Marqué comme réponse Aurel Bera lundi 10 février 2014 08:15
    samedi 8 février 2014 14:54

Toutes les réponses

  • Bonjour

    Vous devez enregistrer la date/heure d'expiration au premier démarrage de votre appli  (dans des registres, dans un BD ou un fichier) et mettez le Timer a 31 jours.
    Apres ça, au chaque démarrage de l'application, si l'enregistrement existe déjà, vous vérifies s’il n’est pas dépassée, et mettez le Timer a différence de temps entre le moment de démarrage et l'expiration enregistrée déjà.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 7 février 2014 15:01
  • Merci de votre réponse, cependant je ne vois pas très bien comment procéder, je ne veux pas vous demander de faire le travail à ma place, au contraire, simplement pourriez-vous m'indiquer comment réaliser tout cela? De façon simple et explicite?

    Merci encore pour tout.

    vendredi 7 février 2014 15:09
  • Bonjour,

    Il y a aussi la possibilité d'enregistrer la date de la première exécution dans un paramètre.

    Menu Projet => Propriétés de ...

    Dans l'onglet "Paramètres", créer un paramètre.

    Pour lire le paramètre : Ma_variable = My.Settings.Mon_Parametre

    Pour écrire : My.Settings.Item("Mon_Parametre") = une_valeur

                       My.Settings.Save()

    Donc en écrivant la date du jour lors de la première exécution dans le paramètre, il suffit ensuite à chaque future exécution, lire le paramètre et calculer le nombre de jour entre celui-ci et la date du jour.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    vendredi 7 février 2014 22:26
  • Je comprends à peu près, mais après ce code que j'aurai inséré dans les lignes dans paramètre, je les appelle comment? Auriez-vous un exemple plus concret, expliqué point par point, c'est important que je réussisse à réaliser cela.

    Merci encore pour tout le mal que vous vous donnez.

    samedi 8 février 2014 11:15
  • Bonjour,

    1) Ouvrir le menu "Projet = Propriétés de ..."
    2) Ouvrir l'onglet "Paramètres"
    3) Créer un paramètre (par exemple : Nom => DateDebut, Type => Date )
    4) Dans l'onglet "Application", cocher "Enregistrer My.Settings lors de l'arrêt"
    5) Code de vérification

    Dans le Form_Load :
     
     Vérifier s'il y a une valeur dans le paramètre
            pour lire le paramètre : My.Settings.DateDebut
     
     si non y mettre la date du jour
            - pour écrire dans le paramètre : My.Settings.Item("DateDebut") = date du jour
            - pour sauvegarder le paramètre : My.Settings.Save()

     si oui faire la différence de jours entre la date d'aujourd'hui et celle dans le paramètre
            - pour calculer la différence : DateDiff()

     si la différence de jour est plus grande ou égale à 30
          - message à l'utilisateur "Période d'essai terminée!)
      
     si non on continue l'exécution


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    • Marqué comme réponse Aurel Bera lundi 10 février 2014 08:15
    samedi 8 février 2014 14:54
  • Merci beaucoup, ça fonctionne, un grand merci à tous, ce sujet est résolu donc.

    Merci j'espère ne plus avoir à vous embêter à présent.

    Bonne continuation.

    JPR

    RESOLU

    samedi 8 février 2014 16:59