Bonjour, je voudrais qd je lance mon appli, aller lire un fichier config en format texte ou j'aurais de marquer le vitesse du port com, le numero de port com.... et agir en consequence dans mon appli....comment dois je proceder?
Merci
Version imprimable
Bonjour, je voudrais qd je lance mon appli, aller lire un fichier config en format texte ou j'aurais de marquer le vitesse du port com, le numero de port com.... et agir en consequence dans mon appli....comment dois je proceder?
Merci
Salut
Utilise un .INI et des GetProfileString, un truc comme ça.
y'a t'il un exemple quelque part stp?merci
Y'a un exemple dans l'aide BCB. Fais une recherche sur le composant TIniFile.
Salut
Suppose un fichier MON_INI.INI avec cette section
Pour lire ces valeurs tu peux faire :Citation:
[section1]
val1=1000
str1=toto aime les fraises
[section2]
val1=200
str1=michel aime les cerises
Code:
1
2
3
4
5
6
7
8
9
10 char buffer[100+1]; unsigned int val; // on lit l'entier val1, 0 est la valeur renvoyée par défaut // attention cet enteir doit être positif, la fonction renvoie un unsigned val = GetPrivateProfileInt("section1", "val1", 0, <chemin_d_acces>"MON_INI.INI"); // on lit la chaîne str1,, "C'est raté" est la chaîne renvoyée par défaut GetPrivateProfileString("section1", "str1", "C'est raté", buffer, 100, <chemin_d_acces>"MON_INI.INI");
Comment cree t'on une section dans un fichier ini?
Soit tu le fais à la main, soit tu le fais par programme avec des
Code:
1
2
3
4
5
6
7 BOOL WritePrivateProfileString( LPCTSTR lpAppName, // section name LPCTSTR lpKeyName, // key name LPCTSTR lpString, // string to add LPCTSTR lpFileName // initialization file ); Remarque : il n'y a pas de WritePrivateProfileInt
Bonjour,
Tu as un petit exemple dans la FAQ C++ Builder:
http://geronimo.developpez.com/faqbc...p#fichiers_ini
Nicolas
qu'est ce qui ne va pas dans mon code?
Mon fichier CONFIG.ini se situe dans le repertoire projet...Code:
1
2
3
4 TIniFile* pif = new TIniFile("CONFIG.ini"); pif->ReadSectionValues("SECTION1",ListBox1->Items); delete pif;
Rien ne s'affiche dans ma listbox...
Voici mon fichier ini
Code:
1
2
3
4 [SECTION1] Port1=COM1 Vitesse Port1=9600
Indique le chemin complet de ton .INI, le répertoire courant de ton exe n'est pas forcément celui que tu crois !
rien ne se passe........
Citation:
Envoyé par Trap D
truc tout bete comment mets tu buffer dans un text edit?
Edit2->Text = "toto" par exemple
Edit2->Text = Buffer ne marche pas...Citation:
Envoyé par Trap D
En fait il trouve pa ma section car il me marque a chaque fois le string par defaut......comment verifier son fichier ini?
Excuse-moi : Edit2->SetTextBuf(buffer); :oops:
D'autre part, je viens de tester :
ça marche très bien avec le chemin d'accès completCode:
1
2
3
4
5
6 TIniFile* pif = new TIniFile("CONFIG.ini"); ListBox1->Clear(); // j'ai simplement rajouté celà pif->ReadSectionValues("SECTION1",ListBox1->Items); delete pif;
Merci bcp!!!!!!!!!!!Citation:
Envoyé par Trap D