Bonjour,
Je m'inscrit ici pour quémander de l'aide, ça fait plus de 4 heures que j'écume Internet pour trouver une solution à un problème qui me semblait pourtant simple.
j'ai fait un script VBS qui permet à son utilisateur de sauvegarder ses variables, en les exportant dans un fichier texte à son nom. Cela fonctionne bien.
Si les variables de mon script ont pour valeur (Pour l'utilisateur Toto):
Variable1 = "blabla"
Variable2 = 1
Variable3 = 0
Variable4 = 4
J'obtiens donc un fichier texte Toto.txt contenant:
Status1 = "blabla"
Status2 = 1
Status3 = 0
Status4 = 4
Maintenant le problème c'est que quand l'utilisateur Toto reviens, je veux qu'il puisse charger sa sauvegarde, ré-atribuant ces valeurs "Status" aux Variable d'origine.
J'ai essayé d'abord ceci:
___________________________________________________________________
Code :
- Function LoadSave
- val = 0
- Do Until val = 1
- savefile = InputBox("Save Name: ", "Load Save" )
- If IsEmpty(savefile) Then
- val = 1
- Call MainMenu
- exit Function
- ElseIf Len(savefile) = 0 Then
- val = 0
- MsgBox "Save Not Found",48,"Error"
- End If
- If Not fso.FileExists("C:\Script\Saves\" & savefile & ".txt" ) Then
- MsgBox "Save Not Found",48,"Error"
- Else
- Set rea = fso.OpenTextFile("C:\Script\Saves\" & savefile & ".txt",1)
- val = 1
- While Not rea.AtEndOfStream
- rea.readline
- Variable1 = Status1
- Variable2 = Status2
- Variable3 = Status3
- Variable4 = Status4
- Wend
- End If
- Loop
- End Function
|
_____________________________________________________________________
Cela n'a pas fonctionné. Les variables sont nulles. Je peux importer une variable depuis un fichier texte, mais plusieurs non. Je n'ai pas envie d'avoir besoin de 4 fichiers .txt pour sauvegarder 4 variables! (surtout que 4 c'est pour l'exemple, en fait il y en a potentiellement beaucoup plus.
J'ai essayé plusieurs variantes avec une boucle For, sans succès. J'ai ensuite perdu un temps fou à essayer de comprendre les fonction put et get, mais j'ai laissé tomber (ça doit être trop tôt pour moi, je suis encore novice en VBS).
Finalement, j'ai décidé de sauvegarder les valeurs sous une forme adaptable en tableau dans Toto.txt:
"blabla", 1, 0, 4
Puis je tente d'en faire un tableau dans mon script:
import=rea.readAll
SVD = Array(import)
Si je fais une MsgBox sur la variable import, il m'affiche bien: "blabla", 1, 0, 4. Donc
Pourtant, SVD produit invariablement l'erreur "indice en dehors de la plage ' number 1 ' ".
Aidez moi SVP!!!
Message édité par Vyselegend le 18-01-2015 à 21:15:42