utilisation des .INI en C

utilisation des .INI en C - C++ - Programmation

Marsh Posté le 23-08-2002 à 16:05:13    

Hello
 
alors voilà j'ai des fichiers .INI avec des sections à l'interieur (bref un fichier .INI quoi ! ;) ) et j'aimerai savoir comment je récupère les infos contenus dans ces fichiers dans un programme en C
 
Merci pour tout exemple concret !

Reply

Marsh Posté le 23-08-2002 à 16:05:13   

Reply

Marsh Posté le 23-08-2002 à 16:07:18    

fscanf()?

Reply

Marsh Posté le 23-08-2002 à 16:10:23    

GetPrivateProfileString
WritePrivateProfileString

Reply

Marsh Posté le 23-08-2002 à 16:11:09    

SirJeannot a écrit a écrit :

fscanf()?




 
mouais, et pour lire une section particuliere du fichier parametre ???

Reply

Marsh Posté le 23-08-2002 à 16:11:55    

D'abord tu ouvres ton fichier avec fopen ensuite tu lis tes donnees avec fread et enfin tu fermes ton fichier avec fclose.
A toi de faire le parseur qui va avec.


Message édité par try58 le 23-08-2002 à 16:12:41

---------------
LOVE & PEACE !!! [:kirvel]
Reply

Marsh Posté le 23-08-2002 à 16:12:02    

antsite a écrit a écrit :

GetPrivateProfileString
WritePrivateProfileString




 
ça fait koi ça ? :p ça m'interesse !!!

Reply

Marsh Posté le 23-08-2002 à 16:14:24    

try58 a écrit a écrit :

D'abord tu ouvres ton fichier avec fopen ensuite tu lis tes donnees avec fread et enfin tu fermes ton fichier avec fclose.
A toi de faire le parseur qui va avec.




 
mmmmh y'a une autre méthode plus radicale que ça je crois... ça c'est la méthode "bourin" si tu me permet l'expression...
 
l'histoire du GetPrivateProfileString, ça ça m'interesse ! c'est ça qu'il faut que j'utilise mais je sais pas comment :( :cry:

Reply

Marsh Posté le 23-08-2002 à 16:15:41    

GetPrivateProfileString
 
http://msdn.microsoft.com/library/ [...] string.asp


Message édité par antsite le 23-08-2002 à 16:16:00
Reply

Marsh Posté le 23-08-2002 à 16:16:55    

antsite a écrit a écrit :

GetPrivateProfileString
 
http://msdn.microsoft.com/library/ [...] string.asp




 
royal !
merci monsieur ! :hap:

Reply

Marsh Posté le 23-08-2002 à 16:18:17    

:hello:

Reply

Marsh Posté le 23-08-2002 à 16:18:17   

Reply

Marsh Posté le 23-08-2002 à 16:50:30    

Hello
 
Pour une meilleurs programmation sous Windows:
N'oubliez pas que Microsoft recommande de ne plus utiliser de fichier .ini pour les applications. Mais de stocker toutes les infos dans la base de registre. GetPrivateProfileString() at WritePrivateProfileString() ne sont la que pour maintenir la compatibilité avec Windows 16bits.
A moins que vous ne puissiez faire autrement, on evite les fichiers .ini. Surtout sous XP, ça fait tâche!
 
 :bounce:  :bounce:  :bounce:

Reply

Marsh Posté le 23-08-2002 à 16:54:20    

yung3001 a écrit a écrit :

Hello
Surtout sous XP, ça fait tâche!




pistache [:cupra]


---------------
Super.
Reply

Marsh Posté le 23-08-2002 à 16:59:33    

Dites moi si je me trompe mais il faut donc créer un prog de desinstall si on utilise la base de registre pour effacer nos options ?

Reply

Marsh Posté le 23-08-2002 à 17:00:24    

antsite a écrit a écrit :

Dites moi si je me trompe mais il faut donc créer un prog de desinstall si on utilise la base de registre pour effacer nos options ?




 
il faut faire un programme de desintall dans tous les cas, de toute façon.

Reply

Marsh Posté le 23-08-2002 à 17:02:42    

yung3001 a écrit a écrit :

A moins que vous ne puissiez faire autrement, on evite les fichiers .ini. Surtout sous XP, ça fait tâche!




 
Et on évite la base de registre aussi pour que ca puisse marcher pour plusieurs utilisateurs/systemes sans tout reconfigurer.
 
La mode est donc au XML  :love:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 17:03:01    

Oui, malheureusement. Mais c'est valable aussi si tu créé un fichier ini dans le répertoire Windows...
Tout programme doit avoir une install et un dsinstall. Donc faut ce le farcir ou acheter (si t'as quelques milliers de $ sous la main) un truc comme InstallShield. Remarque il y en a d'autres surment bcp moins cher.
 
A la main, ça se fait, et ça permet de bien comprendre/apprendre les rouages de Windows.
 :bounce:

Reply

Marsh Posté le 23-08-2002 à 17:04:04    

Sinon, pour un exemple de GetPrivateProfileString et cie, tu prends builder ou delphi et tu regardes le source de l'unité IniFiles
 
c'est exactement ca  :hello:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 17:04:46    

yung3001 a écrit a écrit :

Oui, malheureusement. Mais c'est valable aussi si tu créé un fichier ini dans le répertoire Windows...
Tout programme doit avoir une install et un dsinstall. Donc faut ce le farcir ou acheter (si t'as quelques milliers de $ sous la main) un truc comme InstallShield. Remarque il y en a d'autres surment bcp moins cher.
 
A la main, ça se fait, et ça permet de bien comprendre/apprendre les rouages de Windows.
 :bounce:  




 
 :non:  0$
http://www.jrsoftware.org/isinfo.php
 


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 17:05:03    

Citation :

Et on évite la base de registre aussi pour que ca puisse marcher pour plusieurs utilisateurs/systemes sans tout reconfigurer.  
 
La mode est donc au XML  :love:


 
La base de registre ne gène en rien pour fonctionner avec plusieurs utilisateurs et systèmes. Les DCOM c'est pas pour les iench.

Reply

Marsh Posté le 23-08-2002 à 17:12:29    

yung3001 a écrit a écrit :

Citation :

Et on évite la base de registre aussi pour que ca puisse marcher pour plusieurs utilisateurs/systemes sans tout reconfigurer.  
 
La mode est donc au XML  :love:


 
La base de registre ne gène en rien pour fonctionner avec plusieurs utilisateurs et systèmes. Les DCOM c'est pas pour les iench.




 
Et si tu travailles avec Delphi/Kylix et un truc portable sous Linux, ton DCOM tu pleures  :D  
Et c'est bien lourd si tu sauves que 2-3 malheureuses petites options  :pt1cable:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 23-08-2002 à 17:13:23    

Pour utiliser le XML, il y a une classe qui fait office de parser pour en faciliter l'emploi ?


Message édité par antsite le 23-08-2002 à 17:13:45
Reply

Marsh Posté le 23-08-2002 à 17:17:39    

oui, le parser MSXML, ou un des 50 millions autres parsers dispo


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 25-08-2002 à 14:23:38    

Cela dit en passant : Rien de tel que les .INI pour faire de la programmation portable!


---------------
iteme.free.fr | Mon feedback
Reply

Marsh Posté le 25-08-2002 à 14:35:46    

bah sinon y a le parser XML de zion, c'est portable aussi, mais bon c'est sous Delphi :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 25-08-2002 à 14:38:24    

ITM a écrit a écrit :

Cela dit en passant : Rien de tel que les .INI pour faire de la programmation portable!
 




En quoi le XML n'est pas portable ?  :??:  
Il existe des millions de parsers XML, aussi bien sous Win que sous Linux, Solaris, Palm, etc...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 25-08-2002 à 15:04:03    

Harkonnen a écrit a écrit :

 
En quoi le XML n'est pas portable ?  :??:  
Il existe des millions de parsers XML, aussi bien sous Win que sous Linux, Solaris, Palm, etc...




 
Chuuuuuut malheureux, l'ini c'est meilleur, c'est connu  [:ddr555]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 25-08-2002 à 15:04:47    

antp a écrit a écrit :

bah sinon y a le parser XML de zion, c'est portable aussi, mais bon c'est sous Delphi :D




 
 [:yaisse2]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 26-08-2002 à 09:33:44    

Pour ne pas encombrer, mes fichiers INI (16 ou 32 bits) sont placés dans le répertoire où se trouve l'exe qui les utilise. Pour effacer le soft, on fait un deltree du répertoire, et y a plus de traces du tout.
 
C'est pas agréé Krosoft, mais ça simplifie l'exercice et l'utilisation :D.
 
Vivent les fichiers INI, avant qu'on ne leur torde le cou ...
 
Rq : un INI ne peut dépasser 64k :), héritage du 16 bits.

Reply

Marsh Posté le 26-08-2002 à 09:38:50    

c'est ce que je fais aussi, ini ou xml dans le dossier du soft
 
PS : mes INI peuvent faire plus de 64 Ko parce que j'utilise TMemIniFile de Borland, c'est vachement plus rapide parce qu'il met le fichier en mémoire pour ne pas devoir ouvrir le fichier à chaque lecture de clé, au démarrage du programme ça fait une fameuse différence quand tu as plusieurs dizaines de clés à lire :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-08-2002 à 10:25:52    

Je n'ai pas trouvé d'aide dans la MSDN pour utiliser le parser msxml dans mon app MFC. Est-ce un composant à ajouter ? Un lien ou un bout de code serait le bienvenu !
Merci d'avance
 ANT

Reply

Marsh Posté le 26-08-2002 à 13:34:15    

Bah, franchement, je trouve ça bien pratique les ini quand même (même si c'est vieillot).
Et c'est vrai que c'est quand même très simple à utiliser


---------------
iteme.free.fr | Mon feedback
Reply

Marsh Posté le 26-08-2002 à 13:39:55    

Et ça évite de faire enfler la tour de Pise de Windows qui est la base de registre (il en existait une sous Windows 16 bits, mais très discrète, prototype ?).

Reply

Marsh Posté le 29-08-2002 à 15:36:57    

"ça fait tâche" <<<< J'aime pas  
Et tu fais comment si tu veux une appli multios??? ya po de base de reg sous unix/linux/maxos etc ...  
Et pis c'est tellement plus simple et évite tellement de dépendance que je prefere largement les fichiers conf / ini.
 
 

yung3001 a écrit a écrit :

Hello
 
Pour une meilleurs programmation sous Windows:
N'oubliez pas que Microsoft recommande de ne plus utiliser de fichier .ini pour les applications. Mais de stocker toutes les infos dans la base de registre. GetPrivateProfileString() at WritePrivateProfileString() ne sont la que pour maintenir la compatibilité avec Windows 16bits.
A moins que vous ne puissiez faire autrement, on evite les fichiers .ini. Surtout sous XP, ça fait tâche!
 
 :bounce:  :bounce:  :bounce:  



Reply

Marsh Posté le 29-08-2002 à 20:00:44    

yung3001 a écrit a écrit :

Hello
 
Pour une meilleurs programmation sous Windows:
N'oubliez pas que Microsoft recommande de ne plus utiliser de fichier .ini pour les applications. Mais de stocker toutes les infos dans la base de registre. GetPrivateProfileString() at WritePrivateProfileString() ne sont la que pour maintenir la compatibilité avec Windows 16bits.
A moins que vous ne puissiez faire autrement, on evite les fichiers .ini. Surtout sous XP, ça fait tâche!
 
 :bounce:  :bounce:  :bounce:  




Pile poil ce que j'aime entendre...


---------------
iteme.free.fr | Mon feedback
Reply

Marsh Posté le 29-08-2002 à 20:02:51    

ouais et "GetPrivateProfileString() at WritePrivateProfileString() ne sont la que pour maintenir la compatibilité" ça me fait rire : je les utilise pas, c'est bcp trop lent dès que t'as bcp de trucs à lire/écrire :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-07-2003 à 17:46:05    

Comment on rajoute un commentaire dans un fichier ini ? est - ce possible ?
 

Reply

Marsh Posté le 17-07-2003 à 17:50:25    

ITM a écrit :


Pile poil ce que j'aime entendre...
 

c'est sur que comme ça on a plus de problème de sauvegarde de paramètres.... je sors -->[]

Reply

Marsh Posté le 17-07-2003 à 17:54:49    

giz a écrit :

Comment on rajoute un commentaire dans un fichier ini ? est - ce possible ?


 
en général une ligne commençant par un ";" est un commentaire il me semble


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-07-2003 à 18:29:04    

Citation :

La mode est donc au XML


 
+1
 
La bdr a justement été crée pour mettre fin au bordel des fichiers ini. Je crois qu'elle déboule avec Win32 (pas eu d"écho avec Win16). On l'appelle du coup de bordel organisé :D
 
Utiliser XML a l'avantage que ton code est portable.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 17-07-2003 à 18:35:20    

HelloWorld a écrit :

Citation :

La mode est donc au XML


 
+1
 
La bdr a justement été crée pour mettre fin au bordel des fichiers ini. Je crois qu'elle déboule avec Win32 (pas eu d"écho avec Win16). On l'appelle du coup de bordel organisé :D
 
Utiliser XML a l'avantage que ton code est portable.


 
Et bien ils s'y sont mal pris les gars de chez Crosoft. C'est fait des lustres que les systèmes de type Unix se débrouillent très bien avec des fichiers de config texte proche des fichiers ini.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed