Parma, 16-03-2002

Manuale d'uso del modulo LUA Explorer

Daniele Piazza

 

QS Informatica

 

Release 1.0

 

Home | Code | Download


  1. Introduzione
  2. Cos'è il Lua Browser
  3. Definizione delle funzioni LUA nella pagina HTML
  4. Note Generali
  5. Chiamata della funzione
  6. Parametri in Uscita - Uscita dal dialogo
  7. Parametri in Uscita - Dati del form
  8. Parametri in ingresso - URL di destinazione
  9. Parametri in ingresso - Testo HTML da visualizzare
  10. Parametri in ingresso - Mappa degli ID da sostituire
  11. Parametri in ingresso - Titolo del dialogo
  12. Parametri in ingresso - Flag di visualizzazione della finestra

Introduzione

Questa pagina illustra l'utilizzo del browser LUA. Qui potete trovare informazioni, spunti utili, codice serio e codice faceto, per realizzare i vostri dialoghi con il LUA Browser. Osservate il codice HTML di questa pagina per apprendere l'uso del form, la definizione delle funzioni LUA e delle chiamate callback.


Cos'è il Lua Browser?

Si tratta semplicemente di un dialogo contenente un mini browser Explorer interfacciato con l'interprete LUA. Questa tecnica consente di realizzare semplici (ma molto belle) interfacce di dialogo per sorgenti LUA. All'interno delle pagine è possibile inserire controlli, chiamate a funzioni LUA e integrare codice LUA.


Definizione delle funzioni LUA nella pagina HTML

Le funzioni LUA possono essere scritte all'interno della pagina HTML e verranno caricate in automatico dal controllo al caricamento della pagina HTML. Le funzioni stesse vengono ricaricate eseguendo un refresh della pagina.
Perché il controllo riconosca le funzioni lua come tali è necessario che queste vengano racchiuse all'interno di un blocco SCRIPT HTML specificando il tipo come LUA. Esempio:
<SCRIPT LANGUAGE="Lua" TYPE ="Lua">
	function foo1()
	  alert("foo1: Questa funzione è scritta nella pagina HTML!")
	end
</SCRIPT>


Definizione delle chiamate a funzioni LUA nella pagina HTML

Dall'interno della pagina HTML è possibile lanciare funzioni LUA. Queste chiamate a funzione devono essere dichiarate come link utilizzando la seguente sintassi qslua:nomefunz. Alla pressione del tasto SX del mouse sul collegamento, la funzione LUA viene lanciata in automatico.
<a href="qslua:foo1">Chiamata ad una funzione LUA foo1 definita nella pagina HTML: test</a>


Note Generali

Alcune funzioni callback sono predefinite dal controllo. Inutile quindi definirle in LUA perché non verrebbero chiamate:

qslua:ok - chiude il dialogo con conferma
qslua:cancel - chiude il dialogo con annulla
qslua:refresh - ricarica la pagina HTML (e il codice LUA!!)


Chiamata della funzione

La funzione di visualizzazione del controllo ha la seguente sintassi

tbl, res = ProcessHtml(params)

dove:

tbl - è una tabella contenente i dati del form
res - è il valore dell' uscita dal dialogo

params - è una tabella contenente i parametri in ingresso


Parametri in Uscita - Uscita dal dialogo

res - è il valore dell' uscita dal dialogo. Questo valore puo essere:

1 - Ok
2 - Cancel


Parametri in Uscita - Dati del form

tbl - è una tabella contenente i dati del form.

I dati vengono restituiti come lista di coppie key, value dove la chiave è data dal campo name del controllo HTML, e il valore dalla selezione attiva al momento del POST. Per esempio si consideri un controllo EDIT BOX così definito:

<input type="text" name="T1" size="75">
che al momento della selezione contenga il valore "PIPPO". In questo caso la table conterrà la chiave T1 a cui sarà assegnato il valore PIPPO:
tbl.T1 ---> "PIPPO"


Parametri in ingresso - URL di destinazione

Url - Rappresenta la url del file HTML da caricare. Esempi di indirizzi validi sono:

Url = "C:\\Src\\LuaBrowser\\res\\help.htm" - file su disco
Url = "http://mserver/luaHtml/help.htm" - indirizzo http


Parametri in ingresso - Testo HTML da visualizzare

HtmlSource - Una stringa contenente un intero testo HTML. Esempio:

HtmlSource = "<HTML><BODY> ... pagina HTML ... </BODY></HTML>",

Per far si che venga visualizzato questo testo HTML occorre che l'url di destinazione sia NULL o una stringa vuota.


Parametri in ingresso - Mappa degli ID da sostituire

IdTable - Definisce una tabella con le coppie key, value

IdTable = {
MYID1 = <H3>PIPPO</H3>,
MYID2 = "PLUTO",
}

In questo caso ogni oggetto trovato nella pagina HTML che ha un ID = "MYID1" verrà rimpiazzato con <H3>PIPPO</H3>. Esempio:

<H3 ID="MYID1">PAPERINO</H3>

verrà rimpiazzato da

<H3>PIPPO</H3>

Questo consente di creare pagine complesse a partire da semplici template HTML.

Nota: La funzione sostituisce tutto l'oggetto passato tramite ID, anche i tag HTML.


Parametri in ingresso - Titolo del dialogo

DialogCaption - Definisce il titolo della finestra di dialogo.

DialogCaption = "Pagina di Immissione Dati"


Parametri in ingresso - Flag di visualizzazione della finestra

nCmdShow - Definisce l'aspetto della finestra di dialogo. Il valore è un intero che può assumere uno dei valori predefiniti di windows

nCmdShow = 3 - Visualizza il dialogo a tutto schermo

I valori accettabili sono questi:
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11


Ciao a tutti e... buon divertimento!

Thanks,
Daniele Piazza