link label avec timer

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

jimmydemon

Membre
Feb 21, 2014
24
0
121
vosges
salut à tous je c'est pas si je suis dans la bonne catégorie si c'est le cas désolé, voila jai crée un application donc pour le moment est secret lol je veux limite l'ouverture d'un linktabel en un temps déterminer genre une fois cliquer ne plus pourvoir le visiter avant un certain temps merci
 
Jul 5, 2010
3,543
0
601
Tu cherches à ce que liste des liens numérotés soit limitée au nombre d'entrées spécifié ?
 

jimmydemon

Membre
Feb 21, 2014
24
0
121
vosges
oui tout à fais je veux limiter genre mais viste des liens 1 fois toute les 24h ou 2 max comprends tu ? ca fais 5 heures que je cherche impossible de trouver comment faire
 
Jul 5, 2010
3,543
0
601
Je n'arrive pas trop à comprendre, mets un peu plus d'efforts dans tes explications, stp.
 

jimmydemon

Membre
Feb 21, 2014
24
0
121
vosges
oui sauf que je n'y arrive pas j'ai essayer ceci avec un timer mais une fois cliquer il reviens pas cliquable

If linkLabel1.enabled=true then
linkLabel1.enabled=false
ElseIf linkLabel1.enabled=false then
linkLabel1.enabled=true
End If

---------- Message ajouté à 12h10 ---------- Le message précédent était à 12h07 ----------

ben c'est pas compliquer je veux rendre un linklabel cliquable 1 seul fois toute les 24h bien sur même en fermant le logiciel et en le re ouvrant je ne veux pas qu'on puisse re visiter le lien avant les 24h
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
oui sauf que je n'y arrive pas j'ai essayer ceci avec un timer mais une fois cliquer il reviens pas cliquable

If linkLabel1.enabled=true then
linkLabel1.enabled=false
ElseIf linkLabel1.enabled=false then
linkLabel1.enabled=true
End If

---------- Message ajouté à 12h10 ---------- Le message précédent était à 12h07 ----------

ben c'est pas compliquer je veux rendre un linklabel cliquable 1 seul fois toute les 24h bien sur même en fermant le logiciel et en le re ouvrant je ne veux pas qu'on puisse re visiter le lien avant les 24h
Oui donc tu sauvegardes le temps unix ou un temps venant d'internet ...
J'ai jamais parlé de timer
 

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Tu peux avoir l'heure actuelle du PC de l'utilisateur en utilisant DateTime.Now, puis l'inscrire dans un fichier .ini puis le lire en utilisant StreamWriter et StreamReader.

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Le seul inconvénient serait que l'utilisateur pourrait le bypass qu'en changeant l'heure de son pc.
 

jimmydemon

Membre
Feb 21, 2014
24
0
121
vosges
Tu peux avoir l'heure actuelle du PC de l'utilisateur en utilisant DateTime.Now, puis l'inscrire dans un fichier .ini puis le lire en utilisant StreamWriter et StreamReader.

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Le seul inconvénient serait que l'utilisateur pourrait le bypass qu'en changeant l'heure de son pc.

merci super idéé si ca peux fonctionne c'est super et pour la modification de l'heure du pc faut avoir l'
idée lol je vais voir ça te plus près car je n'ai jamais utilisé .

est il possible de faire la même chose pour que le timer s'enregistre a la fermeture du logiciel et reprendre a la réouverture ?
 

Nayres

Membre Banni
Apr 15, 2012
3,431
0
341
Quelque part.
Code:
Dim datePc As DateTime = DateTime.Now

        Using dateW As StreamWriter = New StreamWriter("Date.ini")
            For Each Dir As DirectoryInfo In datePc
                dateW.WriteLine(Dir.Name)
            Next
        End Using

        Dim writedDate as string = ""
        Using dateR As StreamReader = New StreamReader("Date.ini")
            Do
                writedDate = dateR.ReadLine()
            Loop Until writedDate Is Nothing
        End Using

Puis tu compares ...
 
Jul 5, 2010
3,543
0
601
Eh bien il te suffit de faire un test dans le linklabel_linklabelclicked avant et d'enregistrer la date du dernier clic dans un fichier ou dans les paramètres de configuration du projet...

Code:
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
    {
        //date <- regarder dans les ressources la derniere date enregistrée
        if ( (dateactuelle-date)  est supérieur ou égale a 1 jour) 
        { 
           System.Diagnostics.Process.Start("[URL="http://www.microsoft.com"]Microsoft Corporation[/URL]"); // Navigate to a URL.
 
           //enregistrer la date courante dans les ressources 
        }
        linklabel1->enabled = false; // désatcive le linklabel.   
 
    }
 
May 23, 2013
508
0
322
'merica
Pour avoir la 'vraie' date il vaut mieux que tu utilise un script PHP, sinon comme l'a dit Akius c'est facile a bypass.

@RockRoss: Si tu désactive le linklabel ce sera plus possible de cliquer, même après 24h (si il ne redémarre pas le logiciel). Il vaut mieux utiliser un truc du genre:
PHP:
if(date > 24h)
{
//dostuff
linklabel.linkvisited = true;
}

et au démarrage de l'application le même check pour mettre la propriété LinkVisited a false si 24h se sont écoulées.
 
Last edited:

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Tu implementes .Visited et .Time à ton label et tu sauvegardes à la fermeture (onclose) dans les settings
 

jimmydemon

Membre
Feb 21, 2014
24
0
121
vosges
désolé je n'y comprend absolument rien du tout je laisse tombe j'intégrerais pas de linklabel merci quand même votre vôtres aide.
 
Jul 5, 2010
3,543
0
601
J'ai pas testé les linkLabel, mais linkvisited, ça sert juste à passer de la couleur bleu des liens nouveau à la couleur violet indiquant un lien sur lequel on a déjà cliqué.
Quand vous désactivez le linklabel, ce n'est valable que pour l’exécution courante... Au prochain lancement, il reprendra l'etat que vous aurez fixé à l'initialisation, après avoir vérifié si il y a eu plus de 24h d'écouler.
Ensuite vous mettez un timer qui va vérifié cet intervalle de temps (temspactuel - tempsenregistré > 24h) toutes les 5 minutes par exemple et qui va le réactiver au moment voulu!
 
Status
Not open for further replies.