HTML - Bild einbetten, ohne Datei

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Man erstellt eine Datei mit folgendem Inhalt :


Code: Alles auswählen

logo.gif  GIF  "C:\logo.gif"
file.html HTML   "C:\bla.html"
Speichert diese unter den Namen "res.rc" ab und
kompiliert diese mit "porc res.rc". Man erhaelt eine
weitere Datei namens "res.res"

Diese kann man so importieren :

Code: Alles auswählen

Import "res.res" : EndImport
Jetzt kann man in seinem Code froehlich "rumcatchen"

Beispiel :

Code: Alles auswählen

  
  #RC_HTML = 23
  
  Import "res.res" : EndImport
  
  If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    WebGadget(0, 10, 10, 580, 280, "")
    
    module.s = Space(#MAX_PATH)
    
    GetModuleFileName_(0,module,#MAX_PATH)
    
    res    = FindResource_(0,"file.html",#RC_HTML)
    size   = SizeofResource_(0,res)
    buf    = LoadResource_(0,res)
    
    text.s = PeekS(buf,size)
    text.s = ReplaceString(text,"%MODULE%",module)
    
    SetGadgetItemText(0, #PB_Web_HtmlCode, text )
    
    FreeResource_(res)
    
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
bla.html :

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>

</head>

<body>
<img src="res://%MODULE%/gif/logo.gif" />
</body>
</html>
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

ts-soft hat geschrieben:
vonTurnundTaxis hat geschrieben:@ts-soft: Schau dir doch einfach dieses Beispiel an:
http://dean.edwards.name/my/base64-sexy.html
Ja, wunderbar mit dem FF, kein Bild mit IE. Also warum soll ich das nochmal
angucken :freak:
Also im Titel der Seite steht „Base64 Encoded Images Internet Explorer“ ...
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Beitrag von rolaf »

vonTurnundTaxis hat geschrieben:
ts-soft hat geschrieben:
vonTurnundTaxis hat geschrieben:@ts-soft: Schau dir doch einfach dieses Beispiel an:
http://dean.edwards.name/my/base64-sexy.html
Ja, wunderbar mit dem FF, kein Bild mit IE. Also warum soll ich das nochmal
angucken :freak:
Also im Titel der Seite steht „Base64 Encoded Images Internet Explorer“ ...
Jo mag sein, aber geht nicht. Wahrscheinlich erst ab IE7 wie in Minischrift zu sehen.

* Posted: 2005/06/07 7:12 pm
* Filed under: JavaScript, IE7
* Links: permalink, feed
:::: WIN 10 :: PB 5.73 :: (x64) ::::
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 »

>> Wahrscheinlich erst ab IE7 wie in Minischrift zu sehen
Auch nicht
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

im normalen Tab zu sehen, in nem IE-Tab nicht....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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 »

Hallo Thomas,
für den IE7 geht das auch und dann eben nicht unter FireFox :mrgreen:

about.mht

Theoretisch müsste man nachprüfen welcher Browser aktuell ist und
so eine auswahl treffen, welche about dann geladen werden soll.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
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 »

Was MS da für eigene Formate nutzt ist mir eigentlich schnurz. Ist kein HTML
Es funktioniert nicht im WebGadget, im IE selber gehts, da nützt es herzlich
wenig. Aber die Lösung von edel ist brauchbar, wenn auch etwas umständlich.
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
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Man kann auch direkt das res Protokoll nutzen

res.rc

Code: Alles auswählen

file.html HTML "bla.html"
logo.gif HTML "logo.gif"

Code: Alles auswählen

Import "res.res" : EndImport
 
If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
 
  module.s = ProgramFilename()
     
  WebGadget(0, 10, 10, 580, 280, "res://"+ module +"/file.html")
 
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf 

Code: Alles auswählen

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<body>
<img src="logo.gif" />
</body>
</html>
Zuletzt geändert von edel am 09.05.2008 22:28, insgesamt 1-mal geändert.
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 »

Danke edel, das entspricht meinen Vorstellungen, dadurch das die html
komplett als resource in der exe ist, wird sogar speicher gespart, gegenüber
includebinary :allright:

// Nachtrag:
Nach einem Tip von edel hier noch ein simples Beispiel. Ich möchte also
einfach Dialoge, wie z.B. AboutBox erstellen, diese sollen keine externen
Dateien benötigen. Das Beispiel nutzt die Aboutbox des IE, damit man sieht
was da so möglich sein sollte.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 450, 380, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
  WebGadget(0, 10, 10, WindowWidth(0) - 20, WindowHeight(0) - 20, "res://shdoclc.dll/about.dlg")
  SetGadgetAttribute(0, #PB_Web_BlockPopupMenu, #True)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
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
Antworten