Bonjour,
comment savoir si c'est la premi�re fois que l'utilisateur lance le programme???
Version imprimable
Bonjour,
comment savoir si c'est la premi�re fois que l'utilisateur lance le programme???
Bonsoir,
Je ne vois pas d'autres solutions que :
- un .ini
- une clef dans le Registre
Opte plut�t pour la solution 1 sinon tu risques de te faire tapper sur les doigts par JEG :D
(cf Sondage de gRRosminet) :
http://www.developpez.net/forums/vie...light=registre
Tu testes si existe.
Si OUI, d�j� lanc�
Si NON, tu cr�e !!
Je pr�f�re moi les clefs registres :yaisse3: donc voici un r�sum� si t'y connais rien ou presque :
MathieuCode:
1
2
3
4
5
6
7
8
9 #include <vcl\registry.hpp> TRegistry *Reg = new TRegistry; AnsiString RegPath = "\\Software\\Mon Rep"; Reg->OpenKey(RegPath, true); Reg->WriteInteger("Identifiant", 1); if (Reg->ValueExists("Message")) Edit1->Text = Reg->ReadString("Message"); Reg->WriteString("Message", Edit1->Text); Reg->CloseKey();
P.S. J'avais d�j� mis �a quelque part ... mais �a a disparu :koi:
M�me en recherchant mes messages d�j� post�s .... :?:
j'ai pas tout compris dans ton code la tu peux m'expliquer!!
Heu ... oui,
En fait c'est un r�sum� des commandes utiles pour ce genre de choses ...
(Bon jusqu l� ... pas trop dur :) )Code:#include <vcl\registry.hpp>
D�clarations globales (apr�s le TForm1*Form1;):
Pour ouvrir et fermer une clef :Code:
1
2 TRegistry *Reg = new TRegistry; AnsiString RegPath = "\\Software\\Mon Rep";
Pour stocker une chaine et un entier (dans Message et dans Identifiant respectivement) :Code:
1
2 Reg->OpenKey(RegPath, true); Reg->CloseKey();
Pour savoir si ta valeur existe :Code:
1
2 Reg->WriteString("Message", Edit1->Text); Reg->WriteInteger("Identifiant", 1);
Tu devras t'en servir car tu ne peux lire une valeur inexistante (je crois que �a plante ...) :cry:Code:
1
2 if (Reg->ValueExists("Message")) Edit1->Text = Reg->ReadString("Message");
Le simple fait qu'elle existe suffit � prouver que le programme a d�ja �t� lanc� ... mais tu peux stocker Installation : R�ussie par exemple pour �tre plus explicite ! 8)
Mathieu
P.S. Le chemin RegPath sert � te trouver un coin simpa pour cr�er ta clef ... je te conseille une clef unique pour tous tes programmes !
Avec des sous-clef pour ne pas envahir le base de registre
Par exemple, :idea: remplace Mon Rep par SamDaKap ...
merci, je verrai ca demain
Tu peux aussi faire un FindWindow de ta fen�tre principale d�s l'entr�e dans le programme. Si trouv�e, �a veut dire qu'il existe d�j� une instance du programme.
Tu peux aussi cr�er un atome en d�but de programme (d�truit � la sortie), et m�me chose, tester son existence d�s l'entr�e.
La solution de drobert s'applique si on veut savoir si une instance du programme existe d�j�. Si on veut savoir si c'est la premi�re fois depuis l'installation du programme sur la machine qu'il est utilis�, c'est la solution de Alacazam.