Comment réaliser un compteur de visite en Visual c++

ryukengouki Messages postés 8 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 25 mai 2004 - 4 mai 2004 à 17:02
sebus1978 Messages postés 1 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 24 février 2007 - 24 févr. 2007 à 12:25
Je souhaite limiter le nombre d'accès à mon logiciel mais je ne sais pas comment m'y prendre...si vous avez des exemples et même des idées je vous en serai très reconnaissant, sachant que je programme en visual c++....
J'ai cru comprendre par mes recherches qu'il existait une fonction qui s'executait à chaque demarrage du programme...
JE NE LA TROUVE PAS!!!!!!!!!!!!!!!!!!!!! je craque!!!!!!!!!!!!!!
merci par avance.

5 réponses

cs_Metrox Messages postés 267 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 8 septembre 2013
4 mai 2004 à 23:23
Bah, tu t'embetes pas!
tu crées un ptit fichier texte bien planqué au fond du repertoire de windows, et a chaque demarrage, tu l'incrémente de un (dans ton main()). ensuite, dans le main tu testes si la valeur de ton fichier = nbr et si oui, et bien tu quittes le programme...sinon, tu continues ta fonction :)
M@x ---> Go on www.metrox.be
0
ryukengouki Messages postés 8 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 25 mai 2004
5 mai 2004 à 14:27
Je suis une quille en ce qui concerne les langages de prog d'internet donc pour que je change tes couleurs...c'est rapé!!!!
Sinon là je suis encore en train de lutter sur ce maudit compteur...mon pb est que ça plante : pb de mémoire...
J'arrive à ecrire ds le fichier mais une seule fois...apres ça fait planter mon prog...je ne renoncerai pas!!!!!!!!!!!!!!!!!!!!!
0
cs_Metrox Messages postés 267 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 8 septembre 2013
5 mai 2004 à 14:39
Cmt sa une seule fois?!
Je pense que je sais pourquoi
tu dois vérifier si le fichier existe ou non...S'il n'existe pas, tu le crée et comme contenu tu mets un sinon, tu le lis, tu mets le contenu en variable, tu incémentes la variable, tu supprimes le fichier, tu en recrées un nouveau et deddans, tu mets le contenu de ta var...
sinon, tu remplaces la premiere ligne de ton fichier par ta var au lieu de supprimer et recréer..
Bonne chance!
M@x ---> Go on www.metrox.be
0
ryukengouki Messages postés 8 Date d'inscription mardi 4 mai 2004 Statut Membre Dernière intervention 25 mai 2004
5 mai 2004 à 14:54
En fait le pb majeur est que je ne sais pas ecrire une valeur dans un fichier pour ensuite la récuperer pour l'incrémenter, je dois me tromper dans les fonctions que j'utilise...

voici mon bout de code :

FILE f;

f = fopen("Compteur.out","rt");
int compte = fscanf(f,"%d",utilisations);
if (compte > 2)
{
AfxMessageBox("Vous avez dépassez le nombre d'utilisations permises", MB_OK | MB_ICONSTOP);
exit(1);
}
else
{
utilisations = utilisations + 1;
fclose(f);

f = fopen("Compteur.out","wt");
fprintf(f,"%d",utilisations);
fclose(f);
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebus1978 Messages postés 1 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 24 février 2007
24 févr. 2007 à 12:25
J'espère que tu as progressé en C depuis

// Quand tu fournis des sources fournit les
// de façon complète, merci !!!

#include "stdafx.h"
#include <STDIO.H>
#include <STDLIB.H>

int _tmain(int argc, _TCHAR* argv[])
{
    FILE *f;
    int utilisations=0;
    // comment fais-tu quand le fichier existe pas
    // va voir: http://doucets.free.fr
    // ou alors l'excellent site http://sebastank.free.fr
    f = fopen("Compteur.out","rt");
    if (f != NULL)
    {
        // Purée y'a du boulot, revoie fscanf dans la MSDN
        // ce que tu appelles compte est en fait le retour status
        int compte = fscanf(f,"%d",&utilisations);
        if (utilisations > 2)
        {
            // j'ai viré et remplacé ton AfxMsgBox par un bon
            // vieux printf car je déteste les MFC
            printf("Vous avez outrepasser le nombre d'utilisations permises\n %d fois deja utilise !!!"
                ,utilisations);
            exit(1);
        }
        else
        {
            utilisations = utilisations + 1;
            fclose(f);
            
            f = fopen("Compteur.out","wt");
            fprintf(f,"%d",utilisations);
            fclose(f);
        }
    }
    else
    {
        // cas de la premiere utilisation ou le fichier
        // n'existe pas, et je crois qu'il était là ton pb
        // (pb de newbie en C)
        utilisations++;
        f = fopen("Compteur.out","wt");
        fprintf(f,"%d",utilisations);
        fclose(f);        
    }
    return 0;
}
0
Rejoignez-nous