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

{

if (c>0) s += ' | '

if (Page.Name != e.item().Name)

s += '<a href="' + e.item().HREF + '">' + e.item().Title + '</a>'

else

s += e.item().Title

c++

}

}

if (c>1) Response.Write(s)

%>

у файлі Unit1.html генерує панель навігації . Текст функції достатньо зрозумілий, деякі коментарі необхідні лише для останнього оператора Response.Write . Цей оператор виводить рядок з результатом роботи скрипта в HTML-файл сторінки. Ще один приклад можна побачити в тому ж Unit1.html:

<%= Application.Title %>


В результаті роботи цього скрипта на сторінку виводиться її заголовок.

Приклад 3. Використання адаптерів у WebSnap-сервері

Адаптери призначені для зберігання різних параметрів і процедур; вони надають можливість звертатися до них зі скрипта. Сторінка WebSnap палітри компонентів Borland C++ Builder 6 містить декілька видів адаптерів. Найбільш неспеціалізованим є адаптер класу TAdapter. Параметри адаптера зберігаються в так званих полях (AdapterFields ), якінадають програмісту можливість задати оброблювачі для отримання значення поля та інших його параметрів. Клас TAdapter має властивість Data для зберігання полів і керування ними. Процедури дозволяють викликати зі скрипта виконання яких-небудь дій; для керування ними клас TAdapter містить властивість Actions.

Розглянемо приклад створення сторінки для введення імені користувача. Розташуймо компонент Adapter в модулі PageProducerPage2. Визначимо поле, яке повертатиме ім'я користувача. Для цього з інспектора об'єктів викличемо редактора властивості Data адаптера Adapter1. У редакторі натиснемо кнопку New Item. Нам буде запропонований діалог вибору типу поля (мал. 13 ).

Малюнок 13


Оберімо тип AdapterField, оскільки він найбільш підходить для зберігання невеликих рядків. У діалозі при цьому з'явиться елемент AdapterField1, відповідний полю. Оберімо його. Тепер в інспекторі об'єктів перейдемо на закладку Events і визначимо текст оброблювача події OnGetValue. Дана подія виникає кожного разу, коли потрібно дізнатися значення поля. Значення поля, що зажадалося, необхідно повертати через параметр Value, передаваний в оброблювач. Код оброблювача:

void __fastcall TPageProducerPage2::AdapterField1GetValue(TObject *Sender,

Variant &Value)

{

Value = FValue;

}

Тут FValue - змінна, в якій запам'ятовується значення поля AdapterField1; необхідно визначити цю змінну в секції public декларації TPageProducerPage2 (файл Unit2.h) як AnsiString FValue;. Для ініціалізації значення FValue в оброблювачі події OnCreate модуля введемо код: FValue = “Неизвестный человек”;.

Тепер можна отримати доступ до даного поля зі скрипта. Спершу спробуємо виводити значення поля користувачу. Для цього в код шаблону HTML-сторінки Unit2.html треба додати після тега </table> наступний код:

<BR><BR> Здравствуйте, уважаемый <%=Adapter1.AdapterField1.DisplayText%>.

Скомпілюємо проект і розташуємо на Web-сервері файли Unit1.html, Unit2.html, Project1. dll на сервері в теці для скриптів. Запустимо Web-браузер Internet Explorer і в рядку адреси наберемо http://localhost/scripts/project1.dll. В результаті на сторінці PageProducerPage2 побачимо напис Здравствуйте, уважаемыйНеизвестный человек.

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