Script

De GeoGebra Manual
Aller à : navigation, rechercher


GeoGebra supporte deux langages pour les scripts -- GGBScript et Javascript. Un script est une suite d'actions qui peuvent être déclenchées en :

  • cliquant sur, ou actualisant, un objet particulier ;
  • chargeant le fichier (dans le cas de Javascript) ;
  • utilisant des écouteurs Javascript (voir Référence:JavaScript)

Vous pouvez définir ce script dans la fenêtre d'écriture du dialogue Propriétés.

GGBScript

Vous pouvez créer des scripts constitués de commandes GeoGebra.

Exemple :
  • n est un curseur à valeurs entières entre 1 et 3
  • liste1 = {"rouge", "vert", "bleu"}
  • dans les propriétés de n, définir dans l'onglet "Script"/"Par Actualisation" SoitCouleur[n, liste1(n)]
  • en modifiant la valeur du curseur n vous changez sa couleur.


Note : Utliser # pour introduire un commentaire.


Vous trouverez les commandes dédiées aux scripts dans cette page Commandes Scripts.

JavaScript

JavaScript est un langage de programmation utilisée par beaucoup de technologies Internet. À la différence des scripts GeoGebra, les scripts Javascript n'ont pas à être utilisés comme de simples suites de commandes, mais un contrôle de flux (if, while, for) peut être utilisé. Pour du JavaScript de base, vous pouvez trouver un tutoriel précieux sur developer.mozilla.org. Dans GeoGebra, vous pouvez utiliser des méthodes spéciales JavaScript qui vous permettent de modifier la construction. Ces méthodes appartiennent à l'objet ggbApplet , ce qui signifie que vous devez l'appeler sous la forme ggbApplet.méthode_nom(paramètre,..,paramètre). Pour une liste complète de ces méthodes voir Référence:JavaScript.

Exemple :
for(var i =0;i<10;i++) 
   ggbApplet.evalCommand("A_"+i+"=(random()*10,random()*10)");
Ce script crée 10 points A0 à A9 ayant des coordonnées aléatoires.


Global JavaScript

Dans l'onglet "JavaScript global" de l'onglet "Script" du dialogue Propriétés vous pouvez définir quelques fonctions, ou faire quelques affectations qui doivent être réalisées avant que la construction ne soit chargée. Vous pouvez aussi définir la fonction ggbOnInit(), qui est appelée automatiquement une fois que la construction est chargée. La fonction ggbOnInit() peut être utilisé pour enregistrer des écouteurs, comme vu ci-dessous.:
Exemple:
function Ajout(nom){
    alert("L'objet "+nom+" a été ajouté.");
}
function ggbOnInit(){
    ggbApplet.registerAddListener("Ajout");
}

D'abord nous avons défini la fonction "Ajout" qui retourne un texte dépendant du nom reçu. Ensuite, en utilisant la fonction ggbOnInit

nous avons dit à GeoGebra d'appeler cette fonction "Ajout" chaque fois qu'un nouvel objet est ajouté. Lorsque la construction est chargée de nouveau, la fonction ggbOnInit est appelée, et ensuite, si l'utilisateur ajoute un point nommée par ex. A, un message "L'objet A a été ajouté" va apparaître.

Vous pouvez aussi utiliser des écouteurs pour des actions telles que Renommer, Supprimer. La liste complète est consultable dans Référence:JavaScript.

Note : Toute méthode ggbApplet utilisée dans le JavaScript global à l'extérieur de ggbOnInit ne va pas fonctionner comme désiré car elle va être appelée avant que la construction ne soit chargée.

USB Data Logging

Pour enregistrer des données à partir d'interface USB (Vernier - Go!Motion et Go!Temp) on peut définir un écouteur en utilisant la méthode registerLoggerListener. Un tel écouteur peut ressembler à ceci :

function logger(valeur) {
   var d = valeur * 1;
   ggbApplet.evalCommand("(CopierObjetLibre[a],"+d+")");
   ggbApplet.evalCommand("SoitValeur[a,a+1]");
}

Ce script suppose qu'il y a un nombre libre a dans la construction. Chaque fois que le nombre d est capté, le point (a,d) est construit et a est augmenté de 1.

© 2019 International GeoGebra Institute