Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2687 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C] En ce qui concerne un .ini ....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] En ce qui concerne un .ini ....

n°136451
albibak
GT&PSN : Albibak78
Posté le 08-05-2002 à 18:53:08  profilanswer
 

Voial, je voudrais sauvegarder dans un .ini certaines configuration de mon programme, mise en systray, couleur ....
Mais certaines de ces options n'ont que deux etats via une check box (1 ou 0)...
 
Comment faire" pour alleger mon code ???
 
 
// Appel de mon option dans le .ini
GetPrivateProfileString("Systray", "Systray", buff_systray, buff_receive, sizeof(buff_receive), "esclave.ini" );
 
if(strcmp(buff_receive,"1" )==0) SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_SETCHECK,BST_CHECKED,0);
  else SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_SETCHECK,BST_UNCHECKED,0);
 
case WM_COMMAND:
  switch(LOWORD(wParam))
  {
   
  case IDOK :
   
   //SendDlgItemMessage(hDlgOptionsProc, IDC_CHECK_SYSTRAY, BM_GETCHECK, 0, 0);
   //if(check==1) WritePrivateProfileString("Systray", "Systray", "1", "esclave.ini" );
   //else WritePrivateProfileString("Systray", "Systray", "0", "esclave.ini" );
   WritePrivateProfileString("Systray", "Systray", buff_systray, "esclave.ini" );
   
   EndDialog(hDlgOptionsProc,1);
   break;
 
case IDC_CHECK_SYSTRAY:
   switch(SendMessage(GetDlgItem(hDlgOptionsProc, IDC_CHECK_SYSTRAY),BM_GETCHECK,0,0))
   {
   case BST_CHECKED:
    strcpy(buff_systray,"1" );
    break;
 
   case BST_UNCHECKED:
    strcpy(buff_systray,"0" );
    break;
   }
   
  break;
  }
  break;
 
Voila, les parametres s'enregistre dans le fichier escalve.ini, lorsque l'on clique sur le bouton OK !
 
Mais j'ai mis e,n place un buffer de 100 (je sais, c'est énorme pour du booléen, sachant qu'il n'a que 2 etats (1 ou 0)), mais l'importance n'est pas la, l'importance et que j'aimerais savoir comment faire sans utiliser un buffer, il doit bien y avoir un moyen ....
 
Merci
Albi

mood
Publicité
Posté le 08-05-2002 à 18:53:08  profilanswer
 

n°136456
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-05-2002 à 18:59:33  profilanswer
 

Si tu as beaucoup d'options booléennes, essaie de les regrouper toutes dans une seule string...
Sinon je pense pas que tu puisses faire tellement plus simple :(
 
(merci Borland pour le TIniFile, et surtout le TMemIniFile :love:)

 

[jfdsdjhfuetppo]--Message édité par antp le 08-05-2002 à 19:00:24--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136457
albibak
GT&PSN : Albibak78
Posté le 08-05-2002 à 19:00:18  profilanswer
 

???

n°136458
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-05-2002 à 19:01:36  profilanswer
 

Tu mets des caractères à 0 ou 1 dans une chaîne, chaque octet ayant une position dans la chaine "options booleennes", puis tu écris cette chaîne telle quelle.
C'est pas terrible pour la lisibilité du ini :(


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136459
albibak
GT&PSN : Albibak78
Posté le 08-05-2002 à 19:02:39  profilanswer
 

C'est bien la le prob ....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C] En ce qui concerne un .ini ....

 

Sujets relatifs
[concerne le DOS] 
Plus de sujets relatifs à : [C] En ce qui concerne un .ini ....


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)