Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Вниз

Заполняем форму Twebbrowseroм 


Pimin   (2002-01-18 03:08) [0]

Уважаемые подскажите рабочий пример, как заполнить twebbrowser-ом простую формочку на странице скажем два поля и нажать на кнопочку, что бы передать эти значения скрипту. С дельфи никогда не сталкивался, а код этот очень нужен, буду очень благодарен.



ctapik-net   (2002-01-18 13:43) [1]

Пример врядли найдешь, а вот подтолкнуть пожалуйста. Тебе надо привести WebBrowser.Document к интерфейсу IHTMLDocument2 Interface. Делается с помощью QueryInterface. Далее читаешь MSDN по IHTMLDocument2. Потом используя IHTMLDocument2 и IHTMLElementCollection Interface, IHTMLInputElement Interface, IHTMLSelectElement Interface, IHTMLTextAreaElement Interface сможешь поменять все что душе угодно. Только писать под Дельфи эту фигню замучиешся, т.к. он некоторые интерфейсы не поддерживает. ИМХО Builder - то что нужно.



nikkie   (2002-01-18 13:59) [2]

ИМХО на дельфи пишутся такие вещи гораздо проще, чем C++ (специфику билдера не знаю, могу сравнивать только с VC++). на дельфи QueryInterface и не нужен - все делается просто приведением типа (WebBrwoser.Document as IHTMLDocument2).

>Дельфи ... некоторые интерфейсы не поддерживает
вот это неправда. такое просто невозможно.

в остальном согласен с ctapik-net - надо в документе найти поля ввода, выставить им значения и нажать на submit.

ЗЫ задача имеет решение и без использования webbrowser, а просто с помощью отправки HTTP-запроса. так, имхо, разумней и легче



Pimin   (2002-01-18 14:09) [3]

Нарыл где то такой вариант...пробывал работает...правда возник глупейший вопрос, но никак не могу сообразить в чем тут дело. Короче в strPostData мы указываем переменные которые передаются скрипту...а как сделать чтобы дынные прали из например Tedit? Если пишу strPostData := "FIRSTNAME=Tedit1.text&...то не получается передаются не значение из полей а просто текст Tedit1.text...может я что-то не так делаю?

procedure TForm1.SubmitPostForm;
var
strPostData: string;
Data: Pointer;
URL, Flags, TargetFrameName, PostData, Headers: OleVariant;
begin
strPostData := "FIRSTNAME=Hans&LASTNAME=Gulo&NOTE=thats+it";
PostData := VarArrayCreate([0, Length(strPostData) - 1], varByte);
Data := VarArrayLock(PostData);
try
Move(strPostData[1], Data^, Length(strPostData));
finally
VarArrayUnlock(PostData);
end;
URL := " http://127.0.0.1/cgi-bin/register.pl";
Flags := EmptyParam;
TargetFrameName := EmptyParam;
Headers := EmptyParam;
WebBrowser1.Navigate2(URL, Flags, TargetFrameName, PostData, Headers);
end;



eblade   (2002-01-18 14:27) [4]

"FIRSTNAME=" + Tedit1.text + "&...



Yuraz   (2002-01-19 10:56) [5]

Люди, если не сложно, то же самое бы с NMHTTP кто написал...



Yuraz   (2002-01-19 11:20) [6]

Делаю вот так, не прокатывает:

NMHTTP1.InputFileMode := FALSE;
NMHTTP1.OutputFileMode := FALSE;

strPostData:="action=" + Edit5.Text + "&"+ "cat=" + Edit14.Text + "&"+ "names=" + Edit6.Text + "&"+ "sity=" + Edit7.Text + "&"+ "adres=" + Edit8.Text + "&"+ "text=" + Edit13.Text ;

NMHTTP1.Post(Edit2.Text, strPostData);




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.035 c
14-317            VuDZ                  2002-02-17 14:43  2002.04.01  
как Вам такая говость:


4-340             mishaa                2002-01-31 01:20  2002.04.01  
win api


1-183             Tsatur Soft           2002-03-16 22:09  2002.04.01  
Поиск


1-147             Doom                  2002-03-20 09:29  2002.04.01  
На первый взгляд вопрос простой...


3-75              SerKom                2002-03-07 18:20  2002.04.01  
Почему для базы на IB (SQL Dialect 3) при использовании типа полей Date или Time