utilisation des .INI en C - C++ - Programmation
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 ???
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.
Marsh Posté le 23-08-2002 à 16:12:02
antsite a écrit a écrit : GetPrivateProfileString WritePrivateProfileString |
ça fait koi ça ? ça m'interesse !!!
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
Marsh Posté le 23-08-2002 à 16:15:41
GetPrivateProfileString
http://msdn.microsoft.com/library/ [...] string.asp
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 !
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!
Marsh Posté le 23-08-2002 à 16:54:20
yung3001 a écrit a écrit : Hello Surtout sous XP, ça fait tâche! |
pistache
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 ?
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.
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
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.
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
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. |
0$
http://www.jrsoftware.org/isinfo.php
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 base de registre ne gène en rien pour fonctionner avec plusieurs utilisateurs et systèmes. Les DCOM c'est pas pour les iench.
Marsh Posté le 23-08-2002 à 17:12:29
yung3001 a écrit a écrit :
|
Et si tu travailles avec Delphi/Kylix et un truc portable sous Linux, ton DCOM tu pleures
Et c'est bien lourd si tu sauves que 2-3 malheureuses petites options
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 ?
Marsh Posté le 23-08-2002 à 17:17:39
oui, le parser MSXML, ou un des 50 millions autres parsers dispo
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!
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
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...
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
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 |
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 .
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.
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
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
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
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 ?).
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! |
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! |
Pile poil ce que j'aime entendre...
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
Marsh Posté le 17-07-2003 à 17:46:05
Comment on rajoute un commentaire dans un fichier ini ? est - ce possible ?
Marsh Posté le 17-07-2003 à 17:50:25
ITM a écrit : |
c'est sur que comme ça on a plus de problème de sauvegarde de paramètres.... je sors -->[]
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
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é
Utiliser XML a l'avantage que ton code est portable.
Marsh Posté le 17-07-2003 à 18:35:20
HelloWorld a écrit :
|
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.
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 !