Page 1 sur 2

Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 19 sept. 2021, 19:19
par zakuli
Bonjour,

J'aimerais pouvoir faire une boucle dans super macro et à chaque boucle exécuter un script dont la variable sera celle récupérée du fichier .txt

Est ce possible ? Et si oui comment doit on faire ?

Merci
Cordialement
Zakuli

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 19 sept. 2021, 21:32
par plvh935
Bonsoir,
Oui c'est possible.
Pour faire ta boucle tu peux utiliser le plug-ins "Boucle" (à télécharger sur le site). Tu dois mettre le nombre de boucles.
Entre Boucle et [FIN] tu insères tes commandes, dont la lecture de ton fichier texte.
Pour lire ton fichier texte tu utilises la commande "Lire et Écrire". Trois paramètres : le chemin et le nom de ton fichier texte, la variable qui va recevoir les informations (à déclarer avant) et le numéro de la ligne à lire dans ce fichier. Aide toi au besoin de Super Macro (rubrique Aide dans le menu principal. Et voila.
Bon courage.

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 20 sept. 2021, 17:36
par Onissius
Tu utilise lire/ecrire et tu colle ça dans une variable

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 21 sept. 2021, 15:01
par zakuli
Bonjour et merci de la réponse,
Mais peut on utiliser une variable pour le n° de la ligne que l'on incrémenterait à chaque boucle ?
Cordialement
Zakuli

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 21 sept. 2021, 15:32
par plvh935
Bonjour,
Bien sûr. Tu ma choisis numérique et tu l'incrémente par la commande Calcul/Calcul évolué.
Essaye.

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 21 sept. 2021, 16:58
par zakuli
Super, Merci ça marche.
Nouvelle question, y a-t-il une possibilité de générer un entier aléatoire ?

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 21 sept. 2021, 18:18
par Onissius
Fonction => Hasard => Nombre
Ça va te donner un chiffre, tu place ça dans une variable.
Tu refait un Hasard, que tu place dans une 2nd variable.
Tu fait un calcul évolué <VAR1>=<Var1>+<Var2>.
Tout ça dans une boucle pour avoir x chiffres qui vont te former un nombre.

Plus simple et plus court (0 à 1'000'000) :

Code : Tout sélectionner

Variable	<Hasard>;0;Numerique;
Fonction	<Hasard>;Hasard;Nombre;1000000;
Exemple pour un nombre de 10 chiffres, qui va de 0'000'000'000 à 9'999'999'999 :

Code : Tout sélectionner

Commentaire	Variable pour stocker le chiffre, en Alpha.
Commentaire	Sinon on est obligé de commencer par un chiffre et pas par une valeur nul.
Variable	<Nombre>;;Alpha;
Commentaire	
Commentaire	Variable pour placer le chiffre tiré au hasard
Variable	<Hasard>;0;Numerique;
Commentaire	
Commentaire	Début de boucle, on veux 10 chiffres, donc 10 boucles
Boucle	10
Commentaire	
Commentaire	un Hasard de 0 à 9
Fonction	<Hasard>;Hasard;Nombre;9;
Commentaire	
Commentaire	On prend le chiffre <Hasard> qu'on place dans la variable <Nombre>
Calcul évolué	<Nombre>=<Nombre>+<Hasard>
Commentaire	
Commentaire	Fin de boucle
Boucle	[FIN]
Commentaire	 
Commentaire	Ça, c'est juste pour afficher le nombre qu'on à "construit".
Message	Message;<Nombre>;

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 21 sept. 2021, 18:41
par Onissius
PS : En cas d'urgence, je suis peut êtres disponible sur le Discord (voir ma signature).

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 23 sept. 2021, 22:26
par zakuli
Merci Onissius,
Je teste cette nuit, mais ça a l'air de bien marcher.
C'est vraiment super supermacro, je crois que je n'ai pas fini de faire évoluer mon bot.
Cordialement
Zakuli

Re: Lire une donnée dans un fichier .txt et la mettre dans une variable

Posté : 24 sept. 2021, 08:57
par zakuli
Oui ça marche, merci

Maintenant, je voudrais faire une pause avec un temps aléatoire. Est ce possible ?
J'ai bien tenté de déclarer une variable <Pause> initialisée à 10, dans la boucle de mettre la fonction <Pause>;Hasard;Nombre;9;, puis de d'additionner 10 à la variable <Pause> et enfin de faire Pause <Pause>, mais la pause n'est pas reconnue.