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

Delphi Discussion :

Comment ne pas réinitialiser mon compteur à chaque redémarrage?


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut Comment ne pas réinitialiser mon compteur à chaque redémarrage?
    Bonjour!

    J'ai créer un compteur pour une petite apply perso'.

    Mais à chaque fois que je relance mon programme, ce compteur se réinitialise à 0. =/

    Comment empêcher sa (sans BDD)?

    Merci d'avance! ^^

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 210
    Points : 41 473
    Points
    41 473
    Billets dans le blog
    63
    Par défaut
    en stockant la valeur dans le registre ou un fichier ini , xml etc ...

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Ola merci, mais alors là je ne sais pas du tout comment faire! =/

    Petite explication possible? =D

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 669
    Points : 25 473
    Points
    25 473
    Par défaut
    Pour le Ini,

    dans ton programme, par exemple directement dans le DPR ou dans le OnCreate de ta MainForm, ou encore dans une section Initialize ...

    tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonCompteur := MonObjetIni.ReadInteger('Section', 'MonCompteur', 0);
    en fin, dans le DPR, dans le OnDestroy de ta MainForm, ou section Finalize
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonObjetIni.WriteInteger('Section', 'MonCompteur', MonCompteur);
    Et je dirais même plus, mais risque de lenteur, à chaque incrémentation de ton Compteur, tu enregistre cette valeur ...

    En base de Registre, euh, cela risque de la faire gonfler pour rien (pas de modif mais historisation des clés non ?)
    en XML, juste parce que le XML c'est un format à la mode, le ini c'est bien suffisant, et l'un ou l'autre, n'assuront pas de robutesse de la donnée de toute façon ...

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Merci beaucoup le troll, mais j'aimerais juste savoir à quoi correspond ce qui est entre parenthèses dans le ReadInteger : Section, MonCompteur (là c'est le nom de mon compteur j'imagine), et le 0???.

    Et pour le nom de mon fichier .ini, comment dois-je le déclaré dans mes variables?

    PS: Je l'ai mis dans la procédure OnCreate de ma MainForm (en fait il n'y en a qu'une :p).

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 669
    Points : 25 473
    Points
    25 473
    Par défaut
    Regarde l'Objet TIniFile, tout est expliqué dans l'aide

    sinon tient, une fonction wrapper ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function ReadStringIni(Section, Ident, Default: String): String;
    var
       TmpIniFile: TIniFile;
    begin
         // Ecriture du fichier Ini
         TmpIniFile:= TIniFile.Create(gCurrentIniPath + SERVEUR_INI);
         try
            // Rubrique, Clé, Valeur
            Result := TmpIniFile.ReadString(Section, Ident, Default);
         finally
                TmpIniFile.Free();
         end;
    end;

  7. #7
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 342
    Points : 394
    Points
    394
    Par défaut
    Si tu n'as jamais vu de fichier .ini , ils sont divisés en sections entre crochets et en variables. Tu peux les lire dans un éditeur de texte simple. Ils ont l'aspect suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [section_1]
    ma_variable_1 = la_valeur_en_chiffres_ou_en_lettres_1
    ...
    ma_variable_n = la_valeur_en_chiffres_ou_en_lettres_n
     
    ...
     
    [section_n]
    ma_variable_1 = la_valeur_en_chiffres_ou_en_lettres_1
    ...
    ma_variable_n = la_valeur_en_chiffres_ou_en_lettres_n

    L'accés à la valeur se fait par ReadString ou ReadInteger en précisant la section et la variable.

    bon courage

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    M'ouarf merci beaucoup, mais après avoir regarder TOUS les objets dont je dispose, je me suis rendu compte que je n'ai pas l'objet TIniFile! =/

    Comment faire? Existe-t'il un autre objet permettant de lier mon programme à un .Ini?

  9. #9
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Dans l'unité IniFiles, non ?
    Cette unité est distribuée avec toutes les éditions de Delphi. Tu devrais l'avoir.

  10. #10
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Non je n'ai pas cette unité! =/

    Vous allez me crier dessus... Mais j'ai Delphi 10 Lite. :p

    Je me fait juste les dents pour l'instant alors rien de grave je pense! ^^
    Mais bon du coup pas de IniFiles! =/

    Un autre moyen possible?

  11. #11
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par CleeM
    Vous allez me crier dessus... Mais j'ai Delphi 10 Lite. :p

    Citation Envoyé par CleeM
    Un autre moyen possible?
    Ben gérer ton ini à la main, pardi, avec un TStringList et un peu d'imagination

  12. #12
    Membre confirmé
    Avatar de gb_68
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 232
    Points : 546
    Points
    546
    Par défaut
    Si tu ne veux pas te faire , regarde les éditons perso. (2005) et/ou Turbo (2006) de Delphi.

    Sinon pour accèder aux ini, il y a les api windows ( GetProfileInt , ... )
    http://msdn2.microsoft.com/en-us/library/ms724360.aspx

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 204
    Points : 89
    Points
    89
    Par défaut
    Merci beaucoup pour ces informations! ^^

    PS: J'ai un peu de mal avec les API windows là, mais je vais chercher. ))

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2009, 20h47
  2. comment voir la valeur de mon compteur?
    Par NessaVi dans le forum Débuter
    Réponses: 6
    Dernier message: 02/02/2009, 22h09
  3. Réponses: 11
    Dernier message: 09/04/2008, 15h09
  4. Réponses: 4
    Dernier message: 09/05/2007, 14h41
  5. Comment ne pas imprimer mon menu, l'entete et le pied de pag
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/03/2006, 09h36

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