Champ texte et curseur : limiter la plage de valeur

Pierre POISSON shared this question 2 years ago
Answered

Bonjour,

Lorsqu'un curseur est défini, parmi les propriétés, nous pouvons définir les limites min et max.

Lorsqu'un champ texte est associé à ce curseur alors il est possible de saisir une valeur en dehors de cette plage. Dans ce cas (si je ne me trompe pas) les limites sont modifiées automatiquement et l'utilisateur peut ainsi dépasser les limites initialement imposées lors de la définition du curseur.

Pour ne pas avoir ce problème, j'ai ajouté un script (par actualisation) au champ texte en écrivant « SoitValeur(c,Si(c>10,10,Si(c<-10,-10,c))) » où c est le nom du curseur.

Est-ce la bonne technique ?

Utilisez-vous une autre méthode ?

Merci

Best Answer
photo

Bonjour,

La modification des frontières est un bogue du GGB. (voir aussi ici, pour moi, la date est trop vague)

Pour ma part, je préfère: SoitValeur(c,Max(-10, Min(10,c))) ....(mais toutes les (3) variantes sont bonnes)

Comments (4)

photo
1

Bonjour,

La modification des frontières est un bogue du GGB. (voir aussi ici, pour moi, la date est trop vague)

Pour ma part, je préfère: SoitValeur(c,Max(-10, Min(10,c))) ....(mais toutes les (3) variantes sont bonnes)

photo
1

Mon curseur n'était pas affiché… et je ne me suis pas rendu compte que la valeur limite (max ou min) du curseur était modifiée malgré tout.

Je n'ai pas trouvé de fonction SoitLimiteMax pour corriger la valeur limite d'un curseur. Ça existe ?

-

Lorsque l'utilisateur saisit un texte à la place d'un nombre, le curseur n'a plus de valeur.

Donc, ma proposition devient

« SoitValeur(c,Max(-10, Min(10,Si(EstDéfini(c),c,0)))) »

ou

« SoitValeur(c,Si(c>10,10,Si(c<-10,-10,Si(EstDéfini(c),c,0))))

photo
1

Quote: Ça existe ?

Max(<intervalle>) et Min(<intervalle>) et leur nidification sont présents. Il n'y a pas de commande "SoitLimiteMax" mais SoitValeur() existe.

La commande suivante fonctionne (ainsi que votre solution existante).

SoitValeur(c,Si(EstDéfini(c),Max(-10, Min(c,10)),0))

Le dernier 0 devrait être ?. Et ce ? doit remplacer le texte saisi. Mais cela n'arrive pas. Peut-être une autre bestiole de ggb.

photo
1

Cette version fonctionne toujours correctement (pour les valeurs numériques)

Malheureusement avec un autre bug dans ggb5.0 et dans ggb6.0: l'arrondi du point décimal semble être désactivé.

pour moi la version actuelle de ggb (0.596) n'est pas utilisable (il y a plus de bugs)

photo
© 2023 International GeoGebra Institute