Szkriptelés

Innen: GeoGebra Manual
Accessories dictionary.png
Ez az oldal a hivatalos használati útmutató nyomtható és PDF-be menthető része. A felépítése miatt az egyszerű felhasználók ezt nem szerkeszthetik. Ha bármilyen hibát találna, kérjük, jelezze felénk.Ugrás a felhasználók által szerkeszthető változathoz.



A szkript parancsok sorozata, amelyek egymás után hajtódnak végre. A GeoGebra két szkriptelési nyelvet támogat - GGBScript-et és Javascript-et. A végrehajtásuk a következő módokon kezdődhet el:

  • egy adott objektumra való kattintással
  • egy adott objektum frissítésével (ha az objektum értéke vagy tulajdonságai változnak)
  • a GGB fájl betöltésével (JavaScript nyelvű szkriptelés esetén)
  • Javascript figyelők által (lásd Referencia:JavaScript)

Ezt a szkriptet a Szkriptelés panelon lehet bevinni a Tulajdonságok párbeszédablak-on.

GGBScript

Lehet olyan szkripteket készíteni, amelyek GeoGebra parancsokat tartalmaznak, olyanokat, amelyeket az Input Bar-ba is be lehet írni. Miután a szkript elkezd végrehajtódni, a parancsok egymás után hajtódnak végre.

Példa:
  • a egy egész-értékű csúszka 1-től 3-ig
  • list1 = {"red", "green", "blue"}
  • az a tulajdonságai között, állítsuk be az "On Update" szkriptet a következőre SetColor[a, Element[list1, a]]
  • a csúszka mozgatásával annak színe változtatható, mivel a red az pirosat, a green az zöldet, a blue az pedig kéket jelent

Magyarázat: Mindig, amikor a csúszkát mozgatják, egy frissítés (update) történik. Tehát, minden mozgatásra meghívódik a szkript, és "a" megkapja a listából valamelyik színt, hogy olyanra változzon az "a" csúszka színe.

Sablon:Help

JavaScript

A JavaScript egy olyan programozási nyelv, amelyek sokféle Internetes technológia alkalmazza. Ellentétben a GeoGebra szkriptekkel, JavaScript-ben a parancsoknak nem kell egy egyszerű sorozatként végrehajtódnia, hanem egy vezérlési szerkezet (if, while, for) is használható. Az általános JavaScript-ről egy jó kis ismertető található a developer.mozilla.org címen. A GeoGebrában, speciális JavaScript metódusok használhatók, amelyek lehetővé teszik, hogy megváltoztassák a konstrukciót. Ezek a metódusok a ggbApplet objektumhoz tartoznak, ami azt is jelenti, hogy meghívhatók a következőképpen: ggbApplet.method_name(parameter,..,parameter). Ezeknek a metódusoknak egy teljes listájáért lásd: Referencia:JavaScript.

Példa:
for(var i =0;i<10;i++) 
   ggbApplet.evalCommand("A_"+i+"=(random()*10,random()*10)");
Ez a szkript 10 pontot hoz létre A0-tól A9-ig véletlenszerű koordinátákkal.

A GeoGebra tartalmazza a saját JavaScript motorját. Amkor egy konstrukciót exportálnak Dynamic Worksheet-ként, ki lehet választani, hogy ezt a motort használják, vagy pedig azt, amelyik a böngészőben található. Ha a JavaScriptet szerkesztjük egy HTML oldalon, akkor a ggbApplet változó nem kap kezdeti értéket, hanem magunknak kell inicializálni például a következő kóddal: ggbApplet=document.applets[0];.

Global JavaScript

A Globális JavaScript részben, ami a Szkriptelés fülön érhető el a Tulajdonságok párbeszédablak-ból, függvényeket (nem változókat) lehet definiálni amelyek elérhetőek lesznek a többi szkriptből. Létrehozható a ggbOnInit() nevű (és szignatúrájú) függvény is, amelyik automatikusan meghívódik, amikor a konstrukciót betöltik. A ggbOnInit függvény arra használható, hogy regisztráljanak néhány figyelőt, amint az alábbi példa mutatja:

Példa:
function onAdd(name){
    alert("A "+name+" nevű objektum hozzáadva.");
}

function ggbOnInit(){
    ggbApplet.registerAddListener("onAdd");
}
Először definiáljuk az onAdd függvényt, ami egy sztringtől függő üzenetet mutat. Ezután, a ggbOnInit függvény használata segítségével, arra utasítottuk a GeoGebrát, hogy hívja meg ezt a függvényt mindig, amikor egy új objektum jön létre. Ha újratöltjük a konstrukcónkat, a ggbOnInit függvény meghívódik, és ettől fogva, amikor a felhasználó egy pontot ad hozzá a konstrukcióhoz, aminek a neve legyen pl. A, a következő üzenet jelenik meg: "A A nevű objektum hozzáadva".

Arra is használhatók a figyelők, hogy olyan történésekre reagáljanak mint például az átnevezés, törlés, vagy a konstrukció teljes törlése. Ezeknek egy teljes listája elérhető a Referencia:JavaScript címen.

Jegyzet: A ggbApplet metódusok használata a globális javascript-ben, de ggbOnInit metóduson kívül nem úgy fog működni, amint szeretnénk, mivel ezek előbb hívódnak meg így, mielőtt a konstrukció betöltődik.
© 2021 International GeoGebra Institute