mercoledì 27 agosto 2014

Internet

Oggi presentiamo alcuni funzioni per lavorare con internet attraverso Livecode.
Cominciamo con il leggere una pagina, esempio:

put URL "http://www.livecode.com/" into field "sample text"

Adesso carichiamo un'immagine da internet:

create image "web"
put URL "http://www.runrev.com/images/logo.jpg" into image "web"

Se ci ricordiamo che i testi possono essere stilizzati utilizzando la sintassi HTML, utlizzando la proprietà htmlText, ecco che ci è chiaro come copiare lo stile di una pagina web:

put URL "http://www.livecode.com" into field "esempio"
set the htmltext of field "esempio" to the text of field "esempio"

Possiamo anche interrogare Google o giocare con gli URL:

put URLEncode("Livecode italia") into ricerca
put "http://www.google.com/search?&q=" & ricerca into tBaseURL
put URL tBaseURL into field "esempio"

Possiamo scaricare un file da un sito FTP:

put URL "ftp://user:password@ftp.runrev.com/pub/sample.txt" into URL "file:esempio.txt"

Oppure possiamo caricare un file su un sito FTP:

put URL "binfile:esempio.jpg" into URL "ftp://ftp.runrev.com/samplefile.jpg"
put the result into field "result"

Per eseguire un programma livecode presente su internet basta, ad esempio:

go to stack url "https://www.dropbox.com/esempio.livecode"

Per aprire il browser predefinito del sistema operativo è sufficiente revGoURL, esempio:

revGoURL "http://www.livecode.com/"

Il comando revMail serve per mandare le email, esempio:

revMail "pippo@bitbucket.com","pluto@trial.org","Titolo email","Testo del messaggio."

E' possibile anche inviare i dati col metodo POST dei form HTML, ad esempio:

put "name=" & URLEncode("Mario Rossi") into tData
put "&email=" & URLEncode("mario@esempio.it") after tData
put "&date=" & URLEncode(word 2 to -2 of the Internet date) after tData
post tData to URL "http://www.runrev.com/cgi-bin/samplepost.cgi"
if the result is not empty then put the result into field "result"

Ecco invece un esempio per inventarsi il proprio protocollo di comunicazione usando i socket:

on mouseUp
   accept connections on port "34534" with message "gotConnection"
   open socket to "127.0.0.1:34534"
   write "test message" & return to socket "127.0.0.1:34534"
end mouseUp

on gotConnection pData
   read from socket pData until return
   put "Got data:" && it into field "result"
   close socket "127.0.0.1:34534"
end gotConnection