Differenze tra le versioni di "Scripting"

Da GeoGebra Manual.
Riga 41: Riga 41:
 
L'utilizzo dei listener è utile anche per le azioni del tipo rinomina, elimina e svuota costruzione. L'elenco completo è disponibile in [[Riferimenti:JavaScript]].
 
L'utilizzo dei listener è utile anche per le azioni del tipo rinomina, elimina e svuota costruzione. L'elenco completo è disponibile in [[Riferimenti:JavaScript]].
 
{{Note|L'utilizzo di qualsiasi metodo ggbApplet in JavaScript Globali al di fuori di ggbOnInit non avrà l'effetto sperato, in quanto tali metodi vengono chiamati prima del caricamento della costruzione.}}
 
{{Note|L'utilizzo di qualsiasi metodo ggbApplet in JavaScript Globali al di fuori di ggbOnInit non avrà l'effetto sperato, in quanto tali metodi vengono chiamati prima del caricamento della costruzione.}}
===Registratori di dati USB===
+
===Registratori di dati USB (a partire da GeoGebra v.4.2)===
 
Per utilizzare i dati memorizzati in alcuni modelli di registratori di dati USB Vernier, ad es. ''Go!Motion'' e ''Go!Temp'', è possibile definire un listener per il registratore di dati (logger) utilizzando il metodo registerLoggerListener. Ecco un esempio relativo a questo listener:
 
Per utilizzare i dati memorizzati in alcuni modelli di registratori di dati USB Vernier, ad es. ''Go!Motion'' e ''Go!Temp'', è possibile definire un listener per il registratore di dati (logger) utilizzando il metodo registerLoggerListener. Ecco un esempio relativo a questo listener:
 
<pre>
 
<pre>

Versione delle 15:07, 8 ott 2011


GeoGebra supporta due linguaggi di scripting: GGBScript e Javascript. Uno script è una sequenza di azioni che possono essere attivate da:

  • un clic del mouse o l'aggiornamento di un determinato oggetto
  • il caricamento di un file (in Javascript)
  • i listener Javascript (vedere Riferimenti:JavaScript)

Per definire gli script utilizzare la scheda Scripting della finestra di dialogo Proprietà.

GGBScript

È possibile creare degli script contenenti i comandi di GeoGebra.

Esempio:
  • a è uno slider a valori interi, variabile tra 1 e 3
  • lista1={"rosso","verde","blu"}
  • nella scheda All'aggiornamento delle Proprietà di a, digitare ImpColore[a,Elemento[lista1,a]]
  • muovendo lo slider, questo cambierà colore

JavaScript

JavaScript è un linguaggio di programmazione utilizzato da varie tecnologie basate su Internet. A differenza di GeoGebra Script, in Javascript i comandi non vengono eseguiti in sequenza, ma è possibile programmare un flusso di controllo (if, while, for). Un buon tutorial su JavaScript è disponibile qui: developer.mozilla.org. In GeoGebra, è possibile utilizzare molti metodi speciali JavaScript per modificare la costruzione. Tali metodi appartengono all'oggetto ggbApplet: ciò significa che possono essere chiamati con ggbApplet.nome_metodo(parametro,..,parametro). Per l'elenco completo dei metodi disponibili, vedere Riferimenti:JavaScript.

Esempio:
for(var i =0;i<10;i++) 
   ggbApplet.evalCommand("A_"+i+"=(random()*10,random()*10)");
Questo script crea 10 punti, da A0 ad A9, aventi coordinate casuali.

GeoGebra ha già al suo interno un motore JavaScript. Durante l'esportazione come foglio di lavoro dinamico è possibile scegliere se utilizzare tale motore o quello contenuto nelle applet del browser. Quando si modifica il codice JavaScript in una pagina HTML, la variabile ggbApplet non viene inizializzata. Tale operazione va effettuata manualmente, ad esempio inserendo all'inizio il codice ggbApplet=document.applets[0];.

JavaScript Globali

Nella sezione JavaScript Globali della scheda Scripting della finestra di dialogo Proprietà è possibile definire funzioni o impostare delle assegnazioni che verranno eseguite prima del caricamento della costruzione. È inoltre possibile definire la funzione ggbOnInit(), che viene chiamata automaticamente appena viene caricata la costruzione. La funzione ggbOnInit può essere utilizzata per registrare i listener, come illustrato nell'esempio seguente.

Esempio:
function onAdd(nome){
    alert("L'oggetto "+nome+" è stato aggiunto.");
}

function ggbOnInit(){
    ggbApplet.registerAddListener("onAdd");
}
Nell'esempio è stata definita una funzione onAdd, che, data una stringa, visualizza un messaggio dipendente da tale stringa. In seguito, utilizzando la funzione ggbOnInit, abbiamo detto a GeoGebra di chiamare questa funzione ogniqualvolta viene aggiunto un nuovo oggetto. Al caricamento della costruzione viene chiamata la funzione ggbOnInit, e da quel momento in poi, quando un utente aggiunge ad es. un punto A, viene visualizzato "L'oggetto A è stato aggiunto".

L'utilizzo dei listener è utile anche per le azioni del tipo rinomina, elimina e svuota costruzione. L'elenco completo è disponibile in Riferimenti:JavaScript.

Note: L'utilizzo di qualsiasi metodo ggbApplet in JavaScript Globali al di fuori di ggbOnInit non avrà l'effetto sperato, in quanto tali metodi vengono chiamati prima del caricamento della costruzione.

Registratori di dati USB (a partire da GeoGebra v.4.2)

Per utilizzare i dati memorizzati in alcuni modelli di registratori di dati USB Vernier, ad es. Go!Motion e Go!Temp, è possibile definire un listener per il registratore di dati (logger) utilizzando il metodo registerLoggerListener. Ecco un esempio relativo a questo listener:

function logger(valore) {
   var d = valore * 1;
   ggbApplet.evalCommand("(CopiaOggettoLibero[a],"+d+")");
   ggbApplet.evalCommand("ImpValore[a,a+1]");
}

Questo script presuppone l'esistenza di un numero libero a nella costruzione. Ogni volta che il numero d viene registrato, viene costruito il punto di coordinate (a,d), e il valore di a viene aumentato.

© 2024 International GeoGebra Institute