Seite 1 von 1

WebGadget HTML Code auslesen.

Verfasst: 22.01.2012 00:01
von Andreas21
Hi,

mit #PB_Web_HtmlCode müste man von einem WebGadget den HTML Code bekommen.
Man bekommt aber nur "ÿþ<".

Beispiel Code:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com")
  Delay(1000)
  Debug GetGadgetItemText(0, #PB_Web_HtmlCode)
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: WebGadget HTML Code auslesen.

Verfasst: 22.01.2012 00:06
von hjbremer

Code: Alles auswählen

Procedure.i WebGadgetBusy(pbnr)
  
   While GetGadgetAttribute(pbnr, #PB_Web_Busy) 
      event = WindowEvent() 
      If event = #WM_KEYDOWN
         If EventwParam() = #VK_ESCAPE
            ProcedureReturn #S_FALSE
         EndIf
      EndIf
      Delay(1)
   Wend 
   
   ProcedureReturn #S_OK
EndProcedure

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com")
   
   WebGadgetBusy(0)
   
   Debug GetGadgetItemText(0, #PB_Web_HtmlCode)
   
  Repeat 
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: WebGadget HTML Code auslesen.

Verfasst: 22.01.2012 00:17
von Andreas21
Das geht aber nicht.

Code: Alles auswählen

Procedure.i WebGadgetBusy(pbnr)
 
   While GetGadgetAttribute(pbnr, #PB_Web_Busy)
      event = WindowEvent()
      If event = #WM_KEYDOWN
         If EventwParam() = #VK_ESCAPE
            ProcedureReturn #S_FALSE
         EndIf
      EndIf
      Delay(1)
   Wend
   
   ProcedureReturn #S_OK
EndProcedure

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.de")
  
  WebGadgetBusy(0)
  
   SetGadgetItemText(0, #PB_Web_HtmlCode, "<html><title>Test</title><body>Test...</body></html>")
   
   WebGadgetBusy(0)
   
   Debug GetGadgetItemText(0, #PB_Web_HtmlCode)
   
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: WebGadget HTML Code auslesen.

Verfasst: 22.01.2012 01:03
von CSHW89
SetGadgetItemText bzw. die Events, die dadurch erzeugt werden, müssen wohl erstmal durch WindowEvent() abgearbeitet werden:

Code: Alles auswählen

Procedure.i WebGadgetBusy(pbnr)
   
   While WindowEvent()
   Wend
   
   While GetGadgetAttribute(pbnr, #PB_Web_Busy)
      event = WindowEvent()
      If event = #WM_KEYDOWN
         If EventwParam() = #VK_ESCAPE
            ProcedureReturn #S_FALSE
         EndIf
      EndIf
      Delay(1)
   Wend
   
   ProcedureReturn #S_OK
EndProcedure

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.de")
 
  WebGadgetBusy(0)
 
   SetGadgetItemText(0, #PB_Web_HtmlCode, "<html><title>Test</title><body>Test...</body></html>")
   
   WebGadgetBusy(0)
   
   Debug GetGadgetItemText(0, #PB_Web_HtmlCode)
   
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
lg Kevin

Re: WebGadget HTML Code auslesen.

Verfasst: 22.01.2012 01:15
von hjbremer
huch, er war schneller

für Set... brauchst du kein Busy, sondern die Vernichtung der Events, die durch Set... erzeugt werden

Code: Alles auswählen

If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 580, 280, "")
  
  
  
   SetGadgetItemText(0, #PB_Web_HtmlCode, "<html><title>Test</title><body>Test...</body></html>")
   
   While WindowEvent(): Wend
   
   Debug GetGadgetItemText(0, #PB_Web_HtmlCode)
   
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf