En ce qui concerne un .ini .... [C] - C++ - Programmation
Marsh Posté le 08-05-2002 à 18:59:33
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 )
[jfdsdjhfuetppo]--Message édité par antp le 08-05-2002 à 19:00:24--[/jfdsdjhfuetppo]
Marsh Posté le 08-05-2002 à 19:01:36
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
Marsh Posté le 08-05-2002 à 18:53:08
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