PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Présentation
  • Champ d'une fenêtre, d'un état ou d'une page statique ou dynamique
  • Créer un champ HTML
  • Créer un champ HTML dans une fenêtre
  • Créer un champ HTML dans un état
  • Champ d'une fenêtre : Caractéristiques
  • Options de l'onglet "Général"
  • Conditions d'utilisation
  • Incompatibilité entre l'ActiveX IE (et oAuth2) et l'utilisation d'assemblage .NET
  • Champ d'un état : Caractéristiques
  • Fenêtre de description et programmation
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation

Champ d'une fenêtre, d'un état ou d'une page statique ou dynamique

Versions 18 et supérieures
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Nouveauté 18
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Universal Windows 10 App Les champs HTML sont désormais disponibles pour les applications en mode Windows Store apps.
Le champ HTML peut être utilisé :
  • WINDEVUniversal Windows 10 App Dans une fenêtre.
    Le champ HTML d'une fenêtre permet d'afficher une page HTML.
  • Versions 18 et supérieures
    WINDEVWindows Dans un état.
    Le champ HTML d'un état permet d'imprimer un code HTML ou le contenu d'une page locale.
    Nouveauté 18
    WINDEVWindows Dans un état.
    Le champ HTML d'un état permet d'imprimer un code HTML ou le contenu d'une page locale.
    WINDEVWindows Dans un état.
    Le champ HTML d'un état permet d'imprimer un code HTML ou le contenu d'une page locale.
Créer un champ HTML
WINDEVUniversal Windows 10 App

Créer un champ HTML dans une fenêtre

Pour créer un champ de type HTML dans une fenêtre :
  1. Sous le volet "Création", dans le groupe "Autres champs", cliquez sur "HTML".
  2. Cliquez dans la fenêtre à la position où le champ doit être créé. Le champ apparaît en création.
Pour afficher les caractéristiques du champ, sélectionnez l'option "Description" dans le menu contextuel du champ.
WINDEVWindows

Créer un champ HTML dans un état

Pour créer un champ de type HTML dans un état :
  1. Sous le volet "Création", dans le groupe "Texte", cliquez sur "HTML".
  2. Cliquez dans l'état à la position où le champ doit être créé. Le champ apparaît en création.
Pour afficher les caractéristiques du champ, sélectionnez l'option "Description" dans le menu contextuel du champ.
Remarque : A partir de la version 22, le champ HTML d'un état correspond à un champ Libellé de type HTML.
WINDEVUniversal Windows 10 App
Champ d'une fenêtre : Caractéristiques

Options de l'onglet "Général"

L'onglet "Général" de la fenêtre de description du champ permet :
  • de saisir directement du code HTML ou l'adresse de la page HTML à afficher.
    Remarque : Si du code HTML est saisi, ce code doit obligatoirement être compris entre les balises <HTML> et </HTML>.
  • WINDEV d'interdire l'exécution des scripts. Cette option permet d'interdire (ou d'autoriser) l'exécution des scripts appelés depuis le code HTML du champ.

    Versions 23 et supérieures
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Nouveauté 23
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s
    Si cette option est décochée, il est possible :
    • d'exécuter du code Javascript dans le contexte de la page Web affichée par le champ HTML. Il suffit pour cela d'utiliser la fonction ExécuteJS.
    • d'autoriser l'exécution de procédures WLangage depuis le code Javascript via l'option "Autoriser l'appel de WLangage depuis le code HTML (fonction JavaScript WL.Execute)".
      Si cette option est sélectionnée, dans le code du HTML du champ, il suffit d'utiliser WL.Execute pour exécuter une procédure WLangage. La syntaxe à utiliser est la suivante :
      WL.Execute(<Nom procédure WLangage>, <Paramètre>)
      où :
      • <Nom procédure WLangage> correspond au nom de la procédure à exécuter.
        ATTENTION : La procédure WLangage doit obligatoirement attendre un et un seul paramètre.
      • <Paramètre> correspond à une chaîne de caractères à passer à la procédure. Ce paramètre est obligatoire.
      Exemple :
      • Procédure WLangage
        PROCÉDURE ProcFromJS(t)
        ToastAffiche("Appelé depuis le JS : " + t)
      • Code du champ HTML :
        s est chaîne = [
        <html>
        <head>
        <title> Un exemple simple
        </title>
        <script>
        function myFunction()
        {
        WL.Execute("ProcFromJS","titaa");
        }
        </script>
        </head>
        <body>
        <h1> Voici une page HTML </h1>
        <p id="demo">Un paragraphe</p>
        <button type="button" onclick="myFunction()">Essayer</button>
        </body>
        </html>
        ]
        HTM_SansNom1 = s

Conditions d'utilisation

Attention : Pour utiliser un champ HTML :
  • WINDEV dans une application WINDEV, il est nécessaire d'installer Internet Explorer 4 ou supérieure (version 11 conseillée) sur le poste de développement et sur le poste de déploiement de l'application. Le champ HTML de WINDEV est en mode Internet Explorer 7.
    Pour afficher des pages WEBDEV dans ce champ, les pages WEBDEV doivent être générées en mode HTML + Edge.
  • Universal Windows 10 App dans une application en mode simulateur, il est nécessaire d'installer Internet Explorer 4 ou supérieure (version 11 conseillée) sur le poste de développement.
WINDEV

Incompatibilité entre l'ActiveX IE (et oAuth2) et l'utilisation d'assemblage .NET

Lorsque vous utilisez un champ HTML dans WINDEV, ce champ utilise l'ActiveX système "Navigateur Web Microsoft". Cet ActiveX est également utilisé par WINDEV pour toutes les authentifications OAuth2 (Facebook, Twitter, Google, etc) qui demandent une validation pour la connexion via du code HTML.
Si dans un même projet vous utilisez un champ HTML (ou une authentification OAuth2) et un assemblage ".Net", vous risquez de rencontrer une incompatibilité entre les couches .NET de Microsoft et l'ActiveX.
Il existe une API qui permet de gérer cette cohabitation. Pour cela vous devez utiliser la ligne de code suivante dans le code d'initialisation du projet ou dans le code d'initialisation de classes ou de procédure globale si l'initialisation de l'objet ".Net" est faite dans la classe ou la collection de procédure :
// Permet de gérer la cohabitation de l'ActiveX IE et de .NET
API("OLE32", "CoInitializeEx", Null, 2)
WINDEVWindows
Champ d'un état : Caractéristiques
Versions 18 et supérieures

Fenêtre de description et programmation

Le champ HTML est un champ Libellé de type HTML. Il est possible de saisir du texte directement dans l'onglet "Général" de la fenêtre de description du champ. Ce texte sera automatiquement converti en HTML.
Le champ HTML permet d'afficher par exemple :
  • le contenu d'un fichier HTML local.
  • le contenu HTML d'une rubrique.
Il est possible d'initialiser par programmation le champ HTML en lui affectant :
  • directement un code HTML. Par exemple :
    HTM_Code = "<b>Hello</b>"
  • le chemin d'un fichier HTML local.
    HTM_Code = fRepExe() + "\MonFicHTML.htm"
Remarques :
  • Les images au format PNG et SVG contenues dans le HTML ne sont pas gérées.
  • Si la feuille de styles CSS correspond à un fichier externe, elle n'est pas prise en compte.
  • Tous les fichiers externes à rechercher sur Internet ne sont pas pris en compte.
  • Les codes Javascript ne sont pas exécutés.
Nouveauté 18

Fenêtre de description et programmation

Le champ HTML est un champ Libellé de type HTML. Il est possible de saisir du texte directement dans l'onglet "Général" de la fenêtre de description du champ. Ce texte sera automatiquement converti en HTML.
Le champ HTML permet d'afficher par exemple :
  • le contenu d'un fichier HTML local.
  • le contenu HTML d'une rubrique.
Il est possible d'initialiser par programmation le champ HTML en lui affectant :
  • directement un code HTML. Par exemple :
    HTM_Code = "<b>Hello</b>"
  • le chemin d'un fichier HTML local.
    HTM_Code = fRepExe() + "\MonFicHTML.htm"
Remarques :
  • Les images au format PNG et SVG contenues dans le HTML ne sont pas gérées.
  • Si la feuille de styles CSS correspond à un fichier externe, elle n'est pas prise en compte.
  • Tous les fichiers externes à rechercher sur Internet ne sont pas pris en compte.
  • Les codes Javascript ne sont pas exécutés.

Fenêtre de description et programmation

Le champ HTML est un champ Libellé de type HTML. Il est possible de saisir du texte directement dans l'onglet "Général" de la fenêtre de description du champ. Ce texte sera automatiquement converti en HTML.
Le champ HTML permet d'afficher par exemple :
  • le contenu d'un fichier HTML local.
  • le contenu HTML d'une rubrique.
Il est possible d'initialiser par programmation le champ HTML en lui affectant :
  • directement un code HTML. Par exemple :
    HTM_Code = "<b>Hello</b>"
  • le chemin d'un fichier HTML local.
    HTM_Code = fRepExe() + "\MonFicHTML.htm"
Remarques :
  • Les images au format PNG et SVG contenues dans le HTML ne sont pas gérées.
  • Si la feuille de styles CSS correspond à un fichier externe, elle n'est pas prise en compte.
  • Tous les fichiers externes à rechercher sur Internet ne sont pas pris en compte.
  • Les codes Javascript ne sont pas exécutés.
Liste des exemples associés :
Le champ HTML Exemples unitaires (WINDEV) : Le champ HTML
[ + ] Utilisation d'un champ HTML
Propriété ClasseHTML Exemples unitaires (WEBDEV) : Propriété ClasseHTML
[ + ] La propriété ..ClasseHTML permet de lire et de modifier la valeur de l'attribut HTML "class" du champ.
La valeur de l'attribut HTML "class" permet, entre autres, de sélectionner les styles CSS appliqués sur le champ.
WM Dialogue HTML Exemples multiplateforme (WINDEV Mobile) : WM Dialogue HTML
[ + ] Cet exemple vous montre comment dialoguer avec un champ HTML.
Il utilise la fonction WLangage "ExecuteJS" et la fonction Javascript "WL.Execute".
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Champ HTML et GFi
Pour information, le champ HTML n'est pas impacté par le GFI, cad qu'il reste visible alors que la fenêtre dans laquelle il se trouve est grisée.
Laurent
14 fév. 2019
Affectation adresse par programmation sur Android
Contrairement à IOS, il est nécessaire sous Android de préfixer le chemin "file://" sinon "http://" est ajouté automatiquement devant le chemin.

Ce qui donne donc pour mon exemple : "file:///data/data/com.masociete.application/files/html/index.html" (triple "/")
Nicolas COMPAIN
01 sep. 2016