johann36
Messages postés130Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017
-
9 sept. 2008 à 08:34
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
11 sept. 2008 à 22:02
Bonjour tout le monde,
J'essaie de lire et écrire dans un fichier texte mais c'est plus compliqué que je ne le pensais.
Je souhaite créer un fichier Param.ini par exemple ou je vais mettre mes config pour l'utilisation de mon appli.
Pour cela je créé une section ex : [USER] puis je vais à la ligne où je vais créer une clé ex : [ACCES1] et pour finir la valeur que je vais attribuer à cette clé ce qui donne au final :
[USER]
[ACCES1]=123456789
J'ai essayé par mes propres moyens afin d'éviter une nouvelle fois de poster un message sur vbfrance mais malheureusement je ne suis pas assez bon et je me demande si je suis logique ???
Tout le monde y arrive sauf moi (j'aurai dû mettre Caliméro en pseudo).
D'ailleurs si vous aviez quelques conseils à me donner pour que j'essaie de me dire que en fait je ne suis pas si mauvais que je le pense ça m'aiderai un p'tit peu.
En attendant je vous remercie à tous pour votre aide.
Pour info voici ce que j'ai fait :
Public Structure StructureINI
<VBFixedString(6)> Dim SECTION As String
<VBFixedString(8)> Dim CLE As String
<VBFixedString(100)> Dim VALEUR_CLE As String
End Structure
Dim FileNum As Integer = FreeFile()
FileOpen(FileNum, ChmINI, OpenMode.Random, , , Microsoft.VisualBasic.Len(UneStructureINI))
'Lecture du fichier
Ce qui se passe ça m'ouvre bien le fichier et cela lit bien le fichier, le seul problème, c'est qu'il me ligne la longueur que je lui ai indiqué dans FileGet.
Je ne sais pas comment faire pour qu'il me lise uniquement la 1ere ligne pour le mot [USER] et ensuite la 2ème pour la ligne complète ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 9 sept. 2008 à 08:40
Salut,
Il existe des API toutes "prêtes" pour lire et écrire un fichier au format INI.
la différence est qu'un fichier INI ce présentera comme suit
[USER]
ACCES1=123456789
ACCES2=1234567890
....
pourquoi réinventer la roue ("carrée")
Ensuite en .NET, il me semble qu'il existe My.Settings ou Application.Settings pour stocker ce que tu souhaites comme paramètre d'exploitation
johann36
Messages postés130Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017 9 sept. 2008 à 11:34
Bonjour [../auteur/JRIVET/89254.aspx jrivet]
Effectivement dit comme ça sa paraît plus mais encore faudrait-il le savoir.
Pour la conception du fichier je suis d'accord avec toi puisque c'est ce que je fais en ce qui concerne le reste ... .
Inventer la roue carré c'est bien mais encore faudrait-il savoir quelle existe.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 10 sept. 2008 à 14:26
Salut,
Il y a effectivement My.Settings qui remplace les fichiers INI. Pour ajouter/modifier les paramètres, tu vas dans les options du projet et sous l'onglet "paramètres"
Ensuite, pour lire/écrire un fichier, il faut passer par le namespace IO.
Par exemple, pour lire un fichier texte:
IO.File.ReadAllText(Fichier) As String
IO.File.ReadAllLines(Fichier) As String()
Sinon, si tu veux lire/écrire chaque ligne séparément, utilise un StreamReader ou StreamWriter:
Dim reader As New IO.StreamReader(IO.File.OpenRead("Fichier.ini"))
Do Until reader.EndOfStream
Dim Line As String = reader.ReadLine
Loop
reader.Close()
Le framework n'a pas de classe pour gérer les INI (car il ne sont plus utilisé), mais il a tout ce qu'il faut pour gérer les XML ou les simples fichiers texte.
Mais pour gérer les INI, on peut toujours faire appel aux API de Windows...
johann36
Messages postés130Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017 11 sept. 2008 à 20:20
Bonsoir à tous,
Kevin.Ory je me suis inspiré enfin on va plutôt j'ai fait un copier/coller du code qu'il y a à cet emplacement http://plasserre.developpez.com/v4-18.htm sur le site de Plasserre.
Sa fonctionne bien sauf que je ne peux ajouter de paramètres car à chaque fois il m'efface le fichier puis m'inscrit mes nouveaux paramètres.
Dommage ! c'était un bon début mais il y a toujours un problème.
Après j'ai essayé my.setting mais j'ai pas tout compris (comme d'hab !). Je vais essayé ton code, j'espère que cette fois-ci ce sera la bonne.
Je te tiens informé.
Merci d'avance.
Johann36
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 11 sept. 2008 à 22:02
Pour My.Settings :
Menu "Projet" > "Propriétés de xxx"
Onglet "Paramètres"
Là tu pourra ajouter différents paramètre en choisissant leur type. Par exemple String pour une chaine comme dans un fichier INI.
Ensuite, dans ton code, tu peux accéder à tes paramètres (lecture et écriture) en tapant "My.Settings."
Mais tu n'es pas sensé rajouter des paramètres dynamiquement... je crois que c'est possible, mais je ne l'ai jamais fais.
Si tu veux dynamiquement enregistrer des donnés textes, utilise le XML. Par exemple tous les fichiers projet et paramètres d'un projet Visual Studio sont en XML.
Regarde ce que tu as dans System.XML, notamment XmlDocument.
Ou pour le INI, je vais voir, je te redonnerai une réponse...