Properties
Category
English
Similar Topics
Statistics
Comments
7
Participants
2
Subscribers
26
Votes
1
Views
1319
Share
Not a Problem
Want to read a matrix X to JavaScript have to change Syntax
GGB5 Syntax replaces all search strings (should replace one instance)
GGB5 do not accept GGB6 Syntax
to write javascript matrix back to evalCommand GGB6 cannot handle .toSource method
var A = ggbApplet.getValueString("X"); A = A.replace("X =",""); ggbApplet.evalCommand(A); ggbApplet.evalCommand("Delete(X)"); // GGB6 A = A.replace(/}/g,"]"); A = A.replace(/{/g,"["); // GGB 5 A = A.replace("}","]"); A = A.replace("{","[");
- GeoGebra
- Help
- Partners
-
Contact us
- Feedback & Questions
- This email address is being protected from spambots. You need JavaScript enabled to view it.
- +43 677 6137 2693
© 2023 International GeoGebra Institute
to read a string in JS from GGB 5.0 you must use xx=""+ggbApplet.xxxxxx as workaround for a bug
in GGB 6.0 it seams its works without ""+
But if you want be compatible 5.0 / 6.0 then use with ""+
==================
toSource() is a non standard command and is not suported in chrome (but in firefox)
use JSON.stringify(<obj>) this works in chrome, firefox, GGB 6.0 and GGB 5.0
.
the attachment works in 5.0 and 6.0, chrome and firefox
to read a string in JS from GGB 5.0 you must use xx=""+ggbApplet.xxxxxx as workaround for a bug
in GGB 6.0 it seams its works without ""+
But if you want be compatible 5.0 / 6.0 then use with ""+
==================
toSource() is a non standard command and is not suported in chrome (but in firefox)
use JSON.stringify(<obj>) this works in chrome, firefox, GGB 6.0 and GGB 5.0
.
the attachment works in 5.0 and 6.0, chrome and firefox
Bezüglich runden:
Das bezieht sich nicht auf JS (das hat immer die maximal möglichen Stellen (?)) sondern auf die Darstellung in der Algerbra-View respektive in der Grafik und (unglücklicherweise auch) die Eingabezeile.
Aber auch für den Befehl getValueString() (verwandt mit F3 in Eingabezeile) und vermutlich noch weitere.
Die einfachste Variante besteht darin, dass Du im Menü/Optionen/Roundig den Wert auf 15 Nachkommastellen setzt und anschliessend die Schaltfläche mehrmals klickst.
Oder aber die 15 Nachkommastellen im JS wie folgt erzwingen:
"15d" bedeutet 15 Nachkommastellen (mehr gibt es nicht)
Alternativ könnte man das Zurücksetzen auf die üblichen 2 Nachkommastellen weglassen. Damit wären die Zischenschritte mit genaueren Werten ersichtlich. Später müsste der Benutzer die Anzahl Nachkommastellen im Menü/Einstellungen/Runden manuell auf den gewünschten Wert zurückstellen.
Mit recht hohem Aufwand könnte man (vermutlich) die vom Benutzer gewählte Rundungseinstellung abfragen (mit regex im GGB-XML) und den gefundenen Wert in der dritten Befehlszeile einsetzen.
==================================================
Bezüglich Dokumentation:
Nebst dem extrem kompakten Manual gibt es noch die Tutorials und dieses Forum. Und für mich als wichtigste Auskunftsqelle GGB selbst. Ich erprobe vermutete Verhaltensweisen (aber auch Bugs) in Befehlen, Scripts oder JS in kurzen, sehr spezifischen Wegwerf-Applets aus. Zb für den Befehl setRounding() habe ich das Applet im Anhang geschrieben und damit rumgepröbelt.
Ahh, ja und nochmals Danke für die Mitwirkung. Das Debugging mach ich mit Google Sheets ;-) und arbeite nur die GGB spezifischen Elemente ein. Gibt es außer alert noch was hier?
Ich setz halt d15 zu Beginn und d3 nach dem Durchlauf, das beseitigt erstmal die erkennbaren Probleme. Ich bevorzuge das im Script zu tun, weil bevor ich dem geneigten Anwender das auseinandersetze...
Das ist dabei rausgekommen
https://geogebra.org/m/fP8cnZbb
Vielleicht liest Birigt mit und arbeitet das Example.setRounding in die Doku ein - würde helfen...
bezügich List2JS02.ggb (oben) hat mich Roman Chijner in diesem Thread auf einen Fehler aumerksam gemacht.
Sehr kleine Werte werden in JS ungefragt in floating-point dargestellt. Die Syntax für floating-point unterscheidet sich zwischen JS und GGB. JS verwendet das kleine "e" und ggb verwendet das grosse "E". Dies ist in der neuen Version 03 berücksichtigt.
Ebenfalls ergänzt ist die Erweiterung auf 15 Nachkommastellen sowie eine Unpässlichkeit von GGB5.0 im Befehl getValueString().
Comments have been locked on this page!