HTMLBox

Affiche en fenêtre pop-up un contenu html simple

Syntaxe

function HTMLBox(html: String; width: Integer; height: Integer): String
height : hauteur de la fenêtre (en pixels)
width : largeur de la fenêtre (en pixels)
html : code html à afficher

Remarques

Cette fonction offre une version simplifiée des fonctions offertes par THTMLForm.

  • La fenêtre qui s'ouvre utilise un moteur de rendu simple du langage html (pas de JavaScript, tous les tags ne sont pas supportés).
  • Si l'utilisateur ferme la fenêtre avec la croix (ou Alt+F4), elle se ferme et la fonction retourne une chaîne vide.
  • Si le HTML contient des liens hypertexte (balises <a>) et que l'utilisateur clique sur un lien, la fenêtre se ferme et la fonction retourne le contenu de l'attribut href du lien cliqué.
  • Si le HTML contient des champs de saisie de formulaire (balises <input>) et que l'utilisateur soumet le formulaire (par exemple en cliquant sur un <input type="submit">), la fenêtre se ferme et la fonction retourne les noms=valeurs des champs de saisie au format CommaText.
  • Comme toute fenêtre pop-up, il faut bien veiller à l'utiliser dans un contexte interactif.
  • Certaines méthodes de script peuvent être utilisée pour formater en html, et peuvent alors être affichée à l'aide de cette fonction. C'est le cas de TDataGrid.AsHTMLRows, qui construit un tableau html depuis une TDataGrid.

Exemples

var html := '<html><head><title>Titre de la fenêtre</title></head>'
          + '<body>'
          + '<b>Exemple de liens hypertexte</b><br>'
          + '<i>HTMLBox renvoie le href du lien</i>'
          + '<ul>'
          + '<li><a href="cas 1">Cliquez ici pour le choix 1</a></li>'
          + '<li><a href="cas 2">Cliquez ici pour le choix 2</a></li>'
          + '</ul>'
          + '<hr>'
          + '<b>Exemple de formulaire</b><br>'
          + '<i>HTMLBox renvoie les input du formulaire</i>'
          + '<form><table>'
          + '<tr><td>Nom</td><td><input type="text" name="nom"></td></tr>'
          + '<tr><td>Description</td><td><textarea name="description"></textarea></td></tr>'
          + '<tr><td>Afficher la description</td><td><input type="checkbox" name="affiche_desc"></td></tr>'
          + '</table><center><input type="submit" name="ok" value="Valider"><br>'
          + '<input type="submit" name="cancel" value="Annuler"></center>'
          + '</form></body></html>';

// Affichage de la fenêtre
var results:=HTMLBox(html, 400, 500);

// Traitement des résultats
if results='' then begin
   // fermeture avec la croix
   InformationDlg('Abandon');
end else if StrBeginsWith(results, 'cas') then begin
   // clic sur un lien
   InformationDlg('Vous avez choisi : '+results);
end else begin
   // validation du formulaire
   var inputs:=TStrings.Create;
   inputs.CommaText:=results;
   if inputs.Values['cancel']<>'' then begin
      InformationDlg('Abandon');
   end else if inputs.Values['affiche_desc']<>'' then begin
      InformationDlg(inputs.Values['nom']+' ('+inputs.Values['description']+')');
   end else begin
      InformationDlg(inputs.Values['nom']);
   end;
end;

Classification

Interactive