Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

Заполняем форму 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);



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-151
Alex_LG
2002-03-22 08:29
2002.04.01
Как закрыть окно IE? Пишу нечто вроде PopStop


1-139
Sound
2002-03-22 02:22
2002.04.01
Можно ли перевести String в PChar?


6-265
Malder
2002-01-19 13:39
2002.04.01
Перехват Socket соединения


1-174
Dok_3D
2002-03-19 07:28
2002.04.01
XML-файлы большого размера


1-188
madburro
2002-03-18 23:15
2002.04.01
Print