Skriptiranje

Izvor: GeoGebra Manual
Skoči na: orijentacija, traži
Accessories dictionary.png
Ova je stranica dio službenog priručnika za printanje i PDF. Iz strukturnih razloga obični korisnici ne mogu uređivati ovu stranicu. Ukoliko pronađete koju grešku na ovoj stranici, molimo da nas kontaktirate.Idite na verziju koju korisnik može uređivati.


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.

Primjer:
  • 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".

Note Savjet: Postoje naredbe koje se koriste samo za skriptiranje. Možete ih naći na stranici Skriptiranje naredbe.


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.

Primjer:
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.

Primjer:
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.

Napomena: Korištenje bilo koje ggbApplet metode u Globalnom JavaScriptu izvan ggbOnInit neće raditi jer se tumači kao pokušaja da se pozove prije nego li je konstrukcija učitana.

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.

Comments

© 2021 International GeoGebra Institute