Sauvegarde variable

Résolu
Signaler
Messages postés
24
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
5 novembre 2011
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
bonjour,

voila mon problème.....

dans un prog j'ai un tableau défini de la sorte

Dim test(255) As Boolean

il faut qu'à chaque fois qu'une valeur de ce tableau change, un fichier texte soit modifié

j'ai donc procédé comme suit :

Open App.Path + "\temp.txt" For Output As #3
For a = 0 To 255
Print #3, a & " " & test(a)
Next a
Close #3

ce qui me donne le résultat suivant dans mon fichier texte

12 Faux
13 Faux
14 Vrai
15 Faux
16 Faux

Ce qui me convient parfaitement, puisque ce fichier doit pouvoir être lu par un editeur de texte ..

Par contre, à l'ouverture de mon prog, il faut que celui-ci récupère les valeurs pour les remettre dans mon tableau. il faut donc aller relire ce fichier texte.

Comment faire ?
Est-ce la bonne solution que j'ai choisi pour sauvegarder mes variables ( en cas de plantage du prog par exemple). Je pensais aussi écrire dans la base de registre, mais dans ce cas, on ne pourrait plus lire les infos depuis NOTEPAD par exemple.

Merci d'avance

Alain

(pour info... pour ceux qui répondent régulièrement à  mes questions, je fais un prog de supervision des alarmes pour une centrale Aritech de type MASTER.... une fois terminé, je mettrais la sources sur vbfrance même si cela peut interresser très peu de gens vu la spécificité)

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
Oui, du moment que tu sauvegardes exactement les données, tu pourras les relire.
Ta méthode de sauvegarde définit comment tu devras les relire, c'est tout.
Dans ton cas, à la lecture de "32 Vrai", il te suffit d'isoler le 32 et le Vrai, puis de faire l'éventuelle convertion qui va bien pour retranformer le texte "Vrai" en True logique, un simple If ou IIf suffira.
Ta méthode fonctionnera, elle n'est peut être pas la plus rapide, mais elle est correcte.
Dans la mesure où ces données doivent pouvoir être interprétées visuellement, il vaut mieux conserver ta solution.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
PS : Pour isoler 32 et Vrai, une simple méthode avec Instr ou un Split fera l'affaire
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
La réponse est sur le site, suffit de chercher "lire fichier" parmi les Codes en excluant .Net

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
24
Date d'inscription
dimanche 13 juillet 2003
Statut
Membre
Dernière intervention
5 novembre 2011

oui merci Jack, mais cela ne répond pas à ma seconde question... ais-je choisi la bonne solution pour sauvegarder des variables ?
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Bonjour,
la solution que tu as choisie n'est ni meilleure ni moins bonne.
En ce qui concerne la "récupération" par lecture du fichier, Jack t'a répondu.

J'ajoute simlplement que, personnellement, je ne stockerais pas des "vrais" et des "faux", mais procèderais ainsi (exemple à comprendre facilement)


Private Sub Command1_Click()
  Open "d:\essai.txt" For Output As #1
    Print #1, -1
    Print #1, 0
  Close #1
  Open "d:\essai.txt" For Input As #1
    Input #1, quoi
    MsgBox quoi = True
    Input #1, quoi
    MsgBox quoi = True
  Close #1
End Sub