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 :

C# Période d'essai (DateTime)


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut C# Période d'essai (DateTime)
    Bonjour à tous,

    Comme vous aurez pu le comprendre en lisant le titre, je cherche à faire une version d'évaluation de 15 jours de mon application.
    J'ai lu pas mal de chose sur le net, je sais avant tout qu'il y a pas mal de méthodes mais certaines plus difficile que d'autres. J'ai décidé de faire ce système en utilisant le Registre windows.
    Je m'explique, lorsque l'utilisateur va cliqué sur le Bouton : "Activer la version d'éval.", une clé dans le registre va être créée avec comme valeur la date du jour ou l'utilisateur a cliqué sur ce Bouton. Ensuite, à chaque lancement de l'application, je récupère la valeur de la clé grâce à un "GetValue" dans un label.

    Le problème :

    Le problème c'est que je ne sais pas du tout comment faire pour vérifier / comparer la date d'aujourd'hui avec celle qu'il y a dans le label + les 15 jours d'essai, en gros vérifier si 15 jours sont passés ou non depuis que la clé s'est créée dans le Registre.
    (Je sais pas si c'est très bien expliqué.. )

    Je précise que je sais très bien que cette méthode est sensible à l'horloge de windows et que la clé peut être modifiée par l'utilisateur dans le Registre mais mon programme ne vise pas forcément un public expert en informatique !

    Merci,
    Cordialement.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2015
    Messages : 31
    Par défaut
    Bonjour,

    As tu essayé de prendre ton dateTime et faire la comparaison avec un DateTime.Now grâce à la structure TimeSpan ?

    J'ai trouvé un petit bout de code avec une modification au niveau du test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TimeSpan test = dtNow- dtStart;
    Duree = test.Days;
    Cordialement,

  3. #3
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par nicoptv Voir le message
    Bonjour,

    As tu essayé de prendre ton dateTime et faire la comparaison avec un DateTime.Now grâce à la structure TimeSpan ?

    J'ai trouvé un petit bout de code avec une modification au niveau du test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TimeSpan test = dtNow- dtStart;
    Duree = test.Days;
    Cordialement,

    Alors oui, j'ai fais ça mais le code n'est pas bon vu qu'à aucun moment il vérifie la Date récupéré grâce au GetValue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     if (DateTime.Now.Add(new TimeSpan(15, 0, 0, 0)) > DateTime.Now)  {
     
     
                  }
     
                  else
                  {
                      MessageBox.Show("Expiré");
                  }
    Je vois pas trop comment faire pour rectifier le code

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    ta vraie question c'est : comment lire/écrire dans la base de registre, nop ?
    Parce que comparer deux dates c'est pas le bout du monde.

  5. #5
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    ta vraie question c'est : comment lire/écrire dans la base de registre, nop ?
    Parce que comparer deux dates c'est pas le bout du monde.
    Non ça je l'ai déjà fait,
    Bah j'ai encore jamais travaillé avec du DateTime, du TimeSpan c'est la première fois.. Ce qui fait que je sais pas comment faire malgré mes recherches

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Ben si tu sais comment récupérer ton DateTime depuis la base de registre je vois pas le souci ...
    Le code de nicoptv est très générique mais correspond à ce que tu veux (à toi d'utiliser tes variables).
    Et le code que tu nous as passé ensuite n'a tout simplement pas de sens (lis ta condition "en français" tu comprendras).

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tu compare 'DateTime.Now' avec 'DateTime.Now' ce n'était pas la suggestion.

    Imaginons que tu as récupérer et casté ta date dans la variable 'DateTest'


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int NombreJour = (DateTime.Now - DateTest).Days;
    if (NombreJour > 15)
    {
        MessageBox.Show("Expiré");
    }
    else
    {
        MessageBox.Show("En cours d'essai");
    }

  8. #8
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Tu compare 'DateTime.Now' avec 'DateTime.Now' ce n'était pas la suggestion.

    Imaginons que tu as récupérer et casté ta date dans la variable 'DateTest'


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int NombreJour = (DateTime.Now - DateTest).Days;
    if (NombreJour > 15)
    {
        MessageBox.Show("Expiré");
    }
    else
    {
        MessageBox.Show("En cours d'essai");
    }

    J'ai donc fais comme le code c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     DateTime dt = DateTime.ParseExact(label1.Text, "dd/MM/yy",
                                      CultureInfo.InvariantCulture);
     
     
                int NombreJour = (DateTime.Now - dt).Days;
                if (NombreJour > 15)
                {
                    MessageBox.Show("Expiré");
                }
                else
                {
                    MessageBox.Show("En cours d'essai");
                }
    Mais ça ne fonctionne pas, quand je change la date de mon PC (je l'avance de 15 Jours) j'ai toujours le message "En cours d'essai"
    Je m'embrouille pas mal au niveau des conversions aussi

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Que vaut ta clé de registre ou dt et que vaut NombreJour.
    Tu n'aurai pas mit ta clé de registre en 2020 ?

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

Discussions similaires

  1. CDD vers CDI et période d'essai
    Par anasama dans le forum Droit du travail
    Réponses: 9
    Dernier message: 25/01/2007, 09h37
  2. Je souhaite prolonger ma période d'essai
    Par Invité105 dans le forum Droit du travail
    Réponses: 9
    Dernier message: 15/12/2006, 12h45
  3. fin de la période d'essai
    Par diammand13 dans le forum Contrat
    Réponses: 1
    Dernier message: 07/12/2006, 23h28
  4. Réponses: 10
    Dernier message: 03/12/2006, 23h31
  5. SSII vers éditeur pendant période d'essai ?
    Par szdavid dans le forum Droit du travail
    Réponses: 2
    Dernier message: 22/06/2006, 14h10

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