Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/23: Рейтинг темы: голосов - 23, средняя оценка - 4.83
 Аватар для Piratcom
21 / 21 / 3
Регистрация: 05.08.2009
Сообщений: 243

Заполнение "формы" из Delphi

24.01.2010, 09:35. Показов 4721. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я бы хотел узнать, как можно из Delphi заполнить форму в интернете, логин пароль и др. и конечно нажать на кнопку в браузере, вобщем автоматизировать процесс... Можно какой-нибудь небольшой пример...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2010, 09:35
Ответы с готовыми решениями:

Заполнение Web формы (поле select) Delphi
Всем здравствуйте. Решил написать программку, которая открывает WEB страничку (на ней есть поля ввода текста, кнопка и поле select....

Как сделать чтобы Заполнение одного значения формы вызывало заполнение множества других
Народ помогите чтобы при выставлении значения в ячейке формы КПКНазв (основана на табл.Договора) в форму проставлялись значения из таблицы...

Заполнение данных формы на офф сайте данными из моей формы регистрации
У меня нестандартный вопрос.Вот на сайте Assassin's Creed форма регистрации ,я делаю свой веб сайт-что-то типа фан сайта к этой игре,но это...

3
 Аватар для Edik_hacker
14 / 13 / 5
Регистрация: 24.03.2009
Сообщений: 80
24.01.2010, 22:06
Автоматически заполнить поля формы в HTML используя TWebBrowser


Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function fillform(webbrowser: twebbrowser; fieldname: string; value: string): boolean; 
var 
i, j: integer; 
formitem: variant; 
begin 
result := false; 
//no form on document 
if webbrowser.oleobject.document.all.tags('form').length = 0 then 
begin 
exit; 
end; 
//count forms on document 
for i := 0 to webbrowser.oleobject.document.forms.length - 1 do 
begin 
formitem := webbrowser.oleobject.document.forms.item(i); 
for j := 0 to formitem.length - 1 do 
begin 
try 
//when the fieldname is found, try to fill out 
if formitem.item(j).name = fieldname then 
begin 
formitem.item(j).value := value; 
result := true; 
end; 
except 
exit; 
end; 
end; 
end; 
end; 
 
//when the document is complete try to fill out the field homepage with the url 
procedure tform1.webbrowser1documentcomplete(sender: tobject; 
const pdisp: idispatch; var url: olevariant); 
begin 
if fillform(webbrowser1, 'homepage', 'http://www.swissdelphicenter.ch') = false then 
showmessage('error. field not available or no form found.'); 
end; 
 
// show the webbrowser-progress in label1 
procedure tform1.webbrowser1progresschange(sender: tobject; progress, progressmax: integer); 
begin 
if progressmax = 0 then 
begin 
label1.caption := ''; 
exit; 
end; 
try 
if (progress <> -1) and (progress <= progressmax) then 
label1.caption := inttostr((progress * 100) div progressmax) + '% loaded...' 
else 
label1.caption := ''; 
except 
on edivbyzero do exit; 
end; 
end; 
 
//for example you can load the page /en/addtip.php to the twebbrowser 
//when the document is complete the form where you can put your homepage 
//address is filled out 
procedure tform1.button1click(sender: tobject); 
begin 
webbrowser1.navigate('http://www.swissdelphicenter.ch/en/addtip.php'); 
// show the titel of the currently active webpage in the titlebar 
// den titel der aktuellen webseite in der titeleiste anzeigen 
caption := webbrowser1.oleobject.document.title; 
end;
1
 Аватар для Piratcom
21 / 21 / 3
Регистрация: 05.08.2009
Сообщений: 243
25.01.2010, 07:22  [ТС]
Спасибо за код, а можно прокомментировать, а то я не совсем понял код...
На сколько я понял то сканируется сам html, ищутся тэги <form> ну с html я более-или менее знаком...

Эта строчка тоже понятна: webbrowser1.navigate('http://www.swissdelphicenter.ch/en/addtip.php');
но не могу понять как заполняется именно форма а не адрес...

Добавлено через 29 минут
Выдаёт ошибку в
Delphi
1
2
3
4
if webbrowser.oleobject.document.all.tags('form').length = 0 then 
begin 
exit; 
end;
Что ещё нужно добавить, чтобы объявить класс "oleobject"?
0
Nifrit152
30.01.2010, 15:44
Мне тоже самое надо, и процедуру эту я в делфиворд нашел...вот пояснил бы кто, как форму нужную выбрать??? в каком месте как кнопку нажать???
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2010, 15:44
Помогаю со студенческими работами здесь

Заполнение dataGridView одной формы данными из другой формы
Добрый день! Оооочень прошу помочь. Что то никак не могу разобраться. Есть основная форма Form1, в которой у меня идут все...

Заполнение подчиненной формы на основе данных другой формы
Добрый день! Возникла следующая задача: заполнять данные в подчиненной форме из данных в другой форме. Есть форма создания заказа, в...

При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне корректно
Есть строго типизированные DataSet и TableAdapter. При загрузке формы происходит заполнение DataSet, но заполнение происходит не вполне...

Delphi требует написание имени формы перед компонентами этой же формы
Объеденяю две не свои программы и в какой то момент при компиляции стали выдаваться ошибки Undeclared identifier. Прописываю наименование...

Изменение стиля формы с Delphi XE3 на Delphi 7
Сделал программу (2 месяца писал) на Delphi 7, но один раз открыл и скомпилировал её на Delphi XE3(где края кнопок закругленные, а текст...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru