Différences entre versions de « Script »

De GeoGebra Manual
Aller à : navigation, rechercher
Ligne 4 : Ligne 4 :
 
* cliquant sur, ou actualisant, un  objet particulier ;
 
* cliquant sur, ou actualisant, un  objet particulier ;
 
* chargeant le fichier (dans le cas de Javascript) ;
 
* chargeant le fichier (dans le cas de Javascript) ;
* utilisant des écouteurs Javascript (voir [[Reference: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]].
 
Vous pouvez définir ce script dans la fenêtre d'écriture du [[dialogue Propriétés]].
  
Ligne 16 : Ligne 16 :
  
 
==JavaScript==
 
==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 (<code>if</code>, <code>while</code>, <code>for</code>) peut être utilisé. Pour du JavaScript de base, vous pouvez trouver un tutoriel précieux sur [https://developer.mozilla.org/en/JavaScript/Guide 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 <code>ggbApplet.méthode_nom(paramètre,..,paramètre)</code>. Pour une liste complète  de ces méthodes voir [[Reference: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 (<code>if</code>, <code>while</code>, <code>for</code>) peut être utilisé. Pour du JavaScript de base, vous pouvez trouver un tutoriel précieux sur [https://developer.mozilla.org/en/JavaScript/Guide 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 <code>ggbApplet.méthode_nom(paramètre,..,paramètre)</code>. Pour une liste complète  de ces méthodes voir [[Référence:JavaScript]].
  
 
{{Example|1=
 
{{Example|1=
Ligne 43 : Ligne 43 :
 
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. }}
 
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 [[Reference:JavaScript]].
+
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.}}
 
{{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.}}
  

Version du 9 décembre 2011 à 16:38


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:
  • a est un curseur à valeurs entières entre 1 et 3
  • liste1 = {"rouge", "vert", "bleu"}
  • dans les propriétés de a, définir dans l'onglet "Script"/"Par Actualisation" SoitCouleur[a, Elément[liste1, a]]
  • en modifiant la valeur du curseur vous changez sa couleur.

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.

GeoGebra contient son propre moteur JavaScript. Lorsque vous exportez une feuille de travail vous pouvez choisir s'il doit être utilisé à la place de celui du navigateur. Si vous éditez du JavaScript dans une page HTML , les variables ggbApplet ne sont pas initialisées, vous devez les initialiser, en utilisant d'abord par ex. ggbApplet=document.applets[0];.

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.

© 2024 International GeoGebra Institute