- •Содержание
- •Repository
- •Средства тестирования и анализа
- •Утилита Workbench Organizer
- •Резюме
- •Резюме
- •Резюме
- •Глава 6.Моделирование сущностей и связей
- •Глава 10. Подпрограммы и функции
- •Создание функций увеличения возможности многократного использования текстов
- •Функциональные группы и функции
- •Чтение единственного элемента таблицы
- •Извлечение единственного поля
- •Получение статистической информации
- •Упорядочение результатов запроса
- •Динамическая выборка данных
- •Использование составных критериев выборки Select-Options
- •Динамическое присвоение имен таблиц
- •Вложенные циклы select
- •Представления, определенные в АВАР/4 Dictionary
- •Размер внутренней таблицы
- •Сортировка элементов внутренней таблицы
- •Вставка нескольких строк
- •Изменение таблиц базы данных с помощью команды update
- •Изменение отдельного элемента
- •Изменение нескольких элементов
- •Удаление элементов таблицы базы данных с помощью команды delete
- •Динамическое задание имен таблиц
- •Резюме
- •Временное хранение
- •Пропуск объектов
- •Использование локальных имен для объектов памяти
- •Очистка содержимого объектов памяти
- •Создание отчета
- •Сравнение двух отчетов, разработанных с использованием разных средств
- •Создание программного текста
- •Обработка данных с помощью событий get
- •Что применять: команду select или Logical Databases
- •Задание составных критериев выборки
- •Порядок обработки событий get
- •Работа с несколькими таблицами
- •Глава 16. Пользовательский интерфейс для создания отчетов
- •Определение параметров для экрана выбора
- •События экрана выбора
- •Повышение производительности программы
- •Резюме
- •Детализация объектов
- •Двойной щелчок мышью: событие at line-selection
- •Определение статуса графического интерфейса
- •Проектирование инструментальной линейки приложения
- •Изменение стандартной инструментальной линейки
- •Положение курсора и скрытая информация
- •Команда hide
- •Команда get cursor
- •Фреймы (кадры)
- •Глава 18. Выполнение программы-отчета
- •Вычисление даты в варианте
- •Описание учебной задачи
- •Создание диалоговой программы
- •Создание экрана
- •Задание фрейма с заголовком
- •Работа с сообщениями
- •Вывод сообщения из программы
- •Логический рабочий блок (LUW)
- •Механизм блокировки системы R/3
- •Глава 22. Расширенные функции графического интерфейса
- •Глава 25. Автоматическая генерация программы
- •Связь между программами
- •Вызов удаленной функции
- •Резюме
- •Удаление связей объектов
- •Резюме
- •Приложения
- •Использование Logical Databases при работе с утилитой АВАР/4 Query
- •Простейшие запросы
- •Получение перечня программных элементов
- •Создание заданий (Tasks) и запросы на изменения (Change Requests)
194 |
Глава 17 |
||
|
|
|
|
Положение курсора и скрытая информация
При использовании событий at line-selection и at user-command разработчику, как правило, необходима дополнительная информация о выбранном элементе списка, чтобы найти и вывести на экран в форме всплывающего окна или стекового списка подробную информацию об элементе. К такой дополнительной информации относятся:
1.Поля, принадлежащие выбранной строке (например, customers-id или customers-name)
2.Название и содержимое поля, на котором находился курсор во время двойного щелчка мыши
Вязыке АВАР/4 существует несколько методов для получения этой информации. Рассмотрим использование двух альтернатив:
•Сохранение содержимого поля с помощью hide
•Команду get cursor с дополнениями field и value
Команда hide
Предположим, что программа должна вывести на экран список клиентов с невидимыми идентификаторами:
Команда hide временно сохраняет содержимое поля all_customers-id текущей строки в контролируемой системой области памяти, называемой Hide Area (скрытая область). При интерактивном событии, связанном с действиями пользователя, содержимое поля all_customers-id восстанавливается из Hide Area. Например, если пользователь выберет какую-нибудь строку, то поле all_customers-id будет содержать идентификатор пользователя (например, 87654321), и программа сможет далее использовать этот номер:
В данном примере Hide Area содержит идентификаторы всех клиентов. При двойном щелчке на строке выполняется событие at line-selection, и в поле all_customers-id заносится номер выбранного клиента. Далее команда чтения использует этот номер в качестве ключа для извлечения данных из внутренней таблицы all_customers и выводит подробные данные выбранного клиента в стековом списке.
Команда get cursor
Рекомендуем использовать команду get cursor, если для однозначного определения необходимой строки сохраненной информации недостаточно, например, при создании списка строк различного типа. Команда get cursor возвращает имя поля, на которое указывает курсор, передавая его в дополнительное поле, определенное после дополнения field. Значение поля передается в другое поле, определеннее после дополнения value.
198 |
Глава17 |
||
|
|
|
|
Рис. 17.15
Изменение текстовых
символов
специальные события top-of-page (начало страницы) и end-of-page (конец страницы), характеризующие запись первой строки новой страницы и переход на последнюю строку текущей страницы. Очевидно, что эти события полностью независимы от управляющей структуры программы. Например, событие top-of-page может произойти внутри цикла. Кроме того, оно может быть вызвано командой new-page (новая страница).
Иногда в основном списке не нужен стандартный зависящий от языка заголовок списка. Для отказа от стандартного заголовка в определении отчета указывается дополнение no standard page heading (без стандартного заголовка).
При пролистывании списка отчета заголовок страницы всегда находится в верхней строке экрана. Например, вторая страница отчета, согласно приведенной ниже программе, будет выглядеть так, как показано на рис. 17.16:
Рис. 17.16
При пролистывании списка отчета заголовок страницы всегда находится в верхней строке экрана