· Выбирая Отладка > Подключиться и выбирая запущенный процесс на сервере Caché для которого подключается.
Чтобы видеть файлы исходного кода INT при отладке, разрешите опцию Сохранять сгенерированный исходный код, в диалоге Инструменты > Параметры, Компилятор, вкладке Общие флажки.
Иногда использование отладки командной строки с командой zbreak может дать Вам лучший контроль.
Отладка программы
Следующий пример показывает, как отлаживается программа Caché.
1. Запустите Студию и выберите Файл > Новый проект чтобы создать новый проект называемый Project1.
2. Создайте новую программу (используя Файл > Создать и щелкая Caché ObjectScript Программа.
3. Введите код для этой программы:
MyTest ; MyTest.MACMain() PUBLIC { Set a = 10 For i = 1:1:10 { Set b = i Write b," " }}4. Сохраните и компилируйте новую программу как MyTest.MAC используя Файл > Сохранить как.
5. Определите цель отладки для проекта выбирая пункт Проект > Параметры > Цель отладки, выбирая Метод класса или программа Caché, и вводя имя точки вхождения в Вашей новой программе, Main^MyTest.
6. Установите точку разрыва в программе: Поместите курсор где-нибудь на строке Set a = 10 и нажмите F9, клавишу Toggle точки разрыва. Индикатор точки разрыва появляется на левой границе,
.7. Выберите Отладка > Старт для начала отладки. Когда отладчик остановится на Вашей точке разрыва, следующая команда которая будет выполнена выделяется желтым прямоугольником. Файл INT открывается в новом окне (если Вы разрешили параметр Сохранять сгенерированный исходный код, в диалоге Инструменты > Параметры, Компилятор, пункте Общие флажки).
8. Введите b и a в окно Просмотр так чтобы Вы могли видеть значения.
9. Выполняйте пошагово программу повторно выбирая Отладка > Шаг внутрь (F11) и обращайте внимание на изменение значения b.
Остановите отладку пошаговым переходом в конец программы или выбирая Отладка > Стоп.
Контрольные вопросы. Какие типы данных имеются для свойств Caché? Какие программы предлагает Caché-куб? Какие кнопки находятся в Студии? Какие типы классов предлагает Caché? Какие разделы справки содержатся в Caché?
Список рекомендуемой литературы
1. В. Кирстен. СУБД Cache: Объектно-ориентированная разработка приложений. Учебный курс./ Кирстен В., Ирингер М., Рёриг Б., Шульте П. СПб. – Питер, 2001. 384 с.
Лабораторная работа 6
Создание Web интерфейса пользователя используя CSP[1]
Теория. Интерфейс пользователя приложения - Web страница содержащая форму HTML, позволяющая Вам редактировать и просматривать данные, для персоны в базе данных. Вы создаете эту Web страницу используя файл CSP который содержит форму (ранее был создан PhoneBook.Person или другой класс).
Задание. Выполните все последующее.
Создание файла CSP
Создать файл CSP в Studio используя мастер Web Форм:
1. Создать новый файл CSP выбирая Файл > новый > вкладка CSP Файл > Caché Server Страница.
2. Окно Редактор CSP отображается содержащее источник для новой страницы CSP с заглавием Unititled.csp. Сохранить это используя Файл > Сохранить. В диалоге Сохранить как, двойной-щелчок на /csp/user чтобы открыть эту папку, введите Person.csp, и щелчок Сохранить как.
3. В окне редактора, поместите курсор в <BODY> секции файла CSP источника и выберите Вставить > Мастер Форм.
4. В Web мастере Форм, щелчок Далее.
5. Выберите класс PhoneBook.Person или др.и щелчок Далее.
Выберите свойства Имя и PhoneNumber или др. из списка доступных свойств. Они должны появиться в списке Выбранные Свойства.Studio показывает исходный код HTML для формы в окне Редактора CSP:
("OBJID"))#> <!-- create a javascript function to invoke a search page --> <csp:search name="form_search" classname="PhoneBook.Person" where="%Id()" options="popup,nopredicates" onselect="update"> <form name="form" cspbind="objForm" cspjs="All" onsubmit='return form_validate();'><center><table cellpadding="3"> <tr> <td><b><div align="right">Name:</div></b></td> <td><input type="text" name="Name" cspbind="Name" size=""></td> </tr> <tr> <td><b><div align="right">PhoneNumber:</div></b></td> <td> <input type="text" name="PhoneNumber" cspbind="PhoneNumber" size=""> </td> </tr> <tr> <td> </td> <td> <input type="button" name="btnClear" value="Clear" onclick='form_new();'> <input type="button" name="btnSave" value="Save" onclick='form_save();'> <input type="button" name="btnSearch" value="Search" onclick='form_search();'> </td> </tr></table></center></form></body></html>Сохранение и компиляция файла CSP, просмотр Web страницы
Вы можете сохранить изменения и компилировать файл CSP выбирая Build > Компилировать или Ctrl-F7 или значок
. Вы можете просмотреть Web страницу в браузере выбирая Вид> Web Страница или значок (рис. 6).Введите данные (три элемента), выполните поиск.
Контрольные вопросы. Какие типы файлов создает Caché? Какие зарезервированные слова используются в исходном коде CSP файла? Что спрашивает мастер Web форм? Перечислите способы компиляции файла CSP и просмотра Web страницы. Какие пункты меню предлагает Студия?
Список рекомендуемой литературы
1. В. Кирстен. СУБД Cache: Объектно-ориентированная разработка приложений. Учебный курс./ Кирстен В., Ирингер М., Рёриг Б., Шульте П. СПб. – Питер, 2001. 384 с.
Лабораторная работа 7
Создание пользовательского интерфейса Web используя Zen
Теория. Zen поддерживает несколько подходов к Созданию основанных на Web форм, подобных форме CSP (см. выше). Фактически, сходный набор технологий обеспечивает основы как для CSP так и для Zen. Zen делает разработку полнофункциональных Web приложений легче при построении на коммуникационных возможностях клиента-сервера которые обеспечивает CSP.
Задание. Создать страницу Zen которая может служить как основанный на Web пользовательский интерфейс для проекта, начатого ранее (при созданном классе). Высокоуровневые шаги:
1. Сделать Ваш класс Zen data adaptor.
4. Использовать форму для добавления элементов БД.
5. Добавить таблицу Zen для отображения элементов БД.
Создание Вашего класса Data Adaptor
Этот шаг использует PhoneBook.Person класс (или другой), который вы разработали для проекта ранее, и преобразует этот класс, чтобы работал как Zen data adaptor. Это не только способ работы с Zen страницами, но это быстрейший способ построения пользовательского интерфейса Zen основанный на существующем классе:
1. Открыть PhoneBook.Person класс.
Видно окно Studio Инспектор. В левой колонке, заголовке, выбрать Класс из выпадающего списка. Алфавитный список ключевых слов класса виден.2. Найти ключевое слово Super и щелкнуть на нем для выделения. Поле хранит имя класса %Persistent. Эллиптическая кнопка появляется справа этого поля. Щелчок на нем. Это открывает диалог где можно выбрать суперклассы в добавление к %Persistent (рис. 7).
В левой колонке диалога, перейти к классу %ZEN.DataModel.Adaptor и выберите его. В центре диалога, щелчок на кнопке >. Имя класса %ZEN.DataModel.Adaptor теперь появится в правой колонке под %Persistent (рис. 8).5. Сохранить и компилировать класс PhoneBook.Person.
Этот шаг создает класс страницы Zen который Вы можете редактировать чтобы создать пользовательский интерфейс для Вашего проекта:
1. Выбрать Файл > Новый или Ctrl-N или значок
.3. Щелчок на значке Новая страница Zen.
4. Щелчок OK. Мастер страницы Zen виден (рис. 9).
Редактировать диалог так:
· Введите Имя Package PhoneBook
· Введите Имя Страницы My Telephone Book
5. Мастер приглашает Вас выбрать формат исходной страницы. Щелчок Заголовок страницы. Затем щелчок Готово.
6. Мастер страницы Zen создает и показывает каркасную страницу Zen с предопределенными параметрами класса и блоки XML - XData Style и XData Contents. Вы не нуждаетесь в изучении этого кода подробно, но быть aware расположения XData Contents в классе. Вы будете изменять этот блок XML чтобы добавить пункты в Вашу новую страницу Zen: