Популирајте / пошаљите обрасце помоћу 'ТВебБровсер' у Делфима

Тхе ТВебБровсер Делпхи контрола омогућава приступ веб претраживачу из ваших Делпхи апликација - како би вам омогућили да креирате прилагођени Интернет апликацију за прегледавање или да бисте додали своје могућности прегледавања интернета, датотека и мрежа, прегледавање докумената и могућности преузимања података апликације.

Веб Формс

А веб образац или а образац на веб страници дозвољава посетиоцу веб странице да унесе податке који се у већини случајева шаљу серверу на обраду.

Најједноставнији веб образац могао би се састојати од једног улазни елемент (уреди контролу) и а прихвати дугме. Већина веб претраживача (попут Гоогле-а) користи такав веб образац да вам омогући претраживање интернета.

Сложенији веб обрасци укључују падајуће листе, потврдне оквире, радио дугмад итд. Веб образац сличан је стандардном Виндовс обрасцу са контролама уноса и избора текста.

Сваки образац би садржавао дугме - дугме за слање - које поручује прегледачу да предузме акције на веб обрасцу (обично га шаље на веб сервер на обраду).

instagram viewer

Програмско пуњење веб образаца

Ако у својој десктоп апликацији користите ТВебБровсер за приказ веб страница, можете програмски контролисати веб обрасце: манипулирати, мењати, попуњавати, попуњавати поља веб обрасца и предати га.

Ево збирке прилагођених функција Делпхи које можете да користите за листање свих веб образаца на веб страници, за преузимање уносних елемената, програмско попуњавање поља и коначно предавање обрасца.

Да бисте лакше пратили примере, рецимо да постоји ТВебБровсер контрола под називом "ВебБровсер1" на Делпхи (стандардном Виндовс) обрасцу.

Напомена: треба да додате мсхтмл на вашу употребу клаузуле да бисте саставили овде наведене методе.

Наведи имена веб обрасца, узмите веб образац по индексу

Веб страница би у већини случајева имала само један веб образац, али неке веб странице могу имати више од једног веб обрасца. Ево како до назива свих веб образаца на веб страници:

функција ВебФормНамес (цонст документ: ИХТМЛДоцумент2): ТСтрингЛист; вар облици: ИХТМЛЕлементЦоллецтион; образац: ИХТМЛФормЕлемент; идк: интегер; започети форм: = документ. Формира као ИХТМЛЕлементЦоллецтион; резултат: = ТСтрингЛист. Креирај; за идк: = 0 до -1 + облици.дуљина урадитизапочети форм: = форм.итем (идк, 0) као ИХТМЛФормЕлемент; резултат. Додај (форм.наме); крај; крај; 

Једноставна употреба за приказ листе имена веб обрасца у ТМемо-у:

вар обрасци: ТСтрингЛист; започети форм: = ВебФормНамес (ВебБровсер1.Доцумент КАО ИХТМЛДоцумент2); покушати мемо1.Линес. Доделити (обрасци); напокон форме. Бесплатно; крај; крај; 

Ево како набавите инстанцу веб обрасца по индексу. За једну страницу обрасца индекс би био 0 (нула).

функција ВебФормГет (цонст формНумбер: интегер; цонст документ: ИХТМЛДоцумент2): ИХТМЛФормЕлемент; вар облици: ИХТМЛЕлементЦоллецтион; започети форм: = документ. Обрасци као ИХТМЛЕлементЦоллецтион; резултат: = обрасци. Ставка (образацНброј, '') као ИХТМЛФормЕлемент. крај; 

Једном када имате веб образац, можете навести све елементе за унос ХТМЛ-а према њиховом имену, можете добити или поставити вриједност за свако од поља, и коначно, можеш предајте веб образац.

Веб странице могу да смештају веб обрасце са елементима уноса као што су поља за уређивање и падајуће листе којима програмски можете контролисати и манипулирати из Делпхи кода.

Једном када имате веб образац, можете навести све елементе за унос ХТМЛ-а према њиховом имену:

функција ВебФормФиелдс (цонст документ: ИХТМЛДоцумент2; цонст формНаме: низ): ТСтрингЛист; вар образац: ИХТМЛФормЕлемент; поље: ИХТМЛЕлемент; фНаме: стринг; идк: интегер; започети форм: = ВебФормГет (0, ВебБровсер1.Доцумент КАО ИХТМЛДоцумент2); резултат: = ТСтрингЛист. Креирај; за идк: = 0 до -1 + облик.дужина урадити почетно поље: = форм.итем (идк, '') као ИХТМЛЕлемент; ако поље = нил онда Настави; фНаме: = фиелд.ид; ако фиелд.тагНаме = 'УЛАЗ' онда фНаме: = (поље као ИХТМЛИнпутЕлемент) .наме; ако фиелд.тагНаме = 'ИЗБОР' онда фНаме: = (поље као ИХТМЛСелецтЕлемент) .наме; ако фиелд.тагНаме = 'ТЕКСТАРЕА' онда фНаме: = (поље као ИХТМЛТектАреаЕлемент) .наме; резултат. Додај (фНаме); крај; крај;

Када знате имена поља на веб обрасцу, можете програмирати добили вредност за једно ХТМЛ поље:

функција ВебФормФиелдВалуе ( цонст документ: ИХТМЛДоцумент2; цонст формНумбер: интегер; цонст Име поља: низ): низ; вар образац: ИХТМЛФормЕлемент; поље: ИХТМЛЕлемент; започети форм: = ВебФормГет (формНумбер, ВебБровсер1.Доцумент КАО ИХТМЛДоцумент2); поље: = образац Ставка (пољеНаме, '') као ИХТМЛЕлемент; ако поље = нил онда Излаз; ако фиелд.тагНаме = 'УЛАЗ' онда резултат: = (поље) као ИХТМЛИнпутЕлемент). Вриједност; ако фиелд.тагНаме = 'ИЗБОР' онда резултат: = (поље) као ИХТМЛСелецтЕлемент). Вриједност; ако фиелд.тагНаме = 'ТЕКСТАРЕА' онда резултат: = (поље) као ИХТМЛТектАреаЕлемент) .валуе; крај;

Пример коришћења за добијање вредности поља за унос под називом „УРЛ“:

цонст ФИЕЛДНАМЕ = 'урл'; вар доц: ИХТМЛДоцумент2; фиелдВалуе: низ; започети доц: = ВебБровсер1.Документ КАО ИХТМЛДоцумент2; фиелдВалуе: = ВебФормФиелдВалуе (доц, 0, ФИЕЛДНАМЕ); мемо1.Линес. Адд ('Фиелд: "УРЛ", валуе:' + фиелдВалуе);крај;

Цела идеја не би имала вредност ако то не бисте могли попуните елементе веб форме:

процедура ВебФормСетФиелдВалуе (цонст документ: ИХТМЛДоцумент2; цонст формНумбер: интегер; цонст фиелдНаме, невВалуе: низ); вар образац: ИХТМЛФормЕлемент; поље: ИХТМЛЕлемент; започети форм: = ВебФормГет (формНумбер, ВебБровсер1.Доцумент КАО ИХТМЛДоцумент2); поље: = образац Ставка (пољеНаме, '') као ИХТМЛЕлемент; ако поље = нил онда Излаз; ако фиелд.тагНаме = 'УЛАЗ' онда (поље као ИХТМЛИнпутЕлемент) .валуе: = невВалуе; ако фиелд.тагНаме = 'ИЗБОР' онда (поље као ИХТМЛСелецтЕлемент): = новаВалуе; ако фиелд.тагНаме = 'ТЕКСТАРЕА' онда (поље као ИХТМЛТектАреаЕлемент): = новаВалуе; крај;

Пошаљите веб образац

Коначно, кад су сва поља манипулисана, вероватно бисте желели да пошаљете веб образац из Делпхи кода. Ево како:

процедура ВебФормСубмит ( цонст документ: ИХТМЛДоцумент2; цонст формНумбер: интегер); вар образац: ИХТМЛФормЕлемент; поље: ИХТМЛЕлемент; започети форм: = ВебФормГет (формНумбер, ВебБровсер1.Доцумент КАО ИХТМЛДоцумент2); форм.субмит; крај;

Нису сви веб обрасци "отворени"

Неки веб обрасци могу угостити слику цаптцха како би се спречило да се веб страницама програмско манипулира.

Неки веб обрасци се можда неће послати када „кликнете дугме за слање“. Неки веб обрасци извршавају ЈаваСцрипт или нека друга процедура извршава се догађајем „онсубмит“ веб обрасца.

У сваком случају, веб странице се могу програмско контролирати, једино је питање "колико сте спремни ићи?"

instagram story viewer