Modifier fichier .ini

informatixa Messages postés 21 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 février 2012 - 16 sept. 2008 à 17:56
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 18 sept. 2008 à 00:28
Bonjour,
Voila mon fichier .ini

resolution 1024 768
fullscreen 1
texture 1
view 2
detail 2
distant 1
shadow 1
bloom 0

Je voudrais modifier le "2" de la ligne "view" par un "0" et récupérer les information de la ligne résolution

Merci pour votre futur aide.

10 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
16 sept. 2008 à 18:21
Salut,

Tu crois pas que tu pousses un peu... Si tu t'étais donné la peine de faire un poil de recher tu aurai trouvé :
http://www.vbfrance.com/recherche.aspx?r=fichier+ini

Fait un petit effort car la c'est abusé.
Tu connais le dicton : Il faut pas pousser mèmère dans la nature sous pretexte qu'elle aime la nature...

La prochaine fois fait une recherche avant de poster...
Et n'oubli pas de valider...

Bonne soirée.

SLB
0
informatixa Messages postés 21 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 février 2012
16 sept. 2008 à 18:43
oui mais dans mon ini y a pas

[Appli 1]
variable1=123
variable2=456
variable3="798"

moi ces sa qui a

resolution 1024 768
fullscreen 1
texture 1
view 2
detail 2
distant 1
shadow 1
bloom 0
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
16 sept. 2008 à 19:32
et alors quoi tu n'as qu'a adapter un peu le code c'est pas sorcier  quand même


tu voudrais quandmême pas qu'on le fasse à ta place? hein ?dis une fois ?










Bonjour chez vous !
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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")
   
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
16 sept. 2008 à 22:06
kevin c'est du vb6 ici !

Bonjour chez vous !
0
informatixa Messages postés 21 Date d'inscription mardi 13 février 2007 Statut Membre Dernière intervention 20 février 2012
16 sept. 2008 à 22:42
par se que je ne peut pas vue que je fait un lanceur pour jeu et je ne peut pas modifier le jeu il a été fait comme sa est je peut rien y faire voila
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
17 sept. 2008 à 15:59
"kevin c'est du vb6 ici !  "

Oups, ouais merci Gillardg
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 sept. 2008 à 00:28
il y a évidemment moins plaisant, toujours en copier/coller

juste :
Call ChangeWords("view 2", "view 0", "C:\faux_ini.txt")

en utilisant ce snippet :
http://www.codyx.org/snippet_remplacer-chaine-autre-dans-fichier_187.aspx

et là effectivement, cf premier post, il suffisait de chercher un court instant

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous