Autore Topic: web infarinatura  (Letto 1048 volte)

  • Visitatore
web infarinatura
« il: 13 Agosto 2009, 22:38:31 »
Con gambas posso riuscire a fare una cosa del tipo aprire un sito web ( e qua si puo' ) e simulare la pressione di un tasto su questo sito ??

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: simulare la pressione di un tasto su un sito WEB
« Risposta #1 il: 03 Febbraio 2013, 23:52:12 »
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.
Codice: gambas [Seleziona]

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.
« Ultima modifica: 06 Febbraio 2013, 00:32:37 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »