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

0/5 (2 avis)

Snippet vu 3 985 fois - Téléchargée 42 fois

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

Ajouter un commentaire Commentaires
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
28 déc. 2004 à 03:03
Une petite remarque en passant...s'il vous plait, par pitié, faîtes un effort sur l'orthographe, j'en peux plus.

valeurcopié -> valeurcopiée
conteur -> compteur
...
même dans les sources c'est très fatiguant...merci et veuillez
pardonner ce petit égarement. Amicalement.
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
8 févr. 2003 à 18:12
as tu essayé de tester tes modules avec + de 1000 paramétres ? Car si c'est rapide je te dis bravo ... mais vu la methode utilisé ... pour ecrire 1000 params il devrais pas y avoir de pbs ... mais pour lire la 1000éme valeur c'est chaud ...

Si tu dépasse pas la seconde (ce qui en progra c'est énorme ...) c'est déjà un code potable mais saches que si tu l'aurais ouvert en mode binaire ... ça aurais fait spéeder le truc 100 fois plus (a l"aise) .

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.