21.02.2019, 07:53 [+3 UTC]
в нашей команде: 3 398 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.69 (10.02.2019)
JS-v.1.33 | CSS-v.3.35

Общие новости:
10.02.2019, 21:59

Форум:
16.02.2019, 15:03

Последний вопрос:
20.02.2019, 20:01
Всего: 148787

Последний ответ:
21.02.2019, 01:04
Всего: 257812

Последняя рассылка:
20.02.2019, 21:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
07.10.2012, 15:51 »
Алексеев Владимир Николаевич
Большое спасибо! Странно, я ведь задавал "G43T" в поиске на www.ecsusa.com/ , но мне возвратилось "Не найдено", а по Вашей ссылке нужная инфа открылось в том же браузере! И после этого повторный поиск тоже сработал успешно! Предложенная Вами сис-плата по 2й ссылке неполноценна для наших условий отсутствием в ней IDE-слота (односельчане регулярно приносят мне IDE-диски на проверку). [вопрос № 186671, ответ
23.06.2013, 11:56 »
Александр Сергеевич
Спасибо!!! [вопрос № 187476, ответ № 272424]
30.11.2010, 15:21 »
Regina
Спасибо Вам огромное, Вы мне очень помогли!))) [вопрос № 181035, ответ № 264442]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 397
zdwork
Статус: 1-й класс
Рейтинг: 111
puporev
Статус: Профессионал
Рейтинг: 105

Перейти к консультации №:
 

Консультация онлайн # 142134
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Akahaos
Отправлена: 24.08.2008, 21:42
Поступило ответов: 1

В общем создаю программу в которой в эдиты вписываются данные такие как Имя, Фамилия, Емаил, Адресс. При нажатии на баттон загружается компонент WebBrowser со страницей в которой есть формы для ввода этих данных. При процедуре WebBrowser1DocumentComplete пишу следующий код для вставки данных из эдитов в формы на сайте:
if (FillForm(WebBrowser1, 'fname', edit12.text) = False) or
(FillForm(WebBrowser1, 'lname', edit13.text) = False) or
(FillForm(WebBrowser1, 'address3', edit1.text) = False)
then
ShowMessage('Error. Field not available or no Form found.')
else
WebBrowser1.OleObject.Document.forms.item('theform').elements.item('Submit').click;
Нажимается кнопка отправить данные.
Далее открывается страница на которой виден результат, удалась регистрация или нет, НО в этот момент ведь опять происходит WebBrowser1DocumentComplete и следовательно опять ищутся поля для ввода, но страница то другая и этих полей там нет. Следовательно выскакивает ошибка, так вот как можно по другому реализовать эти действия, зделать просто чтоб поля не искались а сразу заполнялись, а при их отсутствии при открытии второй страници с результатом ничего не выводилось.
P.S. страница https://
но это еще не все, далее нужно както прочитать данные о том удалась ли регистрация или нет, я поступил так после того как нажалась кнопка Отправить данные вставил паузу - Delay(6000) чтобы успела открыться страница с результатом, далее идет сохранение кода этой страници в txt, а потом идет поиск по ключевым словам, например если в коде страници найдено слово Thank you то выводится сообщение спасибо за регистрацию иначе регистрация не удалась, НО у некоторых интернет очень медленный и 6 секунд не хватает а выставлять большее ожидание это заставлять других ждать лишнее время. Так вот как поступить в этой ситуации???
На этом мои вопросы на данном этапе закончены, прошу помочь мне, и описать пути возможного решения проблеммы как можно подробнее, так как еще не все компоненты освоил в этом замечательном языке программирования)))

Состояние: Консультация закрыта

Ответ # 227802 от Troyan

Здравствуйте, Akahaos!
Вот мои предложения по решению заявленных вами проблем.
По первой проблеме: создаете глобальную логическую переменную. После нажатия на ваш "баттон" устанавливаете ей значение true. Далее во время события WebBrowser1DocumentComplete вы проверяете эту переменную, то делаете описанное в процедуре, привязанной к этому событию, только в том случае, если переменная равна true. В конце процедуры, вызываемой по событию WebBrowser1DocumentComplete обязательно следует установить в false.
По второй проблеме: просто спросите у пользователя тип его модема (сделайте это где-нибудь в настройках или еще как-нить) и в зависимости от этого можно регулировать уже время ожидания. Также можно спросить у пользователя и время, которое он готов ждать.


Консультировал: Troyan
Дата отправки: 24.08.2008, 22:51

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 142134
Akahaos

# 1

= общий = | 24.08.2008, 23:13

По первой проблемме большое спасибо за совет, что то сам не додумался. smile
А вот по второй делать настройки не выход, нужно как то реализовать чтобы код страницы сохранялся только после полной загрузки страници с результатом, была задумка использовать значение title в webbrowser но он оказался одинаковым в обоих случаях.
Хотя щас подумал ведь вторую ситуацию можно также реализовать через эту глобальную логическую переменную. Попробую так и сделать.

Виктор Пырлик

# 2

= общий = | 25.08.2008, 06:01

это cgi сценарий? т.е. библиотека работающая на стороне сервера? Я к тому, что непонятные сложности..

Akahaos

# 3

= общий = | 25.08.2008, 12:46

если можно обойтись без этих сложностей прошу написать как можно это сделать по другому.
Пробовал вот такой код использовать:

procedure TForm1.Button1Click(Sender: TObject);
var
reply: string;
Str: TStringList;
begin
Str:=TStringList.Create;
Str.Clear;
Str.Add('fname='+Edit1.Text);
Str.Add('lname='+Edit2.Text);
try
reply:=IdHTTP1.Post('https://******/********/***.asp?section_code=I03A0B3J', Str);
TextToWebBrowser(reply, Form1.WebBrowser1);
except
TextToWebBrowser('Ошибка при вводе данных!', Form1.WebBrowser1);
end;
Str.Free;
end;

но для https страниц он не подходит, простые норм вставляет, а в хттпс ошибка.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13555 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.69 от 10.02.2019
Версия JS: 1.33 | Версия CSS: 3.35