Seite 1 von 1

WebGadget Kompatibilität und Variable übergeben

Verfasst: 06.02.2008 13:31
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

Re: WebGadget Kompatibilität und Variable übergeben

Verfasst: 06.02.2008 13:48
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

Verfasst: 06.02.2008 13:58
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

Verfasst: 06.02.2008 14:07
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

Verfasst: 06.02.2008 14:08
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

Verfasst: 06.02.2008 14:21
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

Verfasst: 06.02.2008 14:28
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

Verfasst: 06.02.2008 16:04
von Zero_Cool
Besten! Dachte ich mir schon, dass es mit $_GET funktioniert!

Vielen Dank, habt mir super geholfen! Grüsse