Le contrôle TWebBrowser Delphi permet d'accéder à la fonctionnalité du navigateur Web à partir de vos applications Delphi - pour vous permettre de créer une application de navigation Web personnalisée ou d'ajouter des fonctionnalités de navigation Internet, de fichiers et de réseau, d'affichage de documents et de téléchargement de données à vos applications..
UNE formulaire web ou un formulaire sur une page web permet à un visiteur de page Web d'entrer des données qui, dans la plupart des cas, sont envoyées au serveur pour traitement.
Le formulaire Web le plus simple pourrait consister en un élément d'entrée (contrôle d'édition) et un soumettre bouton. La plupart des moteurs de recherche Web (comme Google) utilisent un tel formulaire Web pour vous permettre de rechercher sur Internet.
Des formulaires Web plus complexes incluraient des listes déroulantes, des cases à cocher, des boutons radio, etc. Un formulaire Web ressemble beaucoup à un formulaire Windows standard avec saisie de texte et contrôles de sélection.
Chaque formulaire comprendrait un bouton - un bouton d'envoi - qui indique au navigateur de prendre des mesures sur le formulaire Web (généralement pour l'envoyer à un serveur Web pour traitement).
Si, dans votre application de bureau, vous utilisez TWebBrowser pour afficher des pages Web, vous pouvez contrôler par programme les formulaires Web: manipuler, modifier, remplir, remplir les champs d'un formulaire Web et le soumettre.
Voici une collection de fonctions Delphi personnalisées que vous pouvez utiliser pour répertorier tous les formulaires Web sur une page Web, pour récupérer des éléments d'entrée, pour remplir des champs par programme et pour enfin soumettre le formulaire.
Pour suivre plus facilement les exemples, supposons qu'il existe un contrôle TWebBrowser nommé "WebBrowser1" sur un formulaire Delphi (Windows standard).
Remarque: vous devez ajouter mshtml à votre clause uses afin de compiler les méthodes listées ici.
Une page Web aurait dans la plupart des cas un seul formulaire Web, mais certaines pages Web pourraient avoir plusieurs formulaires Web. Voici comment obtenir les noms de tous les formulaires Web sur une page Web:
une fonction WebFormNames (const document: IHTMLDocument2): TStringList; var formulaires: IHTMLElementCollection; forme: IHTMLFormElement; idx: entier; commencer forms: = document.Forms as IHTMLElementCollection; résultat: = TStringList.Create; pour idx: = 0 à -1 + forme.longueur faire commencer form: = forms.item (idx, 0) as IHTMLFormElement; result.Add (form.name); fin; fin;
Une utilisation simple pour afficher la liste des noms de formulaires Web dans un TMemo:
var formulaires: TStringList; commencer formulaires: = WebFormNames (WebBrowser1.Document COMME IHTMLDocument2); essayer memo1.Lines.Assign (formulaires); enfin formulaires.Gratuit; fin; fin;
Voici comment obtenir l'instance d'un formulaire Web par index. Pour une page de formulaire unique, l'index serait 0 (zéro).
une fonction WebFormGet (const formNumber: entier; const document: IHTMLDocument2): IHTMLFormElement; var formulaires: IHTMLElementCollection; commencer formulaires: = document.Forms comme IHTMLElementCollection; résultat: = forms.Item (formNumber, ") comme IHTMLFormElement fin;