Importer valeurs depuis un fichier texte dans des variables VBS - VB/VBA/VBS - Programmation
Marsh Posté le 18-01-2015 à 20:06:15
Bonjour, bonjour !
Merci de respecter les règles du forum en balisant le code, cela incitera un peu plus d'éventuels intervenants à répondre !
Que de confusions ‼ Un fichier texte est composé de lignes de texte, pas de variables !
Status1 = "blabla" : Status1 n'est pas une variable, juste du texte comme blabla …
Dans la fonction, Variable1 = Status1 se traduit littéralement par la variable Variable1 devient égale à la variable Status1 !
Aucun rapport avec le fichier texte …
Sauvegarder par exemple uniquement les valeurs des variables puis
lire en une instruction l'intégralité du fichier texte (ReadAll) puis séparer les valeurs via la fonction Split dans une variable tableau …
_____________
Je suis Charlie
Marsh Posté le 18-01-2015 à 21:09:48
Bonjour Marc,
Merci de me répondre. Désolé de ne pas avoir été suffisament scrupuleux dans la rédaction de ma demande (après plus de 4 heures de prise de tête je tends à perdre certaines de mes capacités mentales... )
J'ai conscience que le texte enregistré n'est que du texte, et c'est précisément ma difficulté.
Citation : Sauvegarder par exemple uniquement les valeurs des variables puis |
C'est ce que j'essaie de faire. Mais je lutte sur la syntaxe, car je ne veux pas qu'a chaque boucle la variable soit écrasée par la nouvelle chaîne de caractère lue.
Par exemple:
Code :
|
A ce stade comment incrémenter mes variables?
Est ce que je peux me permettre de faire: var = Array(var) par exemple (à chaque fois que je veux tester une solution je dois re-simuler un chargement de sauvegarde dans mon script, j'en suis à plusieurs centaines SVP aiguillez moi un peu...)
Code :
|
Encore merci de votre aide.
EDIT: J'ai édité mon message d'origine pour le baliser.
Marsh Posté le 19-01-2015 à 00:09:35
Ok, Autant pour moi.
J'ai trouvé, et c'est tout simple. Je me suis perdu dans mon délire et j'étais obsédé par l'idée que je devais changer de nom de variable de façon dynamique au sein ma boucle (ce qui a l'air chaud , voir impossible). En fait il suffit de poser les conditions de façon classique:
Code :
|
Comme quoi, quand on s'entête sur un problème, on perd en lucidité et on deviens obtus. Un peu de repos et un bon café, et ça rentre dans l'ordre.
Marsh Posté le 19-01-2015 à 09:21:23
Les lignes n°7 à 21 sont inutiles !
La variable tableau spread suffisant à elle seule, spread(0) contenant la première valeur …
________________________________________________________________________
Tous unis, tous Charlie
Marsh Posté le 19-01-2015 à 19:30:09
La fonction Split génère un tableau! Super!
Merci beaucoup Marc L, grâce à vous j'ai appris quelque chose, et mon script est allégé d'une bonne dizaine de lignes.
Marsh Posté le 17-01-2015 à 23:01:16
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:
___________________________________________________________________
_____________________________________________________________________
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