Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Передача параметров в HTML и программное нажатие


Автор: Desperate 3.7.2007, 00:21
У меня такой вопрос! Страница загружена в WebBrowser, на ней поле для ввода Ника, текстовое поле для ввода сообщения и кнопка отправить, т.е. типа форума простейшего или гостевой книги.
Как мне по нажатию Button передать значения Edit и Memo в эти поля и нажать кнопку Отправить?

Автор: aluk 3.7.2007, 00:27
У мя аналогичный вопрос и никто не отвечает правда я знаю как заполнить поля но как нажать не знаю =((( ща напишу код

Добавлено через 7 минут и 22 секунды
Вобщем открываешь исходный текст сайта(ну правой кнопкой в браузере), ищешь там названия своих полей типа так:
Код

<form action='http://www.wmmail.ru/index.php' method=post name='enter' id='enter'>
     <INPUT type="text" value="" name="ulogin" size="11" class="registr">
     <INPUT type="password" value="" name="pass" size="11" class="registr">
     <INPUT type="image" border="0" name="imageField" src="imgs/but_login.gif" alt="кнопка ввода" width="75" height="21">
</FORM>


Тут кстати с кнопкой в виде картинки но в моем случае нужна действительная кнопка, то есть когда type="submit". Ну если у тя картинкой то те повезло=).
Ну так вот собственно код:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
//    Str            : String;
    Response    : TStringStream;
    Request        : TStrings;
begin
    Request        := TStringList.Create;
    Response    := TStringStream.Create('');

//    Request.Add('Content-Type: application/x-www-form-urlencoded ');
    Request.Add('ulogin=drunk');//здесь ulogin - названия строки ввода, заменяешь его
    Request.Add('pass=drunk');//здесь тоже названия строки ввода, заменяешь его
    Request.Add('imageField.X=2&imageField.Y=2');// здесь imageField -имя картинки типа кнопки

    try
     //    MyHTTP.Request.Referer:= 'http://www.wmmail.ru/index.php/';
        MyHTTP.Post('http://www.wmmail.ru/index.php/', Request, Response);
   
    except
        Application.MessageBox('Ошибка отправки запроса','Ошибка',1);
    End;

end;

Вот заменяешь на свой сайт и вроде должно пахать =)

Добавлено через 8 минут и 52 секунды
не забудь добавить на форму MyHTTP - это IdHTTP1

Автор: Desperate 3.7.2007, 15:13
Что-то не совсем понял! 

тут Request.Add('ulogin=drunk') на что заменять?
так Request.Add('ulogin='+Edit1.text) ?

и как увидеть что текст добавился в эти поля?

в общем у меня кнопка тоже SubMit

Сорри, просто с работой в инете  я слаб!

Автор: December 3.7.2007, 15:19
DRKB вам поможет, так же, как и задавание вопроса в правильном разделе (ActiveX)

Автор: Desperate 4.7.2007, 00:37
Как нажать кнопку вроде нашел. 

Подгружаем в WebBrowser страницу с кнопкой(кнопками) и на Button пишем такую строку

a:=5;
WebBrowser1.OleObject.Document.forms.item(0).elements.item(a).click;

значение а индекс элемента, у меня был 5-ый!


Автор: Rohoss 4.7.2007, 01:23
Цитата(Desperate @  3.7.2007,  00:21 Найти цитируемый пост)
 т.е. типа форума простейшего или гостевой книги.

Во народ пошёл, ещё азов не знает, а уже текст в гостевые и форуме ставить спешит  smile 

Автор: Desperate 4.7.2007, 11:05
smile))))) Я говорил что мне напряжно с сетью работать, а так в полне нормально!
И вообще для чего форум тогда?

Автор: aluk 4.7.2007, 21:54
Цитата(Desperate @ 4.7.2007,  00:37)
значение а индекс элемента, у меня был 5-ый!

А как ты узнал индекс? де его глянул? Если у мя только эти значения:
Код

<input class="input" style="margin-top: 15px" type="submit" value="Ок">


Добавлено через 4 минуты и 3 секунды
Цитата(Desperate @ 3.7.2007,  15:13)
Что-то не совсем понял! 

тут Request.Add('ulogin=drunk') на что заменять?
так Request.Add('ulogin='+Edit1.text) ?


вобщем открой сайт и потом его текстовый вид ищи там строки чот типа этого:
Код

<form action='http://www.wmmail.ru/index.php' method=post name='enter' id='enter'>
     <INPUT type="text" value="" name="ulogin" size="11" class="registr">
     <INPUT type="password" value="" name="pass" size="11" class="registr">
     <INPUT type="image" border="0" name="imageField" src="imgs/but_login.gif" alt="кнопка ввода" width="75" height="21">
</FORM>

INPUT type="text" - это строка логина ее имя-  name="ulogin"
Это пароля:
<INPUT type="password" value="" name="pass"
Вот Request.Add('ulogin=drunk') здесь ulogin имя строки а drunk' - его значение тоесть меняешь на свой логин
с паролем аналогично


Автор: Desperate 5.7.2007, 00:50
Индекс так перебором нашел! Начиная с нуля!

Спасибо, теперь все понял! 

Автор: aluk 5.7.2007, 00:54
а ясно нада будет тоже поискать=)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)