FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» mise a jour calculatrice
par JL35 Aujourd'hui à 22:03

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 20:32

» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

Nombre de messages : 10127
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Dim 8 Juin 2014 - 17:57

Nouvelle version:
KGF.dll V3.08 su 08/06/2014

Nouveauté:
nouvelle fonction BuildHtmlFromWindow

Modules modifiés:
KGF.dll

La doc et les sources ne sont pas encore mis à jour !

Cette fonction est appelée de la manière suivante:
Code:
res% = dll_call2("BuildHtmlFromWindow",hnd%,adr(file$))

hnd% est le handle d'une fenêtre quelconque. On peut passer handle(0), ou le handle d'une fenêtre d'un autre programme, etc.
file$ est une variable contenant le nom d'un fichier *.html qui recevra une représentation HTML de la fenêtre visée.

Pour le moment, le programme reconnaît les objets suivants:
- Panel
- Edit
- Memo
- Button

Le bouton HTML généré est cliquable. Le code HTML généré peut être directement chargé dans un browser (IE, FireFox, ...).

Voici un programme de démo:
Code:
' test_conversion_en_HTML.bas
caption 0,"Test conversion Form"

label generer
dim res%, file$

button 1 : top 1,10 : left 1,10 : caption 1,"Un bouton"
memo 2 : top 2,40 : left 2,50
panel 10 : top 10,150 : left 10,30 : width 10,200
edit 11 : parent 11,10 : top 11,20 : left 11,20 : width 10,200 : height 10,200
panel 20 : parent 20,10 : top 20,50 : left 20,20 : width 20,150 : height 20,120
button 21 : parent 21,20 : top 21,20 : left 21,20 : caption 21,"Autre bouton"
  on_click 21,generer
  
dll_on "KGF.dll"

end

generer:
  file$ = "test2.html"
  res% = dll_call2("BuildHtmlFromWindow",handle(0),adr(file$))
  execute "test2.html"
  return
Il affiche l'écran suivant:
" />

Un clic sur "Autre bouton" génère le code HTML dans le fichier test2.html qui se charge automatiquement dans le browser. Voici le résultat:
" />

Et voici le code HTML généré pour cette fenêtre:
Code:
<!DOCTYPE html>
<html>
<!-- Généré le 08/06/2014 16:36:54 -->
<!-- Par KGF.dll  -->
<!-- fonction BuildHtmlFromWindow -->

  <head>
    <title>Test conversion Form</title>
  </head>
  <body>

    <form>
      <fieldset  style="position: absolute; top: 0px; left: 0px; width: 600px; height: 480px;  background-color: silver">
        <legend>Test conversion Form</legend>
          <fieldset  style="position: absolute; top: 150px; left: 30px; width: 200px; height: 200px;  background-color: silver">
            <fieldset  style="position: absolute; top: 50px; left: 20px; width: 150px; height: 120px;  background-color: silver">
              <button id="button1">Autre bouton</button>
              <script>
                document.getElementById("button1").onclick = function(){alert("Clic sur bouton button1") }
              </script>
            </fieldset>
            <input type="text" style="position: absolute; top: 20px; left: 20px; width: 117px; height: 17px; " value="">
          </fieldset>
          <textarea style="position: absolute; top: 40px; left: 50px; width: 181px; height: 85px; "> </textarea>
          <button id="button2">Un bouton</button>
          <script>
            document.getElementById("button2").onclick = function(){alert("Clic sur bouton button2") }
          </script>
      </fieldset>
    </form>
  </body>
</html>

Question:
Est-ce que cette fonction peut avoir un intérêt pour vous ? Est-ce que vous voyez un intérêt à utiliser Panoramic pour dessiner l'image d'une page Web, et de générer le code HTML ensuite ? Si oui, je pousserai cette fonction plus loin, avec plus d'objets, la gestion d'autres évènements, les attributs graphiques etc.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5859
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Dim 8 Juin 2014 - 18:59

Je n'ai pas tout compris honnêtement, mais oui bien sûr, c'est très intéressant de pouvoir générer des pages HTML depuis Panoramic.

C'est l’intérêt par exemple du programme de Cosmos70.

Après avec la puissance des fichiers, on peut générer des pages très facilement.

Avec ces éditeurs, on pourrait même faciliter la mise à jour du site du mag pour qu'en ajoutant juste les fichiers dans les répertoires qui vont bien et que ça mette à jour les pages tout seul, mais bon ce n'est qu'une idée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Dim 8 Juin 2014 - 19:59

Ta fonction m'interpelle. J'ai eu une idée similaire en faisant mon programme, et je ne sais plus pourquoi, et pire, comment. Et maintenant en voyant ce que tu fais, je ne sais plus pourquoi je voulais faire cela, et l'utilité. Cela  me reviendra peut-être. Donc cela doit avoir un intérêt.

J'ai voulu testé, mais j'ai aussi oublié qu'il fallait aussi téléchargé la dernière version. Décidément, ma tête, où est-elle aujourd'hui?

Dis nous ce à quoi tu penses en faisant cela.

En mettant au point mon bouton télécharger, j'ai constaté à un moment, qu'on pouvait exécuter en direct un programme Panoramic (sauf Chrome chez-moi), si on avait préalablement défini Panoramic.exe comme programme par défaut dans Windows. Cela marche pour les programmes de Bignono et JL35 qui sont sur mon site à 'contribution'.

En faisant mon programme, mais cela n'avait pas de sens pour mon site que je veux static, j'ai essayé d'imaginer si ce bouton ne pouvais pas servir justement pour communiquer. Je n'ai pas poussé le raisonnement très loin, c'était pas le but pour moi. Est-ce que tu vois une chose de ce genre?
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10127
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 0:10

Bon, on va prendre les choses dans l'ordre.

Ce que j'ai fait, c'est pour le moment un simple exercice de style. Comme vous le savez, j'ai un site internet, et il est réalisé par la version gratuite d'un logiciel professionnel, XWebDesignor. C'est très puissant, entièrement WYSIWYG, non limité en nombre de pages, avec des inclusions de codes HTML, Javascript et autres, et tout et tout. Et je ne vais pas réinventer la ficelle à couper le beurre - pas question à moi tout seul de faire concurrence à un produit opérationnel, puissant et efficace.

Donc, l'intérêt est ailleurs. Je vois de plus en plus souvent des "applications Web", c'est à dire des applications dont l'interface visuel est une page HTML utilisable par un simple browser internet, et qui accède les données disponibles en arrière plan. Bien sûr, je pourrais utiliser les outils standard générant du PHP. Mais dans ce cas, je devrais installer un serveur Apacheu similaire, comme WAMP par exemple, ainsi qu'un système de basede données de type SQL - l'usine à gaz, quoi.

Non. Ce que je voulais, c'est d'avoir un programme Panoramic avec une interface visuelle HTML. Je suis un hérétique, n'est-ce pas ? Le point fort de Panoramic étant justement la facilité de conception d'une interface visuelle, pourquoi aller voir ailleurs ? Eh bien, c'est pour intégrer mon application dans un ensemble de visuels, applications et recherches accessibles sur un browser, en lien avec des sites web ou non. Ne pas avoir à sortir de l'environnement Firefox, par exemple, et par de simples raccourcis, charger une fénêtre donnant accès à une application locale.

Voilà pour l'idée de départ. Concernant la réalisation, cela suppose de faire un certain nombre de choix. D'abord et avant tout, il faut que le GUI en HTML soit compatible avec ce que Panoramic sait faire. Et c'est pourquoi j'ai choisi la conception du visuel par Panoramic (et à terme, par mon IDE générant du Panoramic). Et à partir de là, on génère une page HTML avec (approxiamivement) le même graphisme, et avec des évènements on_click, on_change etc qui déclenchent les routines Panoramic correspondantes. donc, savoir gérer les évènements des objets HTML par des fonctions en Java-Script, générées dans la page HTML et adaptables après génération.

C'est cette phase qui est démontrée par la nouvelle fonction et le programme de démo posté ci-dessus. Un programme très simple qui auto-génère son interface GIU en HTML et le lance automatiquement dans le browser, pour vérification. Le fichier HTML généré est modifiable ensuitge à volonté. Ceci démontre la faisabilité du concept à ce niveau. Et comme je génère le code HTML d'une fenêtre dont je passe le handle en paramètre, cela peut alors être une fenêtre de n'importe quel programme, Panoramic ou non.

L'étape suivante est la conceptioin d'un mécanisme client/serveur entre la page HTML et un programme Panoramic en arrière-plan. J'ai une certaine expérience dans ce genre de procédures, et je pense la chose réalisable sans passer par des efforts démésurés. Et j'aurai du coup une applcationmulti-utilisateur, car les requêtes du client (page HTML) vers le serveur (programme Panoramic) pourront être émis de plusieurs écrans ou postes de travail sur un réseau IntraNet, voir même sur un réseau ExtraNet si le logiciel de communication correspondant est installé.

J'ai beaucoup travaillé sur la notion d'évènement en Panoramic. Et je sais déclencher un évènement dans un programme Panoramic à partir d'un programme externe, que ce soit par une DLL ou un programme entièrement résident dans un process extérieur. Et ce mécanisme, couplé au système de messages Windows que commence à bien maîtriser également, me permettra d'échanger des informations entre ma page HTML et le serveur en Panoramic, tout en identifiant l'origine de chaque requête.

Voilà un peu le schéma dans lequel se situe le petit essai que j'ai posté aujourd'hui. Je sais que cela me conduit à assimiler de nouveaux domaines. HTML en est un, car pour le moment, malgré mon site qui existe depuis quelques années, et grâce à mon bel outil XWebDesignor, je n'ai pas eu à mettre les mains dans le cambouis. Cette fois, c'est différent, et je progresse vite. Il faut aussi assimiler, au moins partiellement, JavaScript et le langage CSS, du moins pour la partie intégrée dans la page HTML. Rien d'insurmontable.

Mais, en fait, je ne veux pas me cacher derrière mon petit doigt: ce qui me passionne vraiment, c'est de défi technique. Pour la communication inter-programmes, je l'ai relevé depuis longtemps, et je l'ai rendu accessible dans KGF.dll. La partie GUI visuel en HTML est mon sujet actuel, et vous en voyez une maquette exécutable. Lier les deux sera l'affaire de quelques lignes en JavaScript que je ne doute pas pouvoir réaliser. Le grand avantage, c'est de pouvoir utiliser la gestion de fichiers Panoramic partir d'une page HTML, y compris les extensions que j'ai apportées avec la gestion des fichiers binaires à enregistrement de longueur fixe, et même mon système BDR. Tout devient possible.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 1:06

Je viens de télécharger kgf, et ça fonctionne. Je ne sais combien de fonctions sont faites.

Je sais que cela a un intérêt, et ce n'est pas pour me montrer intéressant (j'ai plutôt tendance à faire le contraire), mais j'y avais pensé, sans me rappeler le pourquoi de ce moment là. Je pense à beaucoup de choses, mais je note rarement, car je sais que ma vie n'est pas l'ordinateur, mais le reste, donc cela restera aux oubliettes pour moi. Donc je confirme, cela a un intérêt. Même si cela ne se voit pas réellement pour l'instant, le concept, il faut l'intégrer, et c'est trop neuf pour vraiment avoir une opinion.

Ce qui serait bien est de pouvoir le faire depuis une page html, mais normalement c'est en lecture seul.

Oui je pense à une chose, c'est par exemple de pouvoir représenter une figure en construction, comme tous les essais de Papydall ou Jean_debord avec les fractales. Actuellement on ne peut montrer que des images, mais à ce que tu penses, est-ce qu'on peut avec ton système, montrer une courbe en évolution, avec des edits modifiables, pour modifier les courbes? Si c'est le cas, je pense qu'il va y avoir des réponses positives.
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10127
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 1:28

C'est parfaitement envisageable, Cosmos70. Chaque modification d'un champ EDIT provoquera la mise à jour du dessin, si tel est l'objectif.

Mais attention: j'ai bien parlé d'un système de type IntraNet. Ceci veut dire qu'un programme serveur en Panoramic est exécuté localement, sur l'ordinateur sur lequel tu te trouves (ou sur un serveur local). Cela ne peut pas s'appliquer sur quelque chose qui devrait tourner sur un autre ordinateur ailleurs que le Web. Cela ne servira à rien, par exemple, de faire tourner un programme sur mon site internet à partir de ton ordinateur, et le commander par une page HTML dans ton browser. D'une manière ou d'une autre, tu installes le programme serveur sur ta machine, mais tu le pilotes avec ton browser.

Mais le grand avantage, c'est que tu peux changer l'interface graphique sans toucher qu programme serveur ! L'adapter à une autre résolution de l'écran, supprimer quelques champs pour simplifier dans des cas particuliers, ajouter des champs pour pour construire plus facilement les paramètres - tout cela est possible sans avoir à intervenir dans le source du programme serveur, tant que les fonctions restent les mêmes.

Si tu as, par exemple, un champ "Nom" dans lequel tu saisis une information du type:
"Nom de naissance, Nom d'épouse, Pénom"
séparés par des virgules. Maintenant, tu peux vouloir effectuer un contrôle particulier et saisir séparément ces 3 informations. Dans la technologie que je propose, il suffit de rendre le champ d'origine invisible, d'ajouter 3 nouveaux champs, puis charger le champ invisible avec une combinaison des contenus des 3 nouveaux champs. Tout ça en HTML, sans même ouvrir un éditeur Panoramic ni toucher au sources du serveur. Voilà un des enjeux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5859
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 2:27

C'est très intéressant et les applications possibles sont énormes puisque l'on entre dans l'interface web / programme local client / programme serveur
=> Applications possibles: Jeux multi-joueurs (des dames en passant par les jeux de rôles, etc ...), tous les programmes liés à une base de données unique (réservations, commandes de produits, .... mais aussi base de connaissance, etc ...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 13:31

J'ai fait un teste que j'ai mis sur mon site, vu que c'est un teste pour être vu en html.
Il est dans astuce et c'est provisoir:
teste
Chez moi avec Chrome ça ne fonctionne pas, mais avec Firefox et I.E., oui.

En rapport avec ton idée, quand penses-tu?. Y-a_t'il pas moyen d'inclure cette possibilité sur internet?
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5859
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   Lun 9 Juin 2014 - 15:12

Au boulot avec Chrome, ça marche. (Avec IE aussi d'ailleurs )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 10 Juin 2014 - 11:57

Jicehel a écrit:
Avec ces éditeurs, on pourrait même faciliter la mise à jour du site du mag pour qu'en ajoutant juste les fichiers dans les répertoires qui vont bien et que ça mette à jour les pages tout seul, mais bon ce n'est qu'une idée.

Ce n' est pas aussi simple.

La partie que peut gérer un éditeur wysiwyg, l' interface est déjà faite.
Pour ce que tu dis, il faudrait d' autres scripts et ce tourner vers le php.
malheureusement je ne maitrise pas du tout ce langage...Crying or Very sad

Ceci dit, je regarde avec beaucoup d' attention ces fonctions et le travail de cosmos70
qui me donnent des idées même si je ne peux les mettre en application dans l' immédiat.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow   

Revenir en haut Aller en bas
 
V3.08 du 08/06/2014 - nouvelle fonction BuildHtmlFromWindow
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Une nouvelle offre en rupture dans le fixe au 1er semestre 2014
» Méthode pour copier la nouvelle version 2014.40 sur BaseCamp
» F1 2014 : Force India a dévoilé sa nouvelle monoplace la VJM07
» Nouvelle numérotation des chaines HD sur Bbox TV
» Nouvelle cartographie CityNavigator 2014.40

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: