LIRE/ECRIRE/SUPPRIMER DANS UN FICHIER INI GRÂCE AUX APIS WINDOWS

Signaler
Messages postés
103
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
21 juillet 2008
-
gmni
Messages postés
91
Date d'inscription
mercredi 6 novembre 2002
Statut
Membre
Dernière intervention
20 mars 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7885-lire-ecrire-supprimer-dans-un-fichier-ini-grace-aux-apis-windows

gmni
Messages postés
91
Date d'inscription
mercredi 6 novembre 2002
Statut
Membre
Dernière intervention
20 mars 2009

Merci!
freeman151248
Messages postés
16
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
31 mars 2011

Merci pour ce code Trés utile, simple efficace!

ciao
threadom
Messages postés
101
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
1 novembre 2007

Simple, Efficace, toujours util.

On ce rapelle pas toujours avec exactitude les paramètres d'une fonction dans une api.

La un petit module que l'on rajoute et on peu ajouter, modifier, supprimer, l'intérieur d'un fichier ini.

Sans vouloir être méchant certaine personne disans "y marche même pas chez moi, c'est de la gr..." ferais mieux d'apprendre a programmer avant de mettre ce genre de commentaire.

Cependant il est regretable que ces fonctions ne gère pas les erreurs correctement et que les types de données ne correspondent pas a ceux de l'api qu'il utlise.

Par exemple

# 'Fonction pour écrire une valeur dans un fichier INI
# 'La section spécifiée est créée automatiquement si elle n'existe pas déjà
# Function INIWrite(Entete As String, Variable As String, Valeur As String, Optional Fichier As String) As String
# Fichier IIf(Fichier "", App.Path & "" & App.EXEName & ".ini", Fichier)
# INIWrite = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
# End Function


# Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
# "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
# lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long


Il est regrettable que le type de donnée renvoyé est une String au lieu d'un Long, et il aurais peut etre été plus judicieux de mettre un booleen.
cs_gagou9
Messages postés
126
Date d'inscription
vendredi 19 septembre 2003
Statut
Membre
Dernière intervention
20 novembre 2007

salut skaleta !!!
je ovis que personne ne te reponds !

alors tu connais les fichiers ini, ils sont composés de section, de clés, et de valeurs.
exemple (le fichier s'appelle 'essai.ini' :

----------
[SECTION]
cle=valeur
----------

et bien avec ce prog, pour lire la valeur, faut faire :

-------------
Dim reponse as string
reponse = INIRead( "SECTION" , "cle" , "essai.ini" )
-------------

et reponse aura pour valeur "valeur".
t'as compris pour lire ?

pour ecrire c'est pareil :

rien = INIWrite( "SECTION, qui sera crée si existe pas", "clé", "valeur" , "essai.ini"

"rien" ne sert a rien, mais vu que c'est une fonction, ça renvoie une valeur, donc faut mettre qqch !

pour supprimer rien de plus simple :

1) supprimer une clé
rien = INIDelete( "SECTION" , "cle" , "essai.ini")

2) supprimer une section :
rien = INIDeleteSection( "SECTION" , "essai.ini")

voila voila !!

j'espere que t'a compris !!

en tout cas moi j'utilise cette source des que j'ai des fichiers ini, donc merci Chrystalyst !!


salut !

Gagou