Skriptiranje
Skriptiranje je niz naredbi koje se izvršavaju jedna po jedna. GeoGebra podržava dva jezika za skriptiranje - GeoGebra skriptiranje i Javascript. Izvršenje se može pokrenuti :
- Klikom na određeni objekt
- pri ažuriranju određenog objekta (kada se vrijednost ili svojstva objekta mijenjaju)
- učitavanjem datoteke (kod JavaScripta)
- Javascript slušatelji (vidi Reference:JavaScript)
Skriptiranje možete postaviti pomoću kartice Skriptiranje Dijaloškog ovira Svojstva.
GeoGebra skriptiranje
Možete napraviti skripte koje sadrže GeoGebra naredbe, jednako kao što ih koristite u traci za unos. Nakon što pokrenete skriptiranje, svaka se komanda izvršava jedna poslije druge.
- a je cjelobrojni klizač s vrijednostima od 1 do 3
lista1 = {"crvena", "zelena", "plava"}
- u svojstvima klizača a, je postavljeno "Pri ažuriranju" skriptiranje
PostaviBoju[a, Element[lista1, a]]
- pomičući klizač mijenjate njegovu boju
Objašnjenje: Svaki put kada pomičemo gumb klizača, događa se ažuriranje. Tako, za svaki pomak poziva se skripta i vrijednost od "a" se koristi za dohvat boje iz zadane liste i tako se mijenja boju klizača "a".
JavaScript
JavaScript je programski jezik kojeg koriste mnoge Internet tehnologije. Za razliku od GeoGebra skriptiranja, u Javascriptu naredbe se ne moraju izvršavati u nizu, ukoliko se koriste naredbe za kontrolu toka (if
, while
, for
). Za opći JavaScript možete pogledati dobar tutorijal na developer.mozilla.org. U GeoGebri, možete koristiti specijalne JavaScript metode koje vam dozvoljavaju izmjenu konstrukcije. Ove se metode odnose na ggbApplet objekt, što znači da ih pozivate ggbApplet.metoda_naziv(parametar,..,parametar)
. Za potpunu listu ovih metoda pogledajte Reference:JavaScript.
for(var i =0;i<10;i++) ggbApplet.evalCommand("A_"+i+"=(random()*10,random()*10)");Ova skripta će načiniti 10 točaka A0 do A9 sa slučajnim koordinatama.
GeoGebra sadrži vlastiti JavaScript mehanizam. Kada načinite izvoz dinamičkog uratka možete izabrati hoćete li koristiti taj mehanizam onaj koji je sadržan u zadanom pregledniku za web stranice. Ako uređujete JavaScript unutar HTML stranice, varijabla ggbApplet neće biti postavljena, morate ju inicirat npr. korištenjem ggbApplet=document.applets[0];
prvo.
Globalni JavaScript
U dijelu Globalni JavaScript kartice Skriptiranje dijaloškog okvira Svojstva možete definirati neke funkcije ili napraviti pridruživanja koji će biti napravljeni prije nego s ekonstrukcija učita. Također možete definirati funkcijuggbOnInit(), Koja se automatski poziva jednom, kad se konstrukcija učita. Funkcija ggbOnInit može se koristiti za registraciju nekih slušatelja, kako je prikazano ispod.
function onAdd(name){ alert("Objekt "+name+" je dodan."); } function ggbOnInit(){ ggbApplet.registerAddListener("onAdd"); }Prvo definiramo funkciju onAdd tako da za zadani tekst (name) pokazuje poruku u zavisnosti o tekstu. Nakon toga, koristeći funkciju ggbOnInit, kažemo GeoGebri da pozove GeoGebru prilikom dodavanja svakog novog objekta. Jednom, kada ponovo učitamo konstrukciju, funkcija ggbOnInit će bit pozvana i od tog trenutka kada korisnik doda npr. točku naziva A, pojavit će se poruka "Objekt A je dodan".
Možete koristiti slušatelje za akcije poput preimenovanja, brisanja objekta i konstrukcije. Potpuna lista je dostupna Reference:JavaScript.
USB Data Logging (From GeoGebra 4.2)
For logging data from some Vernier USB Data Loggers, eg Go!Motion and Go!Temp one can define a logger listener using the registerLoggerListener method. Such listener can look like this:
function logger(value) { var d = value * 1; ggbApplet.evalCommand("(CopyFreeObject[a],"+d+")"); ggbApplet.evalCommand("SetValue[a,a+1]"); }
This script assumes that there is a free number a in the construction. Each time number d is logged, point (a,d) is constructed and a is increased.