WebGadget Kompatibilität und Variable übergeben

Anfängerfragen zum Programmieren mit PureBasic.
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

WebGadget Kompatibilität und Variable übergeben

Beitrag von Zero_Cool »

Hallo Zusammen,

Ich habe mal eine kleine Frage zur WebGadget Funktion. Wie Kompatibel ist diese Funktion mit gängigen Standards? Unterstützt das Gadget Css? Php sollte kein Problem sein, da PSP serverseitig ausgeführt wird.

Meine zweite Frage wäre, wie ich es schaffe Variablen zwischen der Website's und dem Programm auszutauschen? Wie übergebe ich eine Variable die im Quellcode definiert ist, an die Website und umgekehrt? Danke und Gruss Phil
Chance favors the prepared mind - Havrilla Design - My Gfx
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: WebGadget Kompatibilität und Variable übergeben

Beitrag von Kiffi »

Zero_Cool hat geschrieben:Wie Kompatibel ist diese Funktion mit gängigen Standards?
Das WebGadget ist unter Windows eine Instanz des Internet Explorers.
Sprich: Alle 'Standards', die der IE unterstützt, unterstützt auch das
Webgadgets. Alternativ kannst Du mit Angabe des Flags #PB_Web_Mozilla
ein Mozilla ActiveX einbinden. Dieses ActiveX musst Du dann allerdings
separat auf Deinem Rechner oder dem Zielrechner installieren. Es reicht
also nicht, einen installierten Firefox auf dem Rechner zu haben (weitere
Infos: siehe PB-Hilfe unter WebGadget).
Zero_Cool hat geschrieben:Meine zweite Frage wäre, wie ich es schaffe Variablen zwischen der Website's
und dem Programm auszutauschen? Wie übergebe ich eine Variable die im
Quellcode definiert ist, an die Website und umgekehrt?
Variable im Quellcode? Verstehe ich nicht. Meinst Du Formular-Inhalte? Erklär mal genauer.

Grüße ... Kiffi
a²+b²=mc²
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

Beitrag von Zero_Cool »

Okay, alles klar.

Das heisst, wenn ich es richtig verstehe, dass wenn kein IE installiert ist, das Webgadget nicht funktioniert?

Mit den Variablen habe ich mich nicht korrekt ausgedrückt, sorry.

Folgendes, ich erkläre es am besten mittels einem Beispiel.

Ich öffne das Programm, es wird Passwort und der Name abgefragt (String Gadget), ist die Eingabe korrekt kommt das Webgadget ins Spiel und zeigt eine Seite an. Der Name der vorher in das String Gadget eingegeben wurde sollte nun als Titel auf der Website stehen. Wie mache ist das zu realisieren?

Ich übergebe somit eine Eingabe (Variable) vom Programm an den Quelltext der Website.

Spontan fällt mir die Möglichkeit mittels $_GET ein, aber ich denke es gibt eine schönere Lösung? Gruss phil
Chance favors the prepared mind - Havrilla Design - My Gfx
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Zero_Cool hat geschrieben:Okay, alles klar.

Das heisst, wenn ich es richtig verstehe, dass wenn kein IE installiert ist, das Webgadget nicht funktioniert?
Da der IE sowieso nicht deinstallierbar ist (seit XP) sollte dies kein
Problem sein. Kann man in den Systemvoraussetzungen seines
Programmes erwähnen, wenn man Anwender mit Uralt-Systemen :mrgreen: erreichen möchte
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Zero_Cool hat geschrieben:Ich übergebe somit eine Eingabe (Variable) vom Programm an den Quelltext der Website.
kann man eigentlich relativ einfach machen, indem man das
entsprechende HTML programmatisch generiert und mit
SetGadgetItemText() in das WebGadget streamt. Hier mal ein simples
Beispiel (die HTML-Tags habe ich mal weggelassen, ich denke, dass Du
auch so das Prinzip verstehen wirst):

Code: Alles auswählen

Enumeration
  #myWindow
  #myWebgadget
  #myStringGadget 
  #myButtonGadget
EndEnumeration

If OpenWindow(#myWindow, #PB_Ignore, #PB_Ignore, 272, 253, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  If CreateGadgetList(WindowID(#myWindow))
    WebGadget(#myWebgadget, 10, 10, 250, 175, "about:blank")
    StringGadget(#myStringGadget, 10, 195, 250, 20, "")
    ButtonGadget(#myButtonGadget, 10, 220, 250, 20, "Login")
  EndIf
  
  Repeat
    Event = WaitWindowEvent()
    Select Event
      Case #PB_Event_Gadget
        Select EventGadget()
          Case #myButtonGadget
            
            If GetGadgetText(#myStringGadget)=""
              MessageRequester("", "Eingabe erforderlich!")
            Else
              
              HTML.s = "Hallo " + GetGadgetText(#myStringGadget)
              SetGadgetItemText(#myWebgadget, #PB_Web_HtmlCode, HTML)
              
            EndIf
            
        EndSelect
        
    EndSelect
  Until Event = #PB_Event_CloseWindow
EndIf

Grüße ... Kiffi
a²+b²=mc²
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

Beitrag von Zero_Cool »

Danke Kiffi, wie immer super hilfe :-)

Verstehe das Prinzip. Kleine Frage zum Schluss, mit diesem Beispiel erstelle ich sozusagen offline eine Website und Streame die Variablen. Was mache ich nun, wenn ich die Website bereits online existiert und die Variablen an diese existierende Website übergeben werden sollen?

Danke und Gruss Phil
Chance favors the prepared mind - Havrilla Design - My Gfx
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Zero_Cool hat geschrieben:Was mache ich nun, wenn ich die Website bereits online existiert und die Variablen an diese existierende Website übergeben werden sollen?
dann kannst Du mit SetGadgetText() und entsprechender
Parameterübergabe diese Seite aufrufen:

Code: Alles auswählen

User.s = GetGadgetText(#myUsername)
Pass.s = GetGadgetText(#myPassword)
; [hier evtl. noch das Encoding von User und Pass anpassen]
SetGadgetText(#myWebGadget, "[adresse]/deineseite.php?user=" + User + "&pass=" + Pass)
Du musst in der 'deineseite.php' diese Parameter dann selber auslesen.

Grüße ... Kiffi
a²+b²=mc²
Zero_Cool
Beiträge: 84
Registriert: 04.12.2004 15:14

Beitrag von Zero_Cool »

Besten! Dachte ich mir schon, dass es mit $_GET funktioniert!

Vielen Dank, habt mir super geholfen! Grüsse
Chance favors the prepared mind - Havrilla Design - My Gfx
Antworten