cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 16 sept. 2008 à 20:56
"...oui mais dans mon ini y a pas ..."
Tout simplement parce que ton fichier ini n'est pas un vrai fichier ini. C'est un banal fichier texte.
Un fichier ini est certes lui aussi un banal fichier texte, mais structuré d'une certaine manière avec surtout des fonctions du système d'exploitation capables d'utiliser cette struturation.
Ici tu ne pourra pas utiliser ces fonctions sans formater correctement ton fichier. Ceci dit tu peut quand même utiliser ton fichier texte ainsi en utilisant d'autres fonctions, voire tes propres fonctions.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 16 sept. 2008 à 21:15
Bonsoir,
"Je voudrais modifier le "2" de la ligne "view" par un "0" et récupérer les information de la ligne résolution" Oui et alors? Pourquoi ne le fais-tu pas?
Dim Datas As New Dictionary(Of String, String)
Dim Lines As String() = IO.File.ReadAllLines("C:\Fichier.txt")
For Each Line As String In Lines
Dim Key As String = Line.SubString(0, Line.IndexOf(" "))
Dim Value As String = Line.SubString(Line.IndexOf(" ") + 1)
Datas.Add(Key, Value)
Next
Datas("view") = 0
Dim Res As String = Datas("resolution")
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 sept. 2008 à 20:39
salut,
allez juste pour la rigolade... et la structure imaginaire ^^
<hr size="2" width="100%" />
'Form1.frm, contient juste
une listbox nommée List1
Option Explicit
Private
cFile
As
New Cls_Fake
Private Sub
Form_Load()
' charge
cFile.ReadFile "C:\faux_ini.txt"
'
affiche
Call Display
Me.Show
' message ; on
change
MsgBox "on
va modifier la valeur de VIEW qui est de " & cFile.Item("view").Value
cFile.Item("view").Value = CStr(Timer) '<- valeur aléatoire, à toi de mettre "0"
' on sauve
cFile.WriteFile
' on recharge
juste pour vérifier, mais la collection est toujours chargée
cFile.ReadFile
'
fin
Call Display
MsgBox "ayé :)"
End Sub
Private Sub Display()
List1.Clear
Dim v As Cls_Item
For Each v In cFile.Items
List1.AddItem v.Name & " =
'" & v.Value & "'"
Next v
End Sub
<hr size="2" width="100%" />
'Cls_Fake.cls
Option Explicit
Dim
sPathFile
As String
Public
Items
As
Collection
Public Property Get
Item(
ByVal
vIndex
As Variant
)
As
Cls_Item
Dim v As Cls_Item
For Each v In Me.Items
If v.Name = vIndex Then Set Item = v: Exit For
Next v
Set v = Nothing
End Property
Public Property Let Item(ByVal vIndex As Variant, ByVal vValue As Cls_Item)
Set Me.Items.Item(vIndex) = vValue
End Property
Public Sub ReadFile(Optional ByVal sPath As Variant)
If IsMissing(sPath) Then sPath = sPathFile
sPathFile = sPath
Dim FF As Integer, asLines() As String
FF = FreeFile
Open sPathFile For Input As #FF
asLines = Split(Input(LOF(FF), 1), vbCrLf)
Close #FF
' charge la collection
Set Me.Items = New Collection
Dim i As Integer, p As Integer, v As Cls_Item
For i = 0 To UBound(asLines)
If LenB(asLines(i)) Then
p = InStr(1, asLines(i), " ")
Set v = New Cls_Item
v.Name = Left$(asLines(i), p - 1)
v.Value = Mid$(asLines(i), p + 1)
Me.Items.Add v
Set v = Nothing
End If
Next i
Erase asLines
End Sub
Public Sub WriteFile()
Dim FF As Integer, v As Cls_Item
FF = FreeFile
Open sPathFile For Output As #FF
For Each v In Me.Items
Print #FF, v.Name & " " & v.Value
Next v
Close #FF
Set v = Nothing
End Sub
<hr size="2" width="100%" />
'Cls_Item.cls
Option Explicit
Public
Name
As String
Public
Value
As String
<hr size="2" width="100%" />
<hr size="2" width="100%" />
il y a plus simple, mais moins plaisant :)
quoi que..., quoi de plus simple que copier/coller
++
<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp