Лабораторная работа: Технологія WebSnap

static TWebPageInit WebInit(__classid(TPageProducerPage2), crOnDemand, caCache, PageAccess << wpPublished /* << wpLoginRequired */, ".html", "", "", "", "");


Розкоментуймо фрагмент << wpLoginRequierd. Крім того, тут можна виправити ще одну річ: зробити відображення національних назв сторінок в панелі навігації. Для цього необхідно в цьому ж конструкторі TWebPageInit вставити національну назву сторінки. Таким чином, остаточно рядок виглядатиме так:

static TWebPageInit WebInit(__classid(TPageProducerPage2), crOnDemand, caCache, PageAccess << wpPublished << wpLoginRequired, ".html", "Страница просмотра/редактирования данных", "", "", "");

Тепер потрібно зробити html-сторінку для введення імені і пароля користувача. Найбільш просто скористатися для цього компонентом AdapterPageProducer. Виконаємо команду File | New | Other | WebSnap | WebSnap Page Module. У діалозі параметрів сторінки змінюємо тип Type продюсера з PageProducer на AdapterPageProducer, а також знімаємо прапорець Published, оскільки за умовчанням сторінка для введення пароля не повинна відображатися в панелі навігації (мал. 19 ).

В результаті буде одержаний модуль сторінки з єдиним компонентом AdapterPageProducer (мал. 20 ).

Компонент AdapterPageProducer є спеціалізованим продюсером, що дозволяє генерувати HTML-сторінки для відображення полів адаптерів. Принцип створення сторінки в AdapterPageProducer простий. Весь документ являє собою набір Web-компонентів, які програміст додає в редакторі, а за допомогою інспектора об'єктів при необхідності налагоджує їх властивості і події. Web-компоненти можуть бути вкладені один в другий. Все це дозволяє комфортно і швидко проектувати HTML-документи.

Як адаптер для забезпечення доступу до імені користувача і його пароля використовуємо компонент LoginFormAdapter, який необхідно додати в модуль. Далі подвійним клацанням мишею по компоненту AdapterPageProducer викличемо візуального редактора HTML-сторінки. У ньому натиснемо кнопку New Item і додамо Web-компонент типу AdapterForm (т.е HTML-форму) (мал. 21 ).

Малюнок 19

Малюнок 20

Малюнок 21

Далі, ще раз натиснувши кнопку New Item (при обраному Web-компоненті AdapterForm1), додамо Web-компонент типу AdapterFieldGroup (набір полів для редагування полів адаптера) (мал. 22 ).

Малюнок 22

Для AdapterFieldGroup1 встановимо властивість Adapter рівним LoginFormAdapter1, таким чином вказавши адаптер, поля якого потрібно відображати. У контекстному меню цього керуючого елементу оберімо команду Add All Fields . Тепер для полів FieldUserName , FieldPassword і FieldNextPage властивістю Caption можна задати національні мітки. Стилі міток можна задати властивістю Style із значенням, наприклад, font-family: arial; font-weight: bold; font-size: 12px.

Далі оберімо Web-компонент AdapterForm1, ще раз натиснемо кнопку New Item і додамо Web-компонент типу AdapterCommandGroup (набір кнопок для виклику процедур адаптера). Для Web-компоненту AdapterCommandGroup1 задамо властивість DisplayComponent рівним AdapterFieldGroup1. Результат наших дій представлений на мал. 23 .


Малюнок 23

Залишився останній крок: зберегти модуль під ім'ям LoginPage , перейти в модуль PageProducerPage1 (головну сторінку) вказати у властивості LoginPage компоненту EndUserSessionAdapter1 значення LoginPage

Тепер можна побудувати проект і перенести на Web-сервер файли Unit1.html, Unit2. html Unit3.html, Project1. dll. Подивимося, що з'явилося – вверху сторінки з'явилося посилання з текстом Вход (мал. 24 ).

Малюнок 24

Оберімо Вход або Страница просмотра/редактирования данных , введемо в поля Имя польователя і Пароль (мал. 25 ) ім'я Ellen і пароль admin, як наступну сторінку указуємо Страница просмотра/редактирования данных, натискаємо кнопку Вход.


Малюнок 25

Малюнок 26

К-во Просмотров: 330
Бесплатно скачать Лабораторная работа: Технологія WebSnap