Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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);



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

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

Наверх





Память: 0.46 MB
Время: 0.005 c
1-232
cok
2002-03-20 18:36
2002.04.01
Tray


3-1
volodya_
2002-03-05 09:17
2002.04.01
Как в Qreport-е посчитать сумму значений по каждой странице?


6-269
-Юра-
2002-01-19 15:14
2002.04.01
Dialup в Виндах


14-290
Kozhanov
2002-02-15 16:05
2002.04.01
Windows XP


6-257
Fred
2002-01-19 03:04
2002.04.01
Как получить подтверждение доставки письма?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский