Il caso da te posto, mi pare, prevede una pagina WEB aperta con il nostro browser consueto, sulla quale vorremmo effettuare
indirettamente delle azioni mediante la nostra applicazione Gambas.
Tale possibilità è perseguibile grazie alla capacità del
MessageBox di supportare gran parte del protocollo HTML. Non utilizzeremo l'oggetto
WebView, che, essendo in grado di caricare e ricreare completamente una pagina WEB, ci costringerebbe ad agire
direttamente sulla pagina ricreata. Ci serviremo, dunque, della finestra
MessageBox, la quale è capace di caricare la maggior parte degli elementi costituenti una pagina WEB, con esclusione ad esempio delle immagini. Tuttavia il
MessageBox conserva l'
attività degli eventuali collegamenti presenti nella pagina WEB, consentendoci, pertanto, cliccando sopra detti collegamenti, di agire
indirettamente e contestualmente sulla pagina che appare nel browser.
Per l'esempio, faremo uso, leggermente modificato, del codice proposto da
fsurfing in questa pagina. Bisognerà avere l'accortezza di attivare nel nostro progetto anche i componenti:
gb.net e
gb.net.curl.
Private myhttp As New HttpClient As "myhttp"
Private stringa As String
Public Sub Form_Open()
With myhttp
.URL = InputBox("Inserisci indirizzo della pagina WEB:")
.Timeout = 15
.Get()
End With
End
Public Sub MyHTTP_Read()
Dim sBuf As String
Wait
If Lof(MyHTTP) Then
Read #MyHTTP, sBuf, Lof(MyHTTP)
stringa = stringa & sBuf
End If
End
Public Sub MyHTTP_Finished()
TextLabel1.Text = "pagina scaricata"
MyHTTP.Close
' I dati HTML, scaricati dalla pagina WEB, vengono passati al "MessageBox",
' affinché ricrei - per quanto nelle sue possibilità - la pagina medesima:
Message.info(stringa)
End
Ricreata la pagina WEB nel
MessageBox, sarà possibile con il mouse cliccare attivamente sui collegamenti.
Infine, quei collegamenti, che nelle pagine WEB mostrate dal browser, appaiono come tasti virtuali, nel
MessageBox saranno invece mostrati come semplici collegamenti (testo sottolineato), ma comunque regolarmente attivi.