Problème avec une variable créée appelée "section"
Bonjour,
j'ai créé un fichier Geogebra il y a 2 mois lié à un quiz interactif sur les sections de tétraèdre.
L'idée est de générer aléatoirement la position de 3 points sur le tétraèdre, puis de permettre aux élèves de construire la section du tétraèdre passant par le plan défini par les trois points.
Afin de suivre les différentes constructions réalisées par l'élève, j'utilise l'onglet Javascript Global, et un code dans la fonction "function ggbOnInit() {}". Typiquement, ce code enregistre tout ce que construit l'élève et le référence dans un liste. Si l'élève construit un polygone, le code le renomme automatiquement "section", pour après comparer ce polygone avec celui qui est correct. Ce code a très bien fonctionné pendant plusieurs semaines.
Aujourd'hui, je rouvre le code, et lorsque je construis un polygone (à la façon que les élèves le feraient), j'obtiens le message d'erreur suivant :
"Commande Renommer:
Argument illégal: Texte "sec(t ì on)"
Or, je n'utilise pas exactement cette écriture, voici celle que j'utilise (en anglais évidemment puisque Javascript) :
ggbApplet.evalCommand("Rename(" + obj + ",section)");
Voici donc mes deux questions :
- comment se fait-il que cela fonctionnait il y a presque 2 mois et que cela ne fonctionne plus maintenant? Y a-t-il eu une mise à jour de Geogebra qui créé une commande "sec()" qui interfère avec le nom que j'ai donné à ma variable?
- Comment faire pour solutionner le problème? Dois-je changer le nom que je donne à ce polygone (qui est faisable, mais vu que j'ai fait le code il y a un moment, va pas falloir que j'oublie une occurrence de cette variable dans tous les recoins du prog, ce qui peut être "tricky"...), ou dois-je simplement attendre une autre mise à jour qui solutionnerait le problème?
D'avance un grand merci pour votre aide! Je ne vous joins pas le fichier qui est un peu (même fort) compliqué à lire, mais je copie-colle ci-dessous le code que j'utilise dans l'onglet Javascript Global, si ça peut vous aider...
function ggbOnInit() {
ggbApplet.evalCommand("L_{obj}:={}");
ggbApplet.evalCommand("nb_{obj}:=Length(L_{obj})");
ggbApplet.registerAddListener("Espion");
}
function Espion(obj) {
a = ggbApplet.getObjectType(obj);
if (' ' + a == " triangle") {
ggbApplet.evalCommand("Delete(section)");
ggbApplet.evalCommand("Rename(" + obj + ",section)");
ggbApplet.evalCommand("SetValue(sectiontest,0)");
ggbApplet.evalCommand("SetValue(L_{obj},nb_{obj}+1,Name(section) )");
ggbApplet.evalCommand("ShowLabel(section,true)");
ggbApplet.evalCommand("SetLayer(section,4)");
}
if (' ' + a == " quadrilateral") {
ggbApplet.evalCommand("Delete(section)");
ggbApplet.evalCommand("Rename(" + obj + ",section)");
ggbApplet.evalCommand("SetValue(sectiontest,0)");
ggbApplet.evalCommand("SetValue(L_{obj},nb_{obj}+1,Name(section) )");
ggbApplet.evalCommand("ShowLabel(section,true)");
ggbApplet.evalCommand("SetLayer(section,4)");
}
if (' ' + a != " quadrilateral" && ' ' + a != " triangle") {
ggbApplet.evalCommand("SetValue(L_{obj},nb_{obj}+1,Name(" + obj + ") )");
ggbApplet.evalCommand("ShowLabel(" + obj + ",true)");
ggbApplet.evalCommand("SetLayer(" + obj + ",4)");
}
}
Please post your file
Ok no problem.
The file is quite complex, mostly because it's not really optimised (I don't know enough of Java to enhance the coding lines...)
Thanks it works!
Can you explain (or direct me to a link that explains) what does "\" do, and why one backslash is between the two double quotation marks, and the other one is not?
Thank you very much!
\" lets you put " inside "..."
Ok....
Last question, then I stop bothering you ^^
Do you have a link, a reference I can read to learn more (and ideally quickly) about Java programming in Geogebra specifically?
Thanks again for your help!
Comments have been locked on this page!