Remplacer une valeur dans un fichier txt n'importe ou dans un fichier txt.
cs_foungo
Messages postés14Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention27 janvier 2010
-
9 mai 2009 à 23:04
cs_foungo
Messages postés14Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention27 janvier 2010
-
10 mai 2009 à 01:51
Bonjour à vous tous qui sont des Dieux du vb ^^.
Bon voi ci le problème:
dans mon fichier texte:
[01](une valeur)
->
[01]20
[02]10
[03]1
[nn]xxx
J'ai crée une function qui me renvoie la valeur de n'importe que ligne:
Function lire()
On Error Resume Next
Open "C:\total.ini" For Input As #1
i = 0
Do While Not EOF(1)
Line Input #1, texte
i = i + 1
If i = 3 Then '3 la 3ème ligne
Text1.Text = Mid$(texte, 5, Len(texte))
End If
Loop
Close 1#
End Function
Donc le text1.texte me renvoi la valeur 1 de ma 3ème ligne.
Et voici le problème, je n'arrive pas à écrire une funtion pour remplacer cette valeur 1 par une nouvelle (un compteur qui s'incrémente).
J'ai essayer d'utiliser le même principe que la function lire, mais je n'arrive pas. Merci de votre aide.
Ca peut toujours servir.
Foungo
A voir également:
Remplacer une valeur dans un fichier txt n'importe ou dans un fichier txt.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 9 mai 2009 à 23:30
Salut,
J'ai pas du tout compris ton code, mais si tu veux écrire dans un fichier ini sans te cassé la tête a passé par des fonctions utilisant des boucles etc...
Il y a 2 API qui existent pour cela :
Salut,
J'ai pas du tout compris ton code, mais si tu veux écrire dans un fichier ini sans te cassé la tête a passé par des fonctions utilisant des boucles etc...
Il y a 2 API qui existent pour cela : GetPrivateProfileString et WritePrivateProfileString
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
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
Private Sub WriteIniValue(Section As String, Key As String, Value As String, File As String)
WritePrivateProfileString Section, Key, Value, File
End Sub
Private Function ReadIniValue(Section As String, Key As String, File As String, Optional DefaultValue As String) As String
Dim Ret As String, NC As Long
Ret = String(255, 0)
NC = GetPrivateProfileString(Section, Key, DefaultValue, Ret, 255, File)
If NC <> 0 Then Ret = Left$(Ret, NC)
ReadIniValue = Ret
End Function
Voila cela évitera de bien te casser la tête pour pas grand chose je pense
'App.Title (titre)= [01] de nomtre fichier ini
'v_nb(i) = valeur
'v_val(j) = reponse ou résultat
'v_adresse = chemin du fichier txt "c:\total.ini"
ce qui donne:
[01]
nb1=20
[02]
nb2=1
si on veut remplacer 20 et mettre 10:
'WritePrivateProfileString "01" , v_nb(1), 10, v_adresse"