Page 1 sur 1

Html into Datasection

Publié : jeu. 14/févr./2019 21:21
par Ekim
Bonsoirs à tous

Est il possible de charger un fichier Html via la DataSection en bit (.b) sans même la recréer puis la charger une 1ere fois quelques part sur le disque??

Code : Tout sélectionner

If OpenWindow(0,0,0,600,300,"WebGadget",#PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    WebGadget(0,10,10,580,280,"")
    

    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf


DataSection
	Html_Start:
	Data.b
        Data.b
	Html_End:
EndDataSection
:wink:

Re: Html into Datasection

Publié : jeu. 14/févr./2019 23:15
par Ollivier
Ekim a écrit :Est il possible de charger un fichier Html via la DataSection en bit (.b) sans même la recréer puis la charger une 1ere fois quelques part sur le disque??
Pas compris la demande. Alors si c'est :
- Stocker un HTML en data = OUI
- Mettre en mémoire une zone data = OUI
- Enregistrer une zone mémoire sur disque = OUI

Code : Tout sélectionner

#MyHTML = 1
CreateFile(#MyHTML, "NEW.HTM")
WriteData(#MyHTML, ?HtmStart, ?HtmEnd - ?HtmSrart)
CloseFile(#MyHTML)

DataSection

HtmStart:
   IncludeFile "MonFichierHtmAvantCompilation.HTM"
HtmEnd:

EndDataSection

Re: Html into Datasection

Publié : jeu. 14/févr./2019 23:41
par Ekim
Oui j'avoue se n'est pas très claire :lol:

en fait je voudrais éviter d'enregistrer le html mais plutot le charger directement dans le Webgadget via Datasection

Re: Html into Datasection

Publié : ven. 15/févr./2019 0:04
par Ollivier
Non tu ne peux pas en natif, au vu de la doc. Mais tu peux faire le process suivant :

- Enregistrement sur disque à partir de la DataSection
- Création de la fenêtre web
- Suppression du fichier

Re: Html into Datasection

Publié : ven. 15/févr./2019 0:08
par Ekim
hellas non, malheureusement créer pour supprimer ensuite, ce n'est pas trop mon truc :oops:

merci quand même :D

Re: Html into Datasection

Publié : ven. 15/févr./2019 2:14
par vurvur
Oui tu peux faire comme ça pour ne pas sauver sur le disque:

Code : Tout sélectionner

htmlpage$ = PeekS(?s1, ?s2-?s1, #PB_Ascii)

OpenWindow(0, 100, 100, 140, 80, "")
WebGadget (0, 0, 0, WindowWidth(0), WindowHeight(0), "") 
SetGadgetItemText(0,#PB_Web_HtmlCode,  htmlpage$ )

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 

DataSection
  s1:
  IncludeBinary "test.html"
  s2:
EndDataSection

Re: Html into Datasection

Publié : ven. 15/févr./2019 5:14
par Ollivier
Excellente aide vurvur ! En espérant que Eķim découvre ton message sans perdre trop de temps...

Re: Html into Datasection

Publié : ven. 15/févr./2019 22:45
par Ekim
Oh c'est excellent)))
pourquoi n'avais je pas pensé au "peeks"???

t'es le meilleur @vurvur))

Re: Html into Datasection

Publié : dim. 17/févr./2019 1:26
par Ekim
Et est il possible d'envoyer des commande "argument" à cette page html ainsi reconstituée?

je veux dire:

HTML---arguments--->EXE c'est OK

HTML<---arguments---EXE ???

Re: Html into Datasection

Publié : dim. 17/févr./2019 3:23
par Ollivier
J'ai rien compris mais, oui oui.
Il faut des repères dans ton HTML data.

Code : Tout sélectionner

<html>:::FF</html>
Quand tu as récupéré le html data avec A$=PeekS(), tu peux faire un A$=ReplaceString(A$,":::FF","BONJOUR") pour ensuite afficher la page avec SetGadgetText(WebGadg, A$).

Re: Html into Datasection

Publié : dim. 17/févr./2019 20:32
par Ekim
Non ce n'est pas ça que je voulais savoir mais merci quand même

En fait, il est possible d'envoyer des "paramètres" ou "arguments" à un fichier html de la même façon qu'on envoi des arguments à un exécutable

et donc se que je voulais savoir, c'est comment l'exécutable qui a ainsi généré la fameuse page html, peut envoyer des commandes "paramètres" ou "arguments" puisque celle ci a été chargée via peeks?

Re: Html into Datasection

Publié : lun. 18/févr./2019 14:41
par Marc56
en bit (.b)
N'existe pas en PB. .b est un byte (octet)

:arrow: Variables en PB
En fait, il est possible d'envoyer des "paramètres" ou "arguments" à un fichier html de la même façon qu'on envoi des arguments à un exécutable
Un "paramètre" est envoyé à une page html (en fait au serveur http), soit par URL (méthode GET) soit dans le corps du "message" (méthode POST)
Ces paramètres (variables environnement) sont ensuite traités par le serveur, soit en module, soit en CGI.
Le résultat est ensuite renvoyé dans le flux de sortie par défaut et donc affiché dans le navigateur.
Donc si ta page est est un simple fichier stocké dans une variable et restitué dans le webgadget (PB_Web_HtmlCode ), il ne se passe rien car il n'y a pas de serveur pour traiter le "code"

Le seul moyen de faire faire quelque-chose à une page sans serveur est d'avoir un langage dynamique dans la page (Javascript). Mais je ne sais pas si cela fonctionne.

Re: Html into Datasection

Publié : lun. 18/févr./2019 21:23
par Ekim
Merci @Marc56 merci pour ton éclaircissement)

En effet cela mérite le coup de tenter l’expérience)
je pense que le "Webkit" contenu dans le webgadget peut prendre en charge un tel langage dynamique)