Ecriture ligne dans fichier INI ?

Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 21 janv. 2009 à 15:10
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 21 janv. 2009 à 23:09
bonjour,

je n'ai pas de probleme pour modifier une clé n'importe où dans un fichier avec l'API WritePrivateProfilString
mais par contre je me demande comment faire pour modifier la 1ere ligne dans un fichier INI quand celle ci n'est pas comprise dans une etiquette du style [NOM]
l'api ne peut pas me servir dans ce cas la...

par exemple j'ai un fichier ini avec une 1ere ligne qui ressemble à un titre
peut on utiliser la meme methode qu'avec un simple fichier texte ?
_____________
 (débutant inside)

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 janv. 2009 à 15:22
Salut
Oui, tu peux le gérer comme un fichier texte.
Attention toutefois à ne pas casser la structure si tu dois t'en resservir comme INI.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
21 janv. 2009 à 15:44
1/ ok merci
2/ c'est à dire ? par "structure" tu entends la mise en forme (du contenu) ou bien le format d'encodage du fichier ?

_____________
 (débutant inside)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 janv. 2009 à 20:24
Non, il n'y a pas d'encodage, je pensais juste aux [chapitres] et au format des textes= valeur enregistrée

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
21 janv. 2009 à 23:09
re,


je me suis fait un projet de test avec juste un bouton pour tenter de modifier le contenu d'un fichier ini en remplacant une chaine de caractere par une autre (à partir d'un code plus complexe recuperé via google).

Le remplacement du mot fonctionne bien, seulement une ligne vide est ajouté au debut du nouveau fichier INI et je n'ai pas la moindre idée de pourquoi . pouvez me donner votre avis svp ?  merci d'avance.

voici le code  :


Imports System.IO




Imports




System.Text.RegularExpressions



Imports




System.IO.Path



Public








Class

Form1



Private





Sub

Button1_Click(


ByVal

sender


As

System.Object,


ByVal

e


As

System.EventArgs)


Handles

Button1.Click



Dim

rech


As





String

= Remplace(


"C:\Temp\test.ini"

,


"tata"

,


"TOTO"

)



'cr‚ation d'un flux sp‚cifique pour l'‚criture








Dim

flux2


As





New

System.IO.StreamWriter(


"C:\Temp\test.ini"

,


False

)



'‚criture de la chaŒne modif‚e sur le flux


flux2.Write(rech)


flux2.Close()








End








End





Sub








Public





Function

Remplace(


ByVal

nomfic


As





String

,


ByVal

txtExpReg


As





String

,


ByVal

txtReplace


As





String

)


As





String








'd‚claration des variables contenant les actions sur les expressions r‚guliŠres








Dim

Flux


As





New

System.IO.StreamReader(nomfic)



Dim

tout


As





String








Dim

re


As





New

Regex(txtExpReg)



Dim

renvoi


As





String

=


Nothing








Do


tout = Flux.ReadLine








'la chaine renvoi contient les remplacement effectu‚es dans le flux par la m‚thode Replace() sur l'objet re de la classe Regex


renvoi = renvoi & vbNewLine & re.Replace(tout, txtExpReg, txtReplace)








Loop





While

Flux.Peek <> -1Remplace = renvoi

Flux.Close()



End





FunctionEnd







Class




 
_____________
 (débutant inside)
0
Rejoignez-nous