Tutoriel:Scripts AutoValidation
Dans ce qui suit, les scripts sont écrits dans l'onglet Script > Javascript Global
Construction auto-validée En utilisant les outils présents dans la barre d'outils, construire le milieu du segment [AB].
http://www.geogebra.org/material/show/id/928841
"LE SCRIPT" de référence
Script | Commentaire |
---|---|
function ggbOnInit() { | Cette fonction va être exécutée au lancement du fichier GGb |
ggbApplet.debug("ggbOnInit"); | (facultatif, "gérer" les erreurs) |
ggbApplet.registerAddListener("NouvObj"); | C'est le point clé !! Création d'un "mouchard", qui, à chaque création de nouvel objet, va appeler la procédure NouvObj |
} | Fin de ggbOnInit |
function NouvObj (obj) { | Texte de la cellule |
if (obj != "fini") { | Texte de la cellule |
var cmd = "fini = ("+obj+"== cible)"; | Texte de la cellule |
ggbApplet.debug(cmd); | Texte de la cellule |
ggbApplet.evalCommand(cmd); | Texte de la cellule |
fini = ggbApplet.getValueString("fini"); | Texte de la cellule |
if (fini.indexOf("true") > -1) {e | Texte de la cellule |
alert("C'est bien !"); | Texte de la cellule |
} | Texte de la cellule |
} | Texte de la cellule |
} | Texte de la cellule |
==
http://www.geogebra.org/material/show/id/932023 Construction auto-validée bissectrice
function ggbOnInit() { ggbApplet.debug("ggbOnInit"); ggbApplet.registerAddListener("NouvObj"); }
function NouvObj (obj) { if (obj != "fini") { var cmd = "fini = ("+obj+"== cible1 || "+obj+"== cible2 )"; ggbApplet.debug(cmd); ggbApplet.evalCommand(cmd); fini = ggbApplet.getValueString("fini"); if (fini.indexOf("true") > -1) { alert("C'est bien !"); } }
}
=
http://www.geogebra.org/material/show/id/933499 Const. auto-valid Pts équidistants de deux droites sécantes
function ggbOnInit() { ggbApplet.debug("ggbOnInit"); ggbApplet.registerAddListener("NouvObj"); }
function NouvObj (obj) { if (obj != "fini") { type=ggbApplet.getObjectType(obj); if(type=="point"){ var cmd = "fini = (Distance["+obj+",c] ==Distance["+obj+",d] )"} ggbApplet.debug(cmd); ggbApplet.evalCommand(cmd); fini = ggbApplet.getValueString("fini"); if (fini.indexOf("true") > -1) { alert("En voici un !"); } }
}
=
http://www.geogebra.org/material/show/id/940779 Const. auto-valid des 2 bissectrices de 2 droites sécantes
Construction auto-validée des 2 droites bissectrices des angles associés à 2 droites sécantes.
Avec utilisation du SoitValeur (SetValue) GeoGebra implémentée par Michel Iroir
function ggbOnInit() { ggbApplet.debug("ggbOnInit"); ggbApplet.registerAddListener("NouvObj"); }
function NouvObj (obj) { type=ggbApplet.getObjectType(obj); if(type=="line"){ test1 = ggbApplet.getValue("test1"); test2 = ggbApplet.getValue("test2"); cmd1="SetValue[test1,"+obj+"== cible1]"; cmd2="SetValue[test2 ,"+obj+"== cible2]"; if (test1 == 0) {ggbApplet.evalCommand(cmd1);}; if (test2 == 0) {ggbApplet.evalCommand(cmd2);}; } }