[..] Question sur les variables. Définition et portée

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

[..] Question sur les variables. Définition et portée

#1

Message par TommyDDR »

Humm, ce post tombe à pique.

(je ne sais pas si je dois exposer mon problème ici mais je ne vois pas d'autre endroits plus approprié)

Voila, je veux créer un UDF (contenant des variables) et l'inclure dans mon fichier principale sans que le fichier principal puisse accèder aux variables de l UDF. J'ai donc utilisé "Dim"
Dim = Création d'une variable (re-définissable) dont la valeur ce retrouve uniquement dans le script en cours (Cette variable ne peut être récupérée dans un Include, ou par un Include).
Malheureusement, je peux afficher le contenu des variables de l UDF avec une msgbox à partir de mon fichier principal.

Une solution ?
► Afficher le texte1.au3
► Afficher le texte2.au3
Merci.
Modifié en dernier par TommyDDR le sam. 16 oct. 2010 12:37, modifié 1 fois.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#2

Message par Jerome »

Humm ????
C'est marquer pourtant xD ????


edit : autant pour moi, j'ai crut lire que tu ne pouvais pas l'afficher ...
Modifié en dernier par Jerome le jeu. 14 oct. 2010 20:47, modifié 1 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#3

Message par TommyDDR »

... au lieu de mettre des "xD" as tu au moins essayé ce qui est marqué (ce que j'ai mis en code) ? -_-' car (chez moi) ca ne marche pas, la variable s'affiche et donc nous avons accès à une variable déclarée en "Dim" dans un autre fichier.

Si les futures réponses pouvaient ne pas contenir de remarque de ce genre mais plutôt un exemple de code fonctionnel, j'en serai reconnaissant.

Merci.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#4

Message par SrBelial »

bon alors en vrai il se passe quelque chose de très simple ....

En fait autoit fait des includes "naïfs" : il voit un include => il recopie tout le contenu du fichier à inclure dans le script ... (il fait juste gaffe dans le cas des include-once à ne pas inclure plusieurs fois le même fichier)

En conséquence, n'importe quelle variable globale définie dans le fichier inclus est considérée exactement de la même manière que si elle était définie dans le fichier complet ... je donne un exemple :

fichier a.au3

Code : Tout sélectionner

Dim $toto = "titi"
Global $tata = "tutu"
Local $tonton = "tete"
fichier b.au3

Code : Tout sélectionner

Dim $bobo = "bibi"
Global $baba = "bubu"
Local $bonbon = "bebe"
fichier c.au3

Code : Tout sélectionner

#include "a.au3"
#include "b.au3"

MsgBox(0, "", "Ceci est mon script principal")
=> lors de l'exécution ou de la compilation, autoit considère que le fichier c.au3 contient en réalité :

Code : Tout sélectionner

Dim $toto = "titi"
Global $tata = "tutu"
Local $tonton = "tete"
Dim $bobo = "bibi"
Global $baba = "bubu"
Local $bonbon = "bebe"

#include "a.au3"
#include "b.au3"

MsgBox(0, "", "Ceci est mon script principal")

vous saisissez ?
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#5

Message par TommyDDR »

D'accord, c'est bien ce que je pensais, c'est à cause de la citation de Tlem que je me posai la question.

N'y a-t-il aucun moyen de faire ce que je veux ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
SrBelial
Niveau 7
Niveau 7
Messages : 335
Enregistré le : jeu. 22 juil. 2010 11:29
Localisation : 81 et 31
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#6

Message par SrBelial »

hé bien de toute façon à partir du moment ou tu inclus ton script, tout son contenu devient accessible ...

alors si tu tiens à tout point à masquer les variables, je te conseille de les cacher ailleurs que dans ton script ...
je me suis encore jamais trouvé confronté à ce problème du coup je vois pas très bien quoi faire ... cherche un compromis
.-SrB-. The One
  • NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
  • OUI ! AutoIt est un langage à part entière !
  • Dans SciTE sélectionnez 1 mot puis F1
  • Don't want english doc ?? go to documentation française !! >>ICI<<
[/size]
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#7

Message par TommyDDR »

D'accord, merci de ton aide.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Tuto] Les variables. Définition et portée.

#8

Message par Tlem »

TommyDDR a écrit :je ne sais pas si je dois le exposer mon problème ici mais je ne vois pas d'autre endroits plus approprié
Je confirme que ce n'est pas le bon endroit.

Le forum tutoriels est là pour présenter des exemples concrets mais pas pour les questions.
Pour les questions c'est la section Autoit v3.

Je déplacerais donc, cette partie dans le forum approprié.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre