Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания практические ООП 2012 час...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
18.03 Mб
Скачать

4 Частина

Розташуємо на формі кнопку

Додамо до проекту посилання на бібліотеку:

Створимо нову форму та розташуємо наступні компоненти

Для форми створимо обробники подій

#pragma endregion

// Программа загружает в элемент WebBrowser начальную страницу поисковой

// системы http://yahoo.com. Далее, используя указатель на неуправляемый

// интерфейс DomDocument (свойство объекта класса WebBrowser),

// приводим его к указателю IHTMLDocument2. В этом случае мы получаем

// доступ к формам и полям Web-страницы по их именам. Заполняем поле

// поиска ключевыми словами для нахождения соответствующих Web-страниц,

// а затем для отправки заполненной формы на сервер "программно" нажимаем

// кнопку Submit. В итоге получим в элементе WebBrowser результат работы

// поисковой системы, а именно множество ссылок на страницы, содержащие

// указанные ключевые слова.

private: System::Void Form_p_Load(System::Object^ sender, System::EventArgs^ e) {

this->Text = "Программное заполнение формы";

// *** Для сайта "http://google.com":

//String ^ АдресСайта = "http://google.com"

//String ^ ИмяФормы = "f";

//String ^ ИмяПоляФормы = "q";

// Для сайта "http://meta.ua":

//String ^ АдресСайта = "http://meta.ua";

//String ^ ИмяФормы = "sForm";

//String ^ ИмяПоляФормы = "q";

// *** Для сайта "http://yandex.ru":

//String ^ АдресСайта = "http://yandex.ru";

//String ^ ИмяФормы = "form";

//String ^ ИмяПоляФормы = "text";

// *** Для сайта "http://rambler.ru":

//String ^ АдресСайта = "http://rambler.ru";

//String ^ ИмяФормы = "rSearch";

//String ^ ИмяПоляФормы = "query";

// *** Для сайта "http://aport.ru":

//String ^ АдресСайта = "http://aport.ru";

//String ^ ИмяФормы = "aport_search";

//String ^ ИмяПоляФормы = "r";

// *** Для сайта "http://bing.com":

//String ^ АдресСайта = "http://bing.com";

//String ^ ИмяФормы = "sb_form";

// - в HTML-коде нет name формы, но есть id = "sb_form"

//String ^ ИмяПоляФормы = "q";

// *** Для сайта "http://yahoo.com":

String ^ АдресСайта = "http://yahoo.com";

String ^ ИмяФормы = "sf1"; // или "p_13838465-searchform"

String ^ ИмяПоляФормы = "p"; // или "p_13838465-p"

// Загружаем Web-документ в элемент WebBrowser:

webBrowser1->Navigate(АдресСайта);

while (webBrowser1->ReadyState !=

WebBrowserReadyState::Complete)

{

Application::DoEvents();

System::Threading::Thread::Sleep(50);

}

if (webBrowser1->Document == nullptr)

{

MessageBox::Show(

"Возможно, вы не подключены к Интернету", "Ошибка");

return;

}

// Свойство DomDocument приводим к указателю IHTMLDocument2:

mshtml::IHTMLDocument2 ^ Док = (mshtml::

IHTMLDocument2 ^)webBrowser1->Document->DomDocument;

// В этом случае мы получаем доступ к формам Web-страницы

// по их именам:

mshtml::HTMLFormElement ^ Форма = (mshtml::

HTMLFormElement ^)Док->forms->item(ИмяФормы, nullptr);

if (Форма == nullptr)

{

MessageBox::Show(String::Format("Форма с " +

"именем \"{0}\" не найдена", ИмяФормы), "Ошибка");

return;

}

// В форме находим нужное поле по его (полю) имени:

mshtml::IHTMLInputElement ^ ТекстовоеПоле = (mshtml::

IHTMLInputElement ^)Форма->namedItem(ИмяПоляФормы);

if (ТекстовоеПоле == nullptr)

{

MessageBox::Show(String::Format("Поле формы с " +

"именем \"{0}\" не найдено ", ИмяПоляФормы), "Ошибка");

return;

}

// Заполняем текстовое поле:

String ^ ТекстЗапроса = "Ивлиева";

ТекстовоеПоле->value = ТекстЗапроса;

// "Программно" нажимаем кнопку "Submit":

Форма->submit();

}

Повернемося до першої форми. До першої форми підключимо нову форму. Для події клацання на кнопці створимо обробник для відкриття нової форми

Запустимо прикладення. Якщо клацнемо на кнопці

Завершимо роботу із програмою.

Завдання до виконання практичної роботи №8

Виконати завдання частин 1-4, створити індивідуальне прикладення, назви форм повинні відрізнятися від наведених у прикладу розробки.

Критерії оцінювання :

на "3" студент виконує два із завдань на вибір , пояснює лістинги своїх програм

на "4" студент виконує три завдання, пояснює лістинги своїх програм

на "5" студент виконує чотири завдання, пояснює лістинги своїх програм.

Контрольні запитання:

  1. Яким чином відбувається робота із Веб Браузером?

  2. Яким чином відобразити таблицю у браузері?

  3. Яким чином відобразити флеш-файл?

  4. Яким чином відбувається відображення веб-сторінки та її коду?

  5. Яким чином програмно заповнити веб-форму?

Практична робота №9

Тема: Використання функцій MSWord, MSExel

Мета: Навчитися використанню функцій MSWord, MSExel

Хід роботи: