Agrandir[<facteur>] et Agrandir[<facteur>,<centre>]

Ordibilis shared this problem 4 years ago
Not a Problem

(re)Bonjour à tous,


J'essaie d'utiliser un champ texte non lié à un objet particulier pour zoomer ou dézoomer sans la molette ou l'outil Zoom.

(Voir fichier joint).

Dans F_Zoom, j'utilise Agrandir[%0] : comportement ok, sauf si j'essaie successivement le même facteur d'agrandissement : il n'est pas pris en compte la seconde fois.

Dans F_ZoomCentré, j'utilise Agrandir[%0,(0,0)] : même problème pour deux facteurs identiques successifs.

De plus, si le champ est vide, là où F_Zoom revenait à la vue par défaut, F_ZoomCentré me renvoie une erreur de syntaxe. Erreur compréhensible, mais ne serait-il pas pertinent d'unifier le comportement des deux commandes pour revenir à la vue par défaut (c'est tout de même pratique) ?


Merci d'avance pour vos éclaircissements.


R

Comments (6)

photo
1

si le script se trouve sur un bouton au lieu d'un champ de texte, vous pouvez cliquer plusieures fois sur le bouton et répéter le script zoom plus qu'une fois (fichier joint)

chris

Files: zoom.ggb
photo
1

Votre solution est parfaitement fonctionnelle mais je souhaitais appliquer l'idée à un champ texte libre et un script fonctionnant avec %0 (c'est plus la forme que la finalité qui m'occupe, ce qui n'était pas clair dans mon post initial il est vrai ;) ).

J'ai trouvé l'exemple de la taille du point dans le Wiki, et j'ai tenté de l'utiliser avec Agrandir[].

Et cela fonctionne, mais semble buggé.

photo
1

si vous faites des exercises avec un score ou l'on peut répondre dans un champ de texte le scrore ne sera pas être recalculé non plus si vous si vous cliquez plusieures fois sur la touche 'Enter' de votre clavier. C'est le même comportement des champs de texte. Une fois on aime celà, l'autre fois on ne l'aime pas...

chris

photo
1

Exact ! Je n'y avais jamais prêté attention.

S'il s'agit du comportement normal, prenons-le pour dit. Je n'avais pas lu ce type de comportement sur le Wiki de l'outil, étant resté focalisé sur "Le script est déclenché [...] en pressant la touche Entrée [...]."


Et effectivement, je remarque qu'ajouter ou modifier un caractère, ne fut-ce qu'un espace, provoque une nouvelle exécution du script : la touche Entrée ne fonctionne pour une chaine à un moment i que si une chaine différente a été saisie lors de l'appui précédent.


Merci de m'avoir mis le doigt dessus :)

photo
1

Et pourtant il est possible d'utiliser des champs de texte.

Dans le fichier joint les champs sont liés aux textes vide1 et vide2.

Dans le script j'ai ajouté le commande SoitValuer[vide1,""] (le même pour vide2) qui va vider le champs de nouveau. Alors le facteur de zoom n'est plus visible, mais quand même vous pouvez utiliser le même facteur deux fois sans être obligé d'utiliser des trucs comme ajouter p.e. un espace.

Le monde n'est pas parfait, mais il y a de nombreuses options...

chris

Files: vide.ggb
photo
1

On revient à un champ lié, mais c'est une solution plus transparente et pratique que l'ajout d'un l'espace !

Merci :)

© 2021 International GeoGebra Institute