Moteur de recherche dans un fichier ini

Signaler
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004
-
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004
-
Bojour a tous,
J ai un probleme et je galere dessus depuis longtemps. Je stock dans un fichier ini une variable en section et je lui assigne une valeur comme
[variable 1]
key= val1
[variable 2]
key=val2
...

sachant que tous les noms de variable et les key sont toutes differentes je voudrais pouvoir rechercher soit les noms de section et obtenir la valeur correspondante, soit recherché par key et obtenir le nom de la section. en gros un petit moteur de recherche qui cherche soit par key soit par [nom de section].
J espere avoir ete assez clair.
je vous remercie d avance de votre aide

P.S: je travaile sous borland c++ builder 6.0

13 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Tu lis ton fichier, stocke une ligne dans un buffer, et tu fais appel a la fonction strstr(const char *str1, const char *str2) ki renvoie l'adresse de la premiere ocurence de str2 ds str1...

voila, ++.

Alhexman
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
en API WIn32 des fct font le boulot :
GetPrivateProfileInt,
GetPrivateProfileSection,
GetPrivateProfileSectionNames,
GetPrivateProfileString,
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

Merci de votre aide!
mais helas je bloque encore!!! je ne connaissais pas ces API et je ne sais pas comment m en servir..... (je suis un debutant !!!un vrai!!!) Est ce que quelqu un pourrait m expliquer ou me donner un site ou ces API sont expliqué?
merci encore
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
le référence ke lon doit connaitre absolument si on veut coder avec les API : msdn.microsoft.com

Merci Microsoft !!

++

Alhexman
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

deja encore un merci pour votre aide!!
ensuite je suis encore plus nul en anglais qu en programmation (c est dire!!!). En fait je comprends quand meme 2,3 trucs mais pour l utilisation de ces fonctions...je suis toujours bloqué. Il n existerait pas la MSDN en français ou encore mieux existerait t il une personne qui pourrait m expliquer ces API (ce que l on doit mettre en parametre, a quoi ça sert,...)

merci encore
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
UINT GetPrivateProfileInt(LPCTSTR, LPCTSTR, int, LPCTSTR);

1ere param = Nom de la section dans lakel chercher la valeur
2eme param = Nom de la clé pour lakel chercher la valeur
3eme param = valeur par defaut ke doit renvoyer la fonction si elle ne trouve pas la clé
4eme param = adresse du fichier

Valeur de retour = Conversion de la chaine de caractere suivant la clé en unsigned int

Voila, je pense ke c ske tu cherchais...

++

Alhexman

PS = il existe une mini bibliotheque des api en francais mais destiné aux programmeurs VB : api guide, ou encore une ke j'ai decouverte recemment et ki est assez complete : Progotop api viewer...
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

Merci Alhexman, t a raison c est ça que je cherchais!!!!!
Mais j ai encore un probleme (et ouais je suis tres chiant!). cette fonction permet d avoir la valeur d un clé pour une section donné mais moi je voudrais comparé un chiffre avec LA cles de TOUTES les sections. J esperer que tu vois ce que je veux dire...il faudrait alors que je fasse une boucle?

Et a propos des mini blibliotheque en francçais t aurait pas quelques adresses?

Merci 1000 fois pour ton aide
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Il faut pour cela ke tu connaisses toutes les sections dans leskel chercher cette clé et evidemment faire une ptite boucle...
Api - guide = http://www.mentalis.org/agnet/apiguide.shtml
mais dsl elle est en anglais...

Progotop Api viewer = http://www.progotop.com/popapi/
Celle-ci est bien en francais...

Voila

++

Alhexman
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

mais alors si je comprends bien ce n est pas cette api que je devrais utiliser car je dois chercher dans TOUTES les sections (et donc je peux pas fournir les noms des sections) la valeur.Mais alors quelle focntion me permettrai de faire ça???

Merci pour les adresses je vais jeter un coup d'oeil....
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
ben tu fais un tab a 2dimensions contenant les noms de toutes les section, puis une ptite boucle for comme suit :

for (i = 0; i < NBRE_SECTION; ++i) {
val = GetPrivateProfileInt(sections[i]...);
}

Voila, donc tu dois bien utiliser cette fonction

++

Alhexman
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

....
ça va t a l air calé en programmation!!!
je t explike mon projet peut etre que t aurait une meilleur idéee pour le stockage des données et comment les retrouver facilement.
En fait je voudrais gerer mes films: c est a dire que je stocke le nom du film et un chiffre qui me permet de les retrouver. apres je voudrais pouvoir savoir quelle film et en telle position ou telle position correspond a telle film (si tu vois ce que je veux dire).
Au debut je voulais utiliser une base de donnée mais on m a conseillé (d autant plus ke je suis debutant) de stocker ça dans un fichier ini...(peut etre ce n est pas la meilleur solution?)

est ce que t aurait une meilleur idée pour stocker tous ça?

merci de prendre du temps pour m aider c est sympa de ta part.
@+
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
A premiere vue, ton pb ferait plutot penser aux bases de données, mais si tu préfères utiliser un fichier .ini, c kom tu veux !

++

Alhexman
Messages postés
26
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
3 juillet 2004

Salut alexman,
en effet c est ce qu on vient de me conseiller... je crois que je vais utiliser une base de donnée access. je me suis renseigné et ça pas l air si compliqué...
desole de t avoir embété avec mon probleme de fichier ini.
Je te remercie (et ymca2003 aussi) de m avoir repondu. C est beau l entraide des developeurs!!!! :big)
Bonne prog a tous et peut etre a bientot sur un autre forum!!
@+