Sammlung aller PureBasic Extensions by RSBasic
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

167 lines
8.3 KiB

;Version: 1.0.9.0
EnableExplicit
Global PBEx_WebGadget
#PBEx_WebGadgetEx_Version$ = "1.0.9.0"
#PB_Web_Zoom = 100
CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
PBEx_WebGadget = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x86.dll")
CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
PBEx_WebGadget = OpenLibrary(#PB_Any, "PB.Ex_WebGadget_x64.dll")
CompilerEndIf
If PBEx_WebGadget
Prototype WebGadgetEx(ID, X, Y, Width, Height, URL.p-Unicode, ParentWindowID, ErrorOutput)
Global WebGadgetEx.WebGadgetEx = GetFunction(PBEx_WebGadget, "WebGadgetEx")
Prototype SetWebGadgetExText(ID, URL.p-Unicode, ErrorOutput)
Global SetWebGadgetExText.SetWebGadgetExText = GetFunction(PBEx_WebGadget, "SetWebGadgetExText")
Prototype GetWebGadgetExText(ID, Output, ErrorOutput)
Global GetWebGadgetExText.GetWebGadgetExText = GetFunction(PBEx_WebGadget, "GetWebGadgetExText")
Prototype SetWebGadgetExState(ID, State, ErrorOutput)
Global SetWebGadgetExState.SetWebGadgetExState = GetFunction(PBEx_WebGadget, "SetWebGadgetExState")
Prototype SetWebGadgetExItemText(ID, Entry, Text.p-Unicode, ErrorOutput)
Global SetWebGadgetExItemText.SetWebGadgetExItemText = GetFunction(PBEx_WebGadget, "SetWebGadgetExItemText")
Prototype GetWebGadgetExItemText(ID, Entry, Output, ErrorOutput)
Global GetWebGadgetExItemText.GetWebGadgetExItemText = GetFunction(PBEx_WebGadget, "GetWebGadgetExItemText")
Prototype FreeWebGadgetEx(ID, ErrorOutput)
Global FreeWebGadgetEx.FreeWebGadgetEx = GetFunction(PBEx_WebGadget, "FreeWebGadgetEx")
Prototype IsWebGadgetEx(ID, ErrorOutput)
Global IsWebGadgetEx.IsWebGadgetEx = GetFunction(PBEx_WebGadget, "IsWebGadgetEx")
Prototype WebGadgetExWidth(ID, ErrorOutput)
Global WebGadgetExWidth.WebGadgetExWidth = GetFunction(PBEx_WebGadget, "WebGadgetExWidth")
Prototype WebGadgetExHeight(ID, ErrorOutput)
Global WebGadgetExHeight.WebGadgetExHeight = GetFunction(PBEx_WebGadget, "WebGadgetExHeight")
Prototype WebGadgetExX(ID, ErrorOutput)
Global WebGadgetExX.WebGadgetExX = GetFunction(PBEx_WebGadget, "WebGadgetExX")
Prototype WebGadgetExY(ID, ErrorOutput)
Global WebGadgetExY.WebGadgetExY = GetFunction(PBEx_WebGadget, "WebGadgetExY")
Prototype WebGadgetExID(ID, ErrorOutput)
Global WebGadgetExID.WebGadgetExID = GetFunction(PBEx_WebGadget, "WebGadgetExID")
Prototype HideWebGadgetEx(ID, State, ErrorOutput)
Global HideWebGadgetEx.HideWebGadgetEx = GetFunction(PBEx_WebGadget, "HideWebGadgetEx")
Prototype ResizeWebGadgetEx(ID, X, Y, Width, Height, ErrorOutput)
Global ResizeWebGadgetEx.ResizeWebGadgetEx = GetFunction(PBEx_WebGadget, "ResizeWebGadgetEx")
Prototype HideWebGadgetExDevTools(ID, State, ErrorOutput)
Global HideWebGadgetExDevTools.HideWebGadgetExDevTools = GetFunction(PBEx_WebGadget, "HideWebGadgetExDevTools")
Prototype ExecuteWebGadgetExJavaScript(ID, Code.p-Unicode, Output, ErrorOutput)
Global ExecuteWebGadgetExJavaScript.ExecuteWebGadgetExJavaScript = GetFunction(PBEx_WebGadget, "ExecuteWebGadgetExJavaScript")
Prototype BindWebGadgetExJavaScript(ID, PBProcedureName.p-Unicode, PBProcedureHandle, PID, ErrorOutput)
Global BindWebGadgetExJavaScript.BindWebGadgetExJavaScript = GetFunction(PBEx_WebGadget, "BindWebGadgetExJavaScript")
Prototype GetWebGadgetExAttribute(ID, Attribute, ErrorOutput)
Global GetWebGadgetExAttribute.GetWebGadgetExAttribute = GetFunction(PBEx_WebGadget, "GetWebGadgetExAttribute")
Prototype SetWebGadgetExAttribute(ID, Attribute, Value, ErrorOutput)
Global SetWebGadgetExAttribute.SetWebGadgetExAttribute = GetFunction(PBEx_WebGadget, "SetWebGadgetExAttribute")
Prototype EnableRemoteDebugger(Port, ErrorOutput)
Global EnableRemoteDebugger.EnableRemoteDebugger = GetFunction(PBEx_WebGadget, "EnableRemoteDebugger")
Prototype SetWebGadgetExSetUserAgent(UserAgent.p-Unicode, ErrorOutput)
Global SetWebGadgetExSetUserAgent.SetWebGadgetExSetUserAgent = GetFunction(PBEx_WebGadget, "SetWebGadgetExSetUserAgent")
EndIf
Define Output$ = Space(1000000)
Define ErrorOutput$ = Space(128)
Define IsDevTools = #True
Procedure MyJSCallback(aaa)
Debug "This procedure was executed from Javascript: " + PeekS(aaa)
EndProcedure
If OpenWindow(0, 0, 0, 1200, 768, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
;SetWebGadgetExSetUserAgent("PureBasic Bot", @ErrorOutput$)
WebGadgetEx(1, 0, 20, 1200, 748, "http://www.rsbasic.de", WindowID(0), @ErrorOutput$)
;WebGadgetEx(1, 0, 20, 1200, 748, "https://www.whatismybrowser.com/detect/what-is-my-user-agent", WindowID(0), @ErrorOutput$)
ButtonGadget(2, 0, 0, 50, 20, "Back", 0)
ButtonGadget(3, 50, 0, 50, 20, "Forward", 0)
ButtonGadget(4, 100, 0, 50, 20, "Reload", 0)
ButtonGadget(5, 150, 0, 50, 20, "Stop", 0)
ButtonGadget(6, 200, 0, 50, 20, "Google", 0)
ButtonGadget(7, 250, 0, 70, 20, "Own HTML", 0)
ButtonGadget(8, 320, 0, 70, 20, "Get HTML", 0)
ButtonGadget(10, 390, 0, 70, 20, "Get URL", 0)
ButtonGadget(11, 460, 0, 100, 20, "Get size && position", 0)
ButtonGadget(12, 560, 0, 50, 20, "Get ID", 0)
ButtonGadget(13, 610, 0, 50, 20, "Hide", 0)
ButtonGadget(14, 660, 0, 50, 20, "Show", 0)
ButtonGadget(15, 710, 0, 50, 20, "Size", 0)
ButtonGadget(16, 760, 0, 100, 20, "Show/Hide DevT.", 0)
ButtonGadget(17, 860, 0, 70, 20, "Execute JS", 0)
ButtonGadget(18, 930, 0, 50, 20, "BindProc", 0)
ButtonGadget(19, 980, 0, 50, 20, "CallProc", 0)
ButtonGadget(20, 1030, 0, 50, 20, "IsBusy?", 0)
ButtonGadget(21, 1080, 0, 50, 20, "GetZoom", 0)
ButtonGadget(22, 1130, 0, 60, 20, "Zoom=200", 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 2
SetWebGadgetExState(1, #PB_Web_Back, @ErrorOutput$)
Case 3
SetWebGadgetExState(1, #PB_Web_Forward, @ErrorOutput$)
Case 4
SetWebGadgetExState(1, #PB_Web_Refresh, @ErrorOutput$)
Case 5
SetWebGadgetExState(1, #PB_Web_Stop, @ErrorOutput$)
Case 6
SetWebGadgetExText(1, "http://www.google.de", @ErrorOutput$)
Case 7
SetWebGadgetExItemText(1, #PB_Web_HtmlCode, "<html><head></head><body><h1>Hello PureBasic Friends!</h1></body></html>", @ErrorOutput$)
Case 8
GetWebGadgetExItemText(1, #PB_Web_HtmlCode, @Output$, @ErrorOutput$)
Debug Output$
Case 10
GetWebGadgetExText(1, @Output$, @ErrorOutput$)
Debug Output$
Case 11
Debug WebGadgetExWidth(1, @ErrorOutput$)
Debug WebGadgetExHeight(1, @ErrorOutput$)
Debug WebGadgetExX(1, @ErrorOutput$)
Debug WebGadgetExY(1, @ErrorOutput$)
Case 12
Debug WebGadgetExID(1, @ErrorOutput$)
Case 13
HideWebGadgetEx(1, 1, @ErrorOutput$)
Case 14
HideWebGadgetEx(1, 0, @ErrorOutput$)
Case 15
ResizeWebGadgetEx(1, 100, 50, 200, 400, @ErrorOutput$)
Case 16
IsDevTools ! #True
HideWebGadgetExDevTools(1, IsDevTools, @ErrorOutput$)
Case 17
ExecuteWebGadgetExJavaScript(1, "document.body.style.backgroundColor = " + Chr(34) + "#ff0000" + Chr(34), @Output$, @ErrorOutput$)
ExecuteWebGadgetExJavaScript(1, "document.body.offsetHeight;", @Output$, @ErrorOutput$)
Debug Output$
;If you want to run modal dialogs like Alert(), please set the parameter "Output" to 0.
ExecuteWebGadgetExJavaScript(1, "alert('Hello');", 0, @ErrorOutput$)
Case 18
BindWebGadgetExJavaScript(1, "MyJSCallback", @MyJSCallback(), GetCurrentProcessId_(), @ErrorOutput$)
Case 19
ExecuteWebGadgetExJavaScript(1, "(async function() { await CefSharp.BindObjectAsync('PBProcedure'); PBProcedure.call('MyJSCallback', 'Hello PureBasic'); })();", @Output$, @ErrorOutput$)
Case 20
Debug GetWebGadgetExAttribute(1, #PB_Web_Busy, @ErrorOutput$)
Case 21
Debug GetWebGadgetExAttribute(1, #PB_Web_Zoom, @ErrorOutput$)
Case 22
SetWebGadgetExAttribute(1, #PB_Web_Zoom, 200, @ErrorOutput$)
EndSelect
Case #PB_Event_CloseWindow
CloseLibrary(PBEx_WebGadget)
End
EndSelect
ForEver
EndIf
; IDE Options = PureBasic 5.71 beta 1 LTS (Windows - x64)
; CursorPosition = 6
; Folding = -
; EnableXP
; EnableUser
; Executable = PB.Ex_MSSQL.exe
; CompileSourceDirectory
; EnableCompileCount = 417
; EnableBuildCount = 7

Impressum | Datenschutz