Pour enregistrer des valeurs, comme une sorte d'ini...

Contenu du snippet

Voila 2 fonctions qui reproduisent permettent d'enregistrer des valeurs...
ca peut servir pour enregistrer des paramètres, sans avoir recours aux apis pour faire de INI ou pour enregistrer dans le registre.
Pour l'instnat, je ne connais pas de bugs connus.

Source / Exemple :


Public Function setval(ByVal fichier As String, ByVal Key As String, ByVal valeur)
Dim valeurinput, valeurnull As String
Dim valeurcopié As String
modif = 0
conteur = 0
conteur2 = 0
    'On Error GoTo suite1
On Error GoTo fin2:
Open fichier For Input As #1

Do
        conteur = conteur + 1
        Input #1, valeurinput
        If InStr(1, valeurinput, "[" & Key & "]") > 0 Then
        Open fichier For Input As #2
        Open fichier & "2" For Output As #3
        
            Do Until conteur2 = conteur - 1
            conteur2 = conteur2 + 1
            Input #2, valeurcopié
            Print #3, valeurcopié
            Loop

        Input #2, valeurnull
        Print #3, "[" & Key & "]=" & valeur
        modif = 1

On Error GoTo fin
            Do
            Input #2, valeurcopié
            Print #3, valeurcopié
            Loop Until EOF(2)
fin:
        Close #3
        Close #2
        End If
        
Loop Until EOF(1)
fin2:
Close #1

If modif = 0 Then

Open fichier For Append As #3
Print #3, "[" & Key & "]=" & valeur
Close #3
Else
'renome le fichier
Kill fichier
Open fichier & "2" For Input As #1
Open fichier For Output As #2
Do
Input #1, valeurcopié
Print #2, valeurcopié
Loop Until EOF(1)
Close #2
Close #1
Kill fichier & "2"

End If
Exit Function
'suite1:
'Open fichier For Output As #1
'Print #1, "[" & key & "]=" & valeur
'Close #1

End Function
Public Function getval(ByVal fichier As String, ByVal Key As String) As String
On Error GoTo err
GoTo suite
err:
MsgBox "le fichier demandé n'existe pas"
Exit Function

suite:
Open fichier For Input As #1

Do
        
        Input #1, valeurinput
        If InStr(1, valeurinput, "[" & Key & "]=") > 0 Then getval = Mid$(valeurinput, InStr(1, valeurinput, "[" & Key & "]=") + Len(Key) + 3)
        
       Loop Until EOF(1)
Close #1

Conclusion :


Merci de poster dse commentaires...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.