LE ISTRUZIONI GENERICHE
LE variabili
Fondamentali in programmazione con qualsiasi linguaggio di programmazione, le variabili sono come delle scatole dove possiamo inserire dei valori o dei testi.
Le variabili, sono chiamate "variabili", proprio perchè il loro contenuto può anche cambiare durante l'esecuzione del programma.
Per inserire dei valori in una variabili si usa mettere il nome di variabile e poi il contenuto:
alfa=10
Nel caso sopra, la variabile alfa è una variabile numerica, perchè al suo interno contiene il numero 10.
alfa="ciao"
nel caso sopa, la variabile alfa è una variabile alfanumerica, perchè contiene lettere ma può contenere anche numeri, e il suo contenuto va messo tra virgolette.
Nelle variabili possiamo inserire anche delle espressioni matematiche, ed in quel caso, come quello riprodotto qui sotto, la variabile conterrà il risultato dell'espressione:
alfa=10+3*(2/5)
Le variabili, sono chiamate "variabili", proprio perchè il loro contenuto può anche cambiare durante l'esecuzione del programma.
Per inserire dei valori in una variabili si usa mettere il nome di variabile e poi il contenuto:
alfa=10
Nel caso sopra, la variabile alfa è una variabile numerica, perchè al suo interno contiene il numero 10.
alfa="ciao"
nel caso sopa, la variabile alfa è una variabile alfanumerica, perchè contiene lettere ma può contenere anche numeri, e il suo contenuto va messo tra virgolette.
Nelle variabili possiamo inserire anche delle espressioni matematiche, ed in quel caso, come quello riprodotto qui sotto, la variabile conterrà il risultato dell'espressione:
alfa=10+3*(2/5)
le matrici (array)
Le matrici (dette anche Array) sono un po' come le variabili, ovvero sono contenitori di dati, ma possono contenere più dati e soprattutto, tutti i dati avranno lo stesso nome. Ecco un esempio di matrice numerica:
alfa=[12,45,3,123,49]
Nell'esempio sopra, abbiamo creato la matrice alfa che conterrà un insieme di numeri. Se chiedo di visualizzare il contenuto della matrice alfa, mi verrà dato l'elenco di tutti i numeri, Se invece voglio visualizzare solo uno degli elementi contenuti, ad esempio voglio che mi mostri il numero 123, dovrò dire alla matrice in quale posizione si trova il numero che ho chiesto, perchè ogni elemento della matrice è numerato partendo da 0, pertanto il numero 123 si trova alla posizione 3, e per chiedere quel determinato dato dovrò indicarlo così:
alfa[3]
alfa=[12,45,3,123,49]
Nell'esempio sopra, abbiamo creato la matrice alfa che conterrà un insieme di numeri. Se chiedo di visualizzare il contenuto della matrice alfa, mi verrà dato l'elenco di tutti i numeri, Se invece voglio visualizzare solo uno degli elementi contenuti, ad esempio voglio che mi mostri il numero 123, dovrò dire alla matrice in quale posizione si trova il numero che ho chiesto, perchè ogni elemento della matrice è numerato partendo da 0, pertanto il numero 123 si trova alla posizione 3, e per chiedere quel determinato dato dovrò indicarlo così:
alfa[3]
i componenti
BLOCCHI
I blocchi contengono le istruzioni da eseguire. Il primo blocco che l'app eseguirà dovrà chiamarsi obbligatoriamente inizio.
I blocchi possono ricevere delle informazioni che saranno messe tra parentesi, altrimenti le parentesi dovranno essere vuote.
inizio.blocco ()
oppure
inizio.blocco(nome_variabile,nome,variabile,ecc...)
Ogni blocco ha un fine blocco:
fine.blocco
I blocchi possono ricevere delle informazioni che saranno messe tra parentesi, altrimenti le parentesi dovranno essere vuote.
inizio.blocco ()
oppure
inizio.blocco(nome_variabile,nome,variabile,ecc...)
Ogni blocco ha un fine blocco:
fine.blocco
SCHERMO
Lo schermo è come una pellicola su cui si possono attaccare i vari componenti.
Per creare uno schermo, si scrive il nome dello schermo, quindi i usa crea.schermo e si mettono le opzioni che impostano lo schermo:
nome_componente=crea.schermo(opzioni)
Quando lo schermo viene creato non sarà visibile fino a che non useremo aggungi.schermo indicando il nome dello schermo da aggiungere:
aggiungi.schermo(nome_componente)
Le opzioni sono che si possono usare quando si crea lo schermo sono:
lineare,verticale
lineare,orizzontale
lineare,orizzontale,pienox
lineare,orizzontale,pienoy
lineare,orizzontale,pienoxy
lineare,verticale,pienox
lineare,verticale,pienoy
lineare,verticale,pienoxy
lineare,centrale,pienox
lineare,centrale,pienoy
lineare,centrale,pienoxy
E' possibile impostare il colore di sfondo con:
nome_schermo.imposta.colore.sfondo(nome_colore)
Per creare uno schermo, si scrive il nome dello schermo, quindi i usa crea.schermo e si mettono le opzioni che impostano lo schermo:
nome_componente=crea.schermo(opzioni)
Quando lo schermo viene creato non sarà visibile fino a che non useremo aggungi.schermo indicando il nome dello schermo da aggiungere:
aggiungi.schermo(nome_componente)
Le opzioni sono che si possono usare quando si crea lo schermo sono:
lineare,verticale
lineare,orizzontale
lineare,orizzontale,pienox
lineare,orizzontale,pienoy
lineare,orizzontale,pienoxy
lineare,verticale,pienox
lineare,verticale,pienoy
lineare,verticale,pienoxy
lineare,centrale,pienox
lineare,centrale,pienoy
lineare,centrale,pienoxy
E' possibile impostare il colore di sfondo con:
nome_schermo.imposta.colore.sfondo(nome_colore)
PULSANTE
Il pulsante mostra appunto un pulsante sullo schermo che può essere premuto.
Per creare un pulsante si usa:
nome_componente=crea.pulsante("testo da scrivere")
Quando viene creato un pulsante non sarà visibile fino a che non verrà aggiunto ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.pulsante(nome_componente)
Nell'istruzione crea.pulsante si possono inserire altre opzioni:
nome_componente=crea.pulsante("testo da scrivere",larghezza,altezza,alluminio)
Per conoscere le coordinate della posizione sullo schermo di un pulsante si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto in un pulsante si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di un pulsante si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di un pulsante si usa:
nome_variabile=nome_componente.prendi.larghezza
Per far eseguire un blocco di istruzioni, quando viene premuto sul pulsante si usa:
nome_componente.se.premuto(nome_blocco)
Per impostare i margini di un pulsante rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di un pulsante si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per il testo contenuto dentro un pulsante si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo di un pulsante si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un pulsante si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere un pulsante sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
Per creare un pulsante si usa:
nome_componente=crea.pulsante("testo da scrivere")
Quando viene creato un pulsante non sarà visibile fino a che non verrà aggiunto ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.pulsante(nome_componente)
Nell'istruzione crea.pulsante si possono inserire altre opzioni:
nome_componente=crea.pulsante("testo da scrivere",larghezza,altezza,alluminio)
Per conoscere le coordinate della posizione sullo schermo di un pulsante si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto in un pulsante si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di un pulsante si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di un pulsante si usa:
nome_variabile=nome_componente.prendi.larghezza
Per far eseguire un blocco di istruzioni, quando viene premuto sul pulsante si usa:
nome_componente.se.premuto(nome_blocco)
Per impostare i margini di un pulsante rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di un pulsante si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per il testo contenuto dentro un pulsante si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo di un pulsante si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un pulsante si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere un pulsante sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
TESTO
Il componente TESTO permette di inserire del testo nella nostra app.
Per creare un testo si usa:
nome_componente=crea.testo("testo da scrivere")
Quando viene creato un testo non sarà visibile fino a che non verrà aggiunto ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.testo(nome_componente)
Nell'istruzione crea.testo si possono inserire altre opzioni:
nome_componente=crea.testo("testo da scrivere",larghezza,altezza)
Per conoscere le coordinate della posizione sullo schermo di un testo si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto all'interno si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di un testo si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di un testo si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di un testo rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di un testo si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per modificare il testo contenuto dentro il componente si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un componente testo si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere un testo sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
Per creare un testo si usa:
nome_componente=crea.testo("testo da scrivere")
Quando viene creato un testo non sarà visibile fino a che non verrà aggiunto ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.testo(nome_componente)
Nell'istruzione crea.testo si possono inserire altre opzioni:
nome_componente=crea.testo("testo da scrivere",larghezza,altezza)
Per conoscere le coordinate della posizione sullo schermo di un testo si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto all'interno si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di un testo si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di un testo si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di un testo rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di un testo si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per modificare il testo contenuto dentro il componente si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un componente testo si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere un testo sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
CASELLA DI TESTO
Il componente CASELLA DI TESTO permette di inserire del testo nella nostra app.
Per creare una casella di testo si usa:
nome_componente=crea.casella.di.testo("testo da scrivere")
Quando viene creata una casella di testo non sarà visibile fino a che non verrà aggiunta ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.casella.di.testo(nome_componente)
Nell'istruzione crea.casella.di.testo si possono inserire altre opzioni:
nome_componente=crea.casella.di.testo("testo da scrivere",larghezza,altezza)
Per conoscere le coordinate della posizione sullo schermo di una casella di testo si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto all'interno si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di una casella.di.testo si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di una casella.di.testo si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di una casella.di.testo rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di una casella.di.testo si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per modificare il testo contenuto dentro il componente si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un componente casella.di.testo si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere una casella.di.testo sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
Per creare una casella di testo si usa:
nome_componente=crea.casella.di.testo("testo da scrivere")
Quando viene creata una casella di testo non sarà visibile fino a che non verrà aggiunta ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.casella.di.testo(nome_componente)
Nell'istruzione crea.casella.di.testo si possono inserire altre opzioni:
nome_componente=crea.casella.di.testo("testo da scrivere",larghezza,altezza)
Per conoscere le coordinate della posizione sullo schermo di una casella di testo si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere il testo contenuto all'interno si usa:
nome_variabile=nome_componente.prendi.testo
Per conoscere le dimensioni dell'altezza di una casella.di.testo si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di una casella.di.testo si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di una casella.di.testo rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di una casella.di.testo si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per modificare il testo contenuto dentro il componente si usa:
nome_componente.imposta.testo("testo da scrivere")
Per impostare il colore del testo si usa:
nome_componente.imposta.colore.testo(nome_colore)
Per impostare il colore di sfondo di un componente casella.di.testo si usa:
nome_componente.imposta.colore.sfondo(nome_colore)
Per mostrare o nascondere una casella.di.testo sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
immagini
Il componente IMMAGINE permette di inserire una disegno o una foto/immagine nell'app. Se si vuole visualizzare una foto/immagine però bisogna copiare la foto/disegno nell'app Droidscript come meglio spiegato nel Tutorial 3 infondo alla pagina.
Per creare una immagine si usa:
nome_componente=crea.immagine(vuoto,0.5,0.5)
se si vuole creare un'immagine vuota, oppure:
nome_componente=crea.immagine("Img/foto.jpg",0.5,0.5)
se si vuole visualizzare una immagine denominata foto.jpg che abbiamo inserito nell'app Droidscript.
Quando viene creata una immagine non sarà visibile fino a che non verrà aggiunta ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.immagine(nome_componente)
Per conoscere le coordinate della posizione sullo schermo di una immagine si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere le dimensioni dell'altezza di una immagine si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di una immagine si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di una immagine rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di una immagine si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per mostrare o nascondere una immagine sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
Per creare una immagine si usa:
nome_componente=crea.immagine(vuoto,0.5,0.5)
se si vuole creare un'immagine vuota, oppure:
nome_componente=crea.immagine("Img/foto.jpg",0.5,0.5)
se si vuole visualizzare una immagine denominata foto.jpg che abbiamo inserito nell'app Droidscript.
Quando viene creata una immagine non sarà visibile fino a che non verrà aggiunta ad uno schermo. Ecco l'istruzione:
nome_schermo.aggiungi.immagine(nome_componente)
Per conoscere le coordinate della posizione sullo schermo di una immagine si usa:
nome_variabile=nome_componente.prendi.posizione
Per conoscere le dimensioni dell'altezza di una immagine si usa:
nome_variabile=nome_componente.prendi.altezza
Per conoscere le dimensioni della larghezza di una immagine si usa:
nome_variabile=nome_componente.prendi.larghezza
Per impostare i margini di una immagine rispetto allo schermo si usa:
nome_componente.imposta.margini(valore_margine_sinistro,valore_margine_alto,valore_margine_destro,valore_margine_basso)
Per impostare le dimensioni della larghezza e altezza di una immagine si usa:
nome_componente.imposta.dimensioni(larghezza,altezza)
Per mostrare o nascondere una immagine sullo schermo, si usa la seguente istruzione con le opzioni mostra o nascondi:
nome_componente.imposta.visibilità(opzione)
SCROLLING
Lo scrolling è quell'azione che permette al testo ed agli eventuali componenti di scomparire oltre le dimensioni dello schermo e ricomparire facendo appunto lo scrolling con le dita.
Per permettere al testo o eventuali componenti di "scrollare", cioè di scorrere, bisogna prima di tutto creare uno schermo principale, quindi collegare allo schermo principale uno scrolling, infine collegare allo scrolling un altro schermo, che diventerà così lui quello principale., e a cui dovremo poi attaccare gli eventuali componenti o altri schermi da far scrollare.
Per creare un componente di scrolling si usa:
nome_componente=crea.scrollabile(1,1)
Per aggiungere il componente allo schermo, si usa:
nome_schermo.aggiungi.scrollabile(nome_componente)
Per permettere al testo o eventuali componenti di "scrollare", cioè di scorrere, bisogna prima di tutto creare uno schermo principale, quindi collegare allo schermo principale uno scrolling, infine collegare allo scrolling un altro schermo, che diventerà così lui quello principale., e a cui dovremo poi attaccare gli eventuali componenti o altri schermi da far scrollare.
Per creare un componente di scrolling si usa:
nome_componente=crea.scrollabile(1,1)
Per aggiungere il componente allo schermo, si usa:
nome_schermo.aggiungi.scrollabile(nome_componente)
USB
Lo smartphone può comunicare con l'esterno con il Bluetooth, con il WiFi, l'NFC ma anche attraverso la porta micro USB. Per farlo si usa il componente USB.
Per creare il componente USB si usa:
nome_componente=crea.usb()
Per verificare se arrivano dei dati dalla porta USB e fargli eseguire così un blocco idi istruzioni, si usa:
nome_componente.riceve.usb (nome_blocco)
Il blocco che verrà chiamato, potrà usare una variabile messa tra le parentesi del blocco, che conterrà le stringhe ricevute tramite USB.
Per inviare dati alla porta USB si usa la seguente istruzione:
nome_componente.scrivi.usb ("testo da inviare")
Per creare il componente USB si usa:
nome_componente=crea.usb()
Per verificare se arrivano dei dati dalla porta USB e fargli eseguire così un blocco idi istruzioni, si usa:
nome_componente.riceve.usb (nome_blocco)
Il blocco che verrà chiamato, potrà usare una variabile messa tra le parentesi del blocco, che conterrà le stringhe ricevute tramite USB.
Per inviare dati alla porta USB si usa la seguente istruzione:
nome_componente.scrivi.usb ("testo da inviare")
DATABASE ONLINE
Per database online si intendono i database creati con Firebase, raggiungibile all'indirizzo https://firebase.google.com/
Per poter gestire un database online con Lungo, prima di tutto bisogna creare il database direttamente su Firebase, e solo dopo si potrà gestirlo con Lungo.
Ipotizziamo di avere un database raggiungibile all'indirizzo https://provola-15590.firebaseio.com/ in cui c'è questa struttura:
provola-15590
-Rossi Mario
----indirizzo: via Roma
----luogo: Torino
-Verdi Giorgio
----indirizzo: via Genova
----luogo: Lecce
Nel caso sopra, il database "provola" ha degli elementi che si chiamano padre e che contengono "Rossi Mario" e "Verdi Giorgio", e altri dati che si chiamano figli, che si chiamano indirizzo e luogo.
Per connetterci, da Lungo, al database, dobbiamo prima di tutto inserire la seguente istruzione, prima di qualsiasi istruzione di Lungo.
inizializza.database
L'istruzione qui sopra, va scritta anche prima del blocco.inizio, perchè è un'istruzione che ci permetterà di usare le istruzioni per dialogare con i database.
Ora che abbiamo inserito questa istruzione, nel blocco.inizio, possiamo inserire la seguente istruzione che ci permette di collegarci al nostro database:
nome_componente=usa.database ("https://provola-15590.firebaseio.com/")
Ora che abbiamo la connessione con il nostro database, possiamo inserire nuovi dati nel database semplicemente scrivendo così:
nome_componente.aggiungi.al.padre("nome padre").i.figli({figlio1:"dato da inserire",figlio2:"dato da inserire"})
ad esempio:
archivio.aggiungi.al.padre("Rossi Mario").i.figli({indirizzo:"via roma",luogo:"Torino"})
Per eliminare un padre (e automaticamente anche tutti i suoi figli) dal database, si scrive l'istruzione:
nome_componente.elimina.padre("valore da eliminare").tutto
Per poter leggere i dati del database, prima di tutto è necessario scrivere la seguente istruzione che sposterà il programma ad un altro blocco di istruzioni, dove poi potremo elaborare i dati:
nome_componente.leggi.database(valori,nome_blocco)
Il blocco di istruzioni che viene chiamato, riceverà tutti i dati del database che saranno quindi inseriti in una variabile che decideremo noi.
Esempio in cui decido di inserire i dati ricevuti dal database nella variabile "provola":
inizio.blocco leggo_dati (provola)
fine.blocco
che schematizzato in termine manualistico sarebbe:
inizio.blocco nome_blocco (variabile_che_riceve_dati)
fine.blocco
Ora che ho i dati nel blocco, posso fare diverse cose.
Posso contare tutti gli elementi padre presenti nel database inserendoli in una variabile, ma attenzione che i dati devono essere presi, non dal database, ma dalla variabile che ha acquisito i dati del database. Per l'esempio sopra, i dati andrebbero presi dalla variabile provola:
nome_variabile=variabile_che_riceve_dati.conta.padri
E' anche possibile contare i figli presenti in un determinato padre:
nome_variabile=variabile_che_riceve_dati.padre("valore del padre").conta.figli
E' possibile anche verificare se un determinato padre è presente nel database:
nome_variabile=variabile_che_riceve_dati.verifica.padre("valore del padre")
in questo caso, nome_variabile potrà risultare contenente il valore True o False, che rispettivamente significano Vero e Falso.
Per poter estrapolare i dati dal database, in modo da leggerli singolarmente, bisogna fare un passaggio in più, ovvero all'interno del blocco istruzioni che è stato chiamato dall'istruzione leggi.database, va inserita la seguente istruzione che chiamerà un'altro blocco istruzioni, dove potremo esaminare i dati:
nome_che_riceve_dati.recupera.database (nome_blocco)
Questo nuovo blocco di istruzioni, riceverà tutti i dati del database che saranno inseriti in una variabile di cui il nome lo decideremo noi, e che potrà essere usata per leggere i dati:
inizio.blocco nome_blocco (nome_variabile_che_riceve_dati)
x=nome_variabile_che_riceve_dati.valori.database
mostra.messaggio (x.nome_figlio)
fine.blocco
Per poter gestire un database online con Lungo, prima di tutto bisogna creare il database direttamente su Firebase, e solo dopo si potrà gestirlo con Lungo.
Ipotizziamo di avere un database raggiungibile all'indirizzo https://provola-15590.firebaseio.com/ in cui c'è questa struttura:
provola-15590
-Rossi Mario
----indirizzo: via Roma
----luogo: Torino
-Verdi Giorgio
----indirizzo: via Genova
----luogo: Lecce
Nel caso sopra, il database "provola" ha degli elementi che si chiamano padre e che contengono "Rossi Mario" e "Verdi Giorgio", e altri dati che si chiamano figli, che si chiamano indirizzo e luogo.
Per connetterci, da Lungo, al database, dobbiamo prima di tutto inserire la seguente istruzione, prima di qualsiasi istruzione di Lungo.
inizializza.database
L'istruzione qui sopra, va scritta anche prima del blocco.inizio, perchè è un'istruzione che ci permetterà di usare le istruzioni per dialogare con i database.
Ora che abbiamo inserito questa istruzione, nel blocco.inizio, possiamo inserire la seguente istruzione che ci permette di collegarci al nostro database:
nome_componente=usa.database ("https://provola-15590.firebaseio.com/")
Ora che abbiamo la connessione con il nostro database, possiamo inserire nuovi dati nel database semplicemente scrivendo così:
nome_componente.aggiungi.al.padre("nome padre").i.figli({figlio1:"dato da inserire",figlio2:"dato da inserire"})
ad esempio:
archivio.aggiungi.al.padre("Rossi Mario").i.figli({indirizzo:"via roma",luogo:"Torino"})
Per eliminare un padre (e automaticamente anche tutti i suoi figli) dal database, si scrive l'istruzione:
nome_componente.elimina.padre("valore da eliminare").tutto
Per poter leggere i dati del database, prima di tutto è necessario scrivere la seguente istruzione che sposterà il programma ad un altro blocco di istruzioni, dove poi potremo elaborare i dati:
nome_componente.leggi.database(valori,nome_blocco)
Il blocco di istruzioni che viene chiamato, riceverà tutti i dati del database che saranno quindi inseriti in una variabile che decideremo noi.
Esempio in cui decido di inserire i dati ricevuti dal database nella variabile "provola":
inizio.blocco leggo_dati (provola)
fine.blocco
che schematizzato in termine manualistico sarebbe:
inizio.blocco nome_blocco (variabile_che_riceve_dati)
fine.blocco
Ora che ho i dati nel blocco, posso fare diverse cose.
Posso contare tutti gli elementi padre presenti nel database inserendoli in una variabile, ma attenzione che i dati devono essere presi, non dal database, ma dalla variabile che ha acquisito i dati del database. Per l'esempio sopra, i dati andrebbero presi dalla variabile provola:
nome_variabile=variabile_che_riceve_dati.conta.padri
E' anche possibile contare i figli presenti in un determinato padre:
nome_variabile=variabile_che_riceve_dati.padre("valore del padre").conta.figli
E' possibile anche verificare se un determinato padre è presente nel database:
nome_variabile=variabile_che_riceve_dati.verifica.padre("valore del padre")
in questo caso, nome_variabile potrà risultare contenente il valore True o False, che rispettivamente significano Vero e Falso.
Per poter estrapolare i dati dal database, in modo da leggerli singolarmente, bisogna fare un passaggio in più, ovvero all'interno del blocco istruzioni che è stato chiamato dall'istruzione leggi.database, va inserita la seguente istruzione che chiamerà un'altro blocco istruzioni, dove potremo esaminare i dati:
nome_che_riceve_dati.recupera.database (nome_blocco)
Questo nuovo blocco di istruzioni, riceverà tutti i dati del database che saranno inseriti in una variabile di cui il nome lo decideremo noi, e che potrà essere usata per leggere i dati:
inizio.blocco nome_blocco (nome_variabile_che_riceve_dati)
x=nome_variabile_che_riceve_dati.valori.database
mostra.messaggio (x.nome_figlio)
fine.blocco
LE ISTRUZIONI DI CONDIZIONE
Istruzione se
L'istruzione SE è un'istruzione di condizione che permette di verificare se si verifica o meno una determinata condizione.
L'ìstruzione SE esegue delle altre istruzioni, solo se si verificano determinate condizioni. L'sitruzione SE ha sempre una istruzione FINE.SE che limita le istruzioni che fanno parte della condizione.
ESEMPIO: Ipotizziamo di avere una variabile "alfa" che contiene il numero 5, e di voler far mostrare un messaggio sullo schermo, solo se la variabile "alfa" contiene il numero 5:
se (alfa uguale.a 5)
mostra.messaggio ("ciao")
fine.se
Si possono usare altri metodi di confronto, eccoli di seguito:
uguale.a ==
maggiore.di >
minore.di <
diverso.da !=
maggiore.o.uguale >=
minore.o.uguale <=
Inoltre è possibile eseguire più condizioni insieme.
ESEMPIO: ipotizziamo di avere una variabile "alfa" che contiene il numero 9, e vogliamo far apparire un messaggio solo se "alfa" contiene un numero maggiore di 3 oppure minore di 7:
se (alfa maggiore.di 3 oppure alfa minore.di 7)
mostra.messaggio ("ciao")
fine.se
In questo caso il messaggio apparirà, perchè "alfa" contiene il numero 9, e il messaggio doveva apparire se alfa era maggiore di 3 o minore di 7, e dato che 9 è maggiore di 3 allora appare il messaggio.
Si può usare anche il comando e che significa che tutte le condizioni siano vere.
Esempio: ipotizziamo lo stesso esempio di prima, ma in cui il messaggio deve apparire solo se "alfa" è maggiore di 3 e minore di 7:
se (alfa maggiore.di 3 e alfa minore.di 7)
mostra.messaggio ("ciao")
fine.se
Nel caso sopra il messaggio non apparirà, perchè "alfa" contiene il numero 9, e la condizione prevede che il messaggio apparirà solo se "alfa" è maggiore di 3 ma anche che "alfa" è minore di 7.
L'ìstruzione SE esegue delle altre istruzioni, solo se si verificano determinate condizioni. L'sitruzione SE ha sempre una istruzione FINE.SE che limita le istruzioni che fanno parte della condizione.
ESEMPIO: Ipotizziamo di avere una variabile "alfa" che contiene il numero 5, e di voler far mostrare un messaggio sullo schermo, solo se la variabile "alfa" contiene il numero 5:
se (alfa uguale.a 5)
mostra.messaggio ("ciao")
fine.se
Si possono usare altri metodi di confronto, eccoli di seguito:
uguale.a ==
maggiore.di >
minore.di <
diverso.da !=
maggiore.o.uguale >=
minore.o.uguale <=
Inoltre è possibile eseguire più condizioni insieme.
ESEMPIO: ipotizziamo di avere una variabile "alfa" che contiene il numero 9, e vogliamo far apparire un messaggio solo se "alfa" contiene un numero maggiore di 3 oppure minore di 7:
se (alfa maggiore.di 3 oppure alfa minore.di 7)
mostra.messaggio ("ciao")
fine.se
In questo caso il messaggio apparirà, perchè "alfa" contiene il numero 9, e il messaggio doveva apparire se alfa era maggiore di 3 o minore di 7, e dato che 9 è maggiore di 3 allora appare il messaggio.
Si può usare anche il comando e che significa che tutte le condizioni siano vere.
Esempio: ipotizziamo lo stesso esempio di prima, ma in cui il messaggio deve apparire solo se "alfa" è maggiore di 3 e minore di 7:
se (alfa maggiore.di 3 e alfa minore.di 7)
mostra.messaggio ("ciao")
fine.se
Nel caso sopra il messaggio non apparirà, perchè "alfa" contiene il numero 9, e la condizione prevede che il messaggio apparirà solo se "alfa" è maggiore di 3 ma anche che "alfa" è minore di 7.