Inserire dati con un InputBox mediante codice HTML

Da Gambas-it.org - Wikipedia.

E' possibile ottenere l'apertura della finestra di un Prompt (ossia di InputBox), assegnando alla Proprietà ".HTML" dell'Oggetto WebView un codice html avente il seguente tenore:

<HTML>
 <BODY>

  <SCRIPT>

    var p = prompt('Inserisci il dato:');
// Scrive il dato nella WebView:
    document.write(p);

  </script>

 </body>
</html>

Il codice Gambas usando un Componente basato sulla libreria grafica "QT"

Se è stato attivato un Componente basato sulla libreria grafica "QT", allora il codice Gambas avrà il consueto riferimento all'Oggetto WebView ed in particolare alla sua proprietà ".HTML", alla quale dovrà essere assegnato il codice html sopra descritto.

Mostriamo un esempio:

Private WebView1 As WebView


Public Sub Form_Open()

 WebView1 = New WebView(Me)

End

Public Sub Button1_Click()

 WebView1.HTML = "<HTML><BODY>" &
                 "<SCRIPT>" &
                 "var p = prompt('Inserisci il dato:');" & 
                 "document.write(p);" &
                 "</script>" &
                 "</body></html>"

' Raccoglie il dato immesso nel "Prompt" e lo assegna ad esempio a una "TextLabel":
 TextLabel1.Text = WebView1.Text

End

Come sopra mostrato, non è necessario che l'oggetto WebView sia visibile, o sia comunque effettivamente presente sul Form, è sufficiente che sia inizializzato e che sia impostata la sua proprietà .HTML, alla quale assegnare il predetto codice html.

Il codice Gambas usando un Componente basato sulla libreria grafica "GTK"

Se è stato attivato un Componente basato sulla libreria grafica "GTK", allora nel codice Gambas si utilizzerà il Metodo ".SetHtml()" della Classe WebView, al quale andrà passato, come argomento, il codice html:

Private WebView1 As WebView


Public Sub Form_Open()

' Con la risorsa grafica "GTK" è necessario attribuire al "WebView" una sufficiente dimensione:
 With WebView1 = New WebView(Me)
   .X = 0
   .Y = 0
   .W = Me.W * 0.5
   .H = Me.H
 End With

End

Public Sub Button1_Click()

 WebView1.SetHtml("<HTML><BODY>" &
                  "<SCRIPT>" &
                  "var p = prompt('Inserisci il dato:');" & 
                  "document.write(p);" &
                  "</script>" &
                  "</body></html>")

End