Checkbox

Résolu
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007 - 25 août 2006 à 14:22
KC62 Messages postés 229 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 juin 2007 - 25 août 2006 à 16:30
Bonjour.

Je voudrais vous demander comment on fait pour que quand une presonne clique sur checkbox et que sa l'enregistre dans un fichier .ini (comme quoi c'est checker. et a chaque ouverture c'est checked aussi) Et que quand la personne clique une 2eme fois sa sera unchecked et sa la sauvegarde a chaque changement. Merci

11 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 août 2006 à 16:04
Re,


Je n'avais jamais utilser SaveSetting ni GetSetting (j espere que tu parlais de cela 13557 DARKSIDIOUS )
Et c'est peu etre encore plus simple qu avec les API

Ce qui donnerait




Private Sub Form_Load() 
Dim Tmp As String 
Tmp  = GetSetting(App.EXEName, "DEF", "Choix", "?") 
If Tmp <> "?" Then Check1.Value = CInt(Tmp) 
End Sub 

Private Sub Check1_Click() 
Call SaveSetting(App.EXEName, "DEF", "Choix", Check1.Value) 
End Sub 

 







<small> Coloration syntaxique automatique [AFCK]</small>

       







 






@+, Julien
3
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 août 2006 à 14:32
Salut,


Est ce que tu sais déja faire l'enregistrement au Format INI?


Si NON regarde du cote des API suivantes







1- Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 
2 -Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 

Pour sauvegarder tu fais la chose suivante. 

Private Sub Check1_Click() 
Call WritePrivateProfileString("DEF", "Choix", CStr(Check1.Value), "C:\Test.ini") 
End Sub 

Pour recuperer la valeur sauvegarder. 

Private Sub Form_Load() 
Dim Ret As Long 
Dim Tmp As String 
Tmp = Space$(10) 
Ret = GetPrivateProfileString("DEF", "Choix", "?", Tmp, 10, "C:\test.ini") 
If Tmp <> "?" Then Check1.Value = CInt(Tmp) 
End Sub 
 







<small> Coloration syntaxique automatique [AFCK]</small>

       









Il y a surement plus "beau" mais le fonctionnel est la... a toi de l'ameliorer selon tes besoin






@+, Julien
0
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007
25 août 2006 à 15:16
Quand je met les deux premiers lignes il met dit error
Error de compilation. Attendu: fin d'instruction.
et sa me souligne ByVal
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 août 2006 à 15:22
Salut,


Mon copier coller a foirer.
Met une parenthese ( avant le premier ByVal






@+, Julien
0

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

Posez votre question
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007
25 août 2006 à 15:38
Maintenant c'est
Error de compilation:
Des constantes, chaines de longueur fixe, tableux .......... Declare  ne sont pas autorises  comme membres ...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
25 août 2006 à 15:48
Au lieu d'utiliser un fichier ini, utilise le registre de windows : bien plus simple à utiliser, bien plus performant, et surtout, recommandé par Microsoft depuis belle lurette !

En plus, tu as des fonctions directement intégrée à VB pour stocker dans le registre !
0
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007
25 août 2006 à 15:51
Sa doit etre tres dure a faire surtout comme se sais rien faire.
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 août 2006 à 15:57
Re
DARKSIDIOUS a raison.

Pour continuer dans le sens du INI (ou pour terminer) Pei etre devrait tu lire les messages de VB et essayer de les interpreter.

Tu as du mettre le code dans un Form et dans ce cas il ne faut pas mettre Public Declare.... Mais Private Declare...

@+, Julien
0
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007
25 août 2006 à 16:05
Sa veut pas ce lancer. Il me dit Debogage et quand je clique sa me souligne sa Check1.Value = CInt(Tmp)

Et une question tout ces codes vous les apprenes ou quand on sais coder sa vien tout seul?
0
cocowz Messages postés 89 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 25 février 2007
25 août 2006 à 16:09
C'est bon ce code est plus simple et il marche. Merci
0
KC62 Messages postés 229 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 20 juin 2007
25 août 2006 à 16:30
Bonjour,

Ta checkbox est t'elle bien nommé Check1 ?

"Et une question tout ces codes vous les apprenes ou quand on sais coder sa vien tout seul?"

C'est une question de logique, Si tu est débutant il va te falloir apprendre a apprendre.
Je m'explique, 90% des gens qui maitrise le codage et que tu as rencontré sur ce site on commencer par le bidouiilage.
A savoir : il ont trouver des solutions à leur problème, ils ont progresser et ne se rendent meme pas compte du niveau atteint : ils sont humbles.

Trouver des solutions n'est pas forcément trouver la solution au problème posé , mais c'est parfait modifié les variables du problème...
C'est comme en anglais lorsque que l'on te dit de ne pas chercher a traduire mot pour mot ce que tu pense si tu bloque mais on te conseille
d'exprimer ta phrase avec les mots que tu connais. Pareille.

Bon week-end !

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
0
Rejoignez-nous