Frage zu Webgadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
MJP
Beiträge: 72
Registriert: 14.10.2004 18:45
Wohnort: Nähe Frankfurt/Hessen
Kontaktdaten:

Frage zu Webgadget

Beitrag von MJP »

Hi habe mal ne Frage...
kann man den Html Code auch irgendwie direkt einbinden???

So geht es ja nicht :cry:

Code: Alles auswählen

WebGadget(1, 0, 0, 100, 100, "<html><head></head><body><p>Hallo</p></body></html>")
Geht das irgendwie anders?

:D :D THx MJP :D :D
Alle Reschtsreib feler sind beabsichticht unn kosten nichs echtra ;-D
Visit ---|> http://www.Komani.de/
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Indirekt.
Du mußt quasi die .htm erst erzeugen und mit dem WebGadget() Anzeigen.
Gruß Falko

Code: Alles auswählen

CreateFile(0,"C:\Mein.htm")
WriteString("<html><head></head><body><p>Hallo</p></body></html>")
CloseFile(0)
If OpenWindow(0,100,250,100,100,#PB_Window_SystemMenu,"MeinWebgadget") And CreateGadgetList(WindowID())
   WebGadget(0, 10, 0, 100, 100,"C:\Mein.htm")
EndIf
Repeat:Until WaitWindowEvent()=#PB_EventCloseWindow
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
MJP
Beiträge: 72
Registriert: 14.10.2004 18:45
Wohnort: Nähe Frankfurt/Hessen
Kontaktdaten:

Beitrag von MJP »

ahhhhh Stimmt warum bin ich darauf nicht selber gekomen :oops:

THx Falko
Alle Reschtsreib feler sind beabsichticht unn kosten nichs echtra ;-D
Visit ---|> http://www.Komani.de/
Benutzeravatar
Lars
Beiträge: 347
Registriert: 31.08.2004 23:53
Wohnort: Shanghai
Kontaktdaten:

Beitrag von Lars »

Das geht sogar direkt, wie ein Beispiel von PB aus dem Codearchiv indirekt zeigt:

Code: Alles auswählen

 url$="about:<html><body scroll='no' leftmargin='0' topmargin='0'><img src='"+animgif$+"'></img></body></html>"
  WebGadget(0,50,50,100,100,url$)
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

@Lars
Dein Tip ist super. Hab ihn jetzt auch gebraucht :D .
Aber eine komplette HTML-Seite mit Javascript läßt sich damit nicht einfügen, oder? Hab schon ein paar Versuche gemacht aber mehr als ein Link mit einem Bild geht habe ich nicht hinbekommen.
Mich interessiert es aus diesem Grund, da ich eine komplette html in der EXE includen und per WebGadget anzeigen möchte. Hättest du da vielleicht noch'n Tip?

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

holzhammer-methode:

mit include-binary in die exe,
zur laufzeit in ein tmp-file schreiben und das anzeigen,
vor beenden des progs wieder löschen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

:shock: wie jtezt,man kann htm datein erstellen??? das heist man könnte doch rein theoretisch auch einen html editor selber basteln oder seh ich das falsch? <) dann hät ich wieder was zu tun :mrgreen:
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

captain third hat geschrieben::shock: wie jtezt,man kann htm datein erstellen??? das heist man könnte doch rein theoretisch auch einen html editor selber basteln oder seh ich das falsch? <) dann hät ich wieder was zu tun :mrgreen:
*KopfgegenTischkantehau* Sind nix anderes wie Textdateien, nur mit ner anderen Endung. Also OpenFile(0, "*.html") : WriteString("<html>") : CloseFile(0).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

Hallo @All

ich habe da mal was probiert:

Code: Alles auswählen

;Online_request 
;Create: 05.01.2005 
;Actual: 
;by Jens Haipeter 

;Jens, wenn du das mal wieder compilierst, denke daran: 
;Die ATL.dll  muß aus dem Verzeichnis PureBasic\Compilers\) 
;in das gleiche Verzeichnis wie das Executable. 
  
;bei Offline Aufruf auch die *.htm Datei oder man gibt den Pfad an 

;benötigt die Setup-Lib von A.Miethe oder GetTempPath() entfernen) 

;Name des HTML-Files: 
;  wenn auf dem PC mit direkter Angabe: 
;  name$="file:\\e:\test_online.htm": #WinWidth=130: #WinHeight=220: #GadWidth=120: #GadHeight=170 


;  wenn auf dem PC im Verzeichnis der *.exe 
;  name$="test_online.htm": #WinWidth=130: #WinHeight=220: #GadWidth=120: #GadHeight=170 

;  wenn im Internet: 
name$="http://www.winbahn.de": #WinWidth=1280: #WinHeight=980: #GadWidth=1278: #GadHeight=900 
;  Werbung in eigener Sache ;-), außerdem liebe ich es gern groß 

Global _TempDir.s 
Global _ExePath.s 
Global _HTMFile.s 
_TempDir = GetTempPath() 
_ExePath = Space(1000) 
GetModuleFileName_(0, @_ExePath, 1000) 
_ExePath = GetPathPart(_ExePath) 

;wenn Internet oder direkte Pfadangabe, dann nur name$ 
;_HTMFile = "file:\\"+_ExePath+name$ 
_HTMFile = name$ 

;MessageRequester(_HTMFile,"",0) ; nur falls was schief geht 

Enumeration 
  #Window_0 
EndEnumeration  

Enumeration 
  #Web_0
  #Button_0 
EndEnumeration  

a=Date(); Zeit nehmen

If OpenWindow(#Window_0,0,20,#WinWidth,#WinHeight,#PB_Window_SystemMenu,"Wer ist Online?") 
  If CreateGadgetList(WindowID(#Window_0)) 
    WebGadget   (#Web_0   ,  1, 40,#GadWidth,#GadHeight,_HTMFile) 
    ButtonGadget(#Button_0,  5,  5,120, 24             ,"Aktualisieren")
    Repeat
      EventID = WindowEvent()
      Delay(10)
      b=Date()
      If b>a+10
        DisableGadget(#Button_0,0)
      EndIf
      If b>a+20
        SetGadgetState(#Web_0,#PB_Web_Refresh)
        DisableGadget(#Button_0,1)
        a=b
      EndIf
      If EventID = #PB_EventGadget
        Select EventGadgetID()
          Case #Button_0
            SetGadgetState(#Web_0,#PB_Web_Refresh)
            DisableGadget(#Button_0,1)
            a=Date()
        EndSelect
      EndIf
      If EventID=#PB_Event_CloseWindow
        CloseWindow(#Window_0)
        End
      EndIf
    ForEver 
  EndIf 
EndIf 
CloseWindow(#Window_0) 
End
Das funktioniert so :D 8), eventuell die Fenster/Gadgetgröße anpassen, wer hat schon einen 1280*1024 :mrgreen: . Die *.htm Datei muß natürlich existieren (bei Offline-Aufruf) einfach irgend eine nehmen. Der Webseitenaufruf funktioniert so wie er ist :D 8)

@Falko,
wäre das nix, habe heute nach fast 1 Woche PB Abstinenz mal wieder gefummelt, weißt ja warum :allright: .

@Lars,
da habe ich doch glatt Deine Tipps :allright: beherzigt, die waren gut (do you remember --> mehrere OS auf...)

@Andre
Da ist in der pb.chm was falsch:
Beispiel:
If OpenWindow(0,0,0,600,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"WebGadget") And CreateGadgetList(WindowID(0))
WebGadget(0,10,10,580,280,"http://www.purebasic.com")
; Hinweis: wenn Sie eine lokale Datei benutzen möchten, dann ändern Sie den letzten Parameter
; in "file://" + Pfad + Dateiname
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
sollte wohl so da stehen: "file:\\"+pfad+Dateiname" :D


//Edit: habe den Code nochmal geändert//
Gruß Jens
Zuletzt geändert von sharkpeter am 05.01.2005 14:14, insgesamt 1-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Für gewöhnlich wird hinter der Angabe des Protokolls zweimal ein normaler Slash ("/") und kein Backslash ("\") gemacht, also isses in der Hilfe IMHO richtig.
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Antworten