ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 3
<< Глобальные Назначения >>Информация вы обеспечивают в полях подсказки на Глобальном окне Назначений используются через применение . Те воздействуют на поколение(порождение) исходных текстов для Глобального раздела КОДА применения , и сгенерированного исходного текста для всех процедур . Поля Свойства < Допускают Общий Files> [ы] Допускают Общие Файлы Проверьте эту рамку чтобы указывать что применение будет использоваться В многопользовательской среде . Это могло быть Сетевая , Многопользовательская операционная система , или однопользовательская Многозадачная операционная система . Когда проверено , все файлы данных в применении - ОТКРЫЛСЯ в режиме распределенного доступа 42-ый ( ДЛЯ ЧТЕНИЯ - ЗАПИСИ Отвергают(Отрицают) Что ни один ) вместо режима монопольного доступа 22-ый ( ДЛЯ ЧТЕНИЯ - ЗАПИСИ Отвергают(Отрицают) Запись ) . < Допускают " Мышь " Support> [ы] Допускают Поддержку " Мыши " Проверьте эту рамку чтобы указывать что применение будет позволять Пользователь чтобы использовать " мышь " . Это помещает SETMOUSE (1,1) Оператор в Глобальном разделе КОДА . < Улучшенный Background?> [ы] Улучшенный Фон ? Проверьте эту рамку чтобы указывать что применение будет выполняться На EGA , VGA , или SVGA монитор который позволяет Мигающемуся биту Использоваться как фоновый цвет Улучшают бит ( см. SETNOBLINK в Языковой Ссылке(С. На) ) . < Если Файл Не Found:> Если Файл Не Обнаруженный : Выберите действие чтобы брать когда применение пытается Открывать не-существующий файл данных . ( ) Создают - Пытается СОЗДАВАТЬ Останов file() - Отображает предупреждение тогда возвраты к ДОСУ . < Программа Author:> Программа Author : Введите имя программист для документационных целей . << Пакетный Шаблон >> "Пакетный" шаблон генерирует процедуру которая будет цикл через файл и выполнять операцию на каждой записи . Этот шаблон разрабатывается чтобы позволять изменение или удаление группы записей без кодирования руки . Однако , имеются большое количество вложенного исходного текста указывает чтобы давать программисту максимальную гибкость . ПРЕДОСТЕРЕЖЕНИЕ : Это - очень хорошая идея чтобы делать резервную копию ваших файлов данных перед выполнением пакетного Изменения или Удалять и НИКОГДА не проверяют эти процедуры на живут данные без первого создания копии . Форматер Support Форматер Экрана содержит проектирование экрана по умолчанию содержащее два поля дисплея , и Ok и кнопки Отмены . Спускающееся Меню Formatter и Форматер Отчета не обеспечиваются . Поля Свойства < Ограничение Диапазона Field> Поле Ограничения Диапазона : Диапазон записей чтобы обрабатывать может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice и ITM : Единица содержащая номер invoice и номер Единицы единицы . ITM : Invoice будет Поле Ограничения Диапазона , отображая только те записи для фиксированного номера invoice . Полю Ограничения Диапазона будут назначать Значение Диапазона Field для этого ограничения . < Диапазон Оценивают Значение Диапазона Field> Field : Значение Диапазона Field - поле которое задерживает значение которое нужно использовать как значение компонента клавиши(ключа) ограничения . Компоненту клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поле Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Запись Filter> Фильтр Записи : Вы можете вводить выражение фильтра записи здесь . Если Удаляющийся Действие выбирается , и вы вводите CUS : Состояние = "FL" Как фильтр , тогда все заказчики с кодом состояния "FL" Будет удаляться . Никакая проверка правильности не выполнена на коде который вы вводите - недопустимый Выражение будет генерировать ошибки транслятора . Если вы не Знакомый с Clarion языковые операторы или выражения , Не используйте этот вход - используют поле Формулы с ФИЛЬТРОМ Класс Формулы взамен . < Действие для Batch> Действие для Пакета : Пакетный процесс может или изменяться или удалять записи . "Изменение" будет ПОМЕЩАТЬ каждую выбранную запись . "Удалите" будет DELETE каждая выбранная запись . " Никакие Действия " не не будут ПОМЕЩАТЬ или УДАЛЯТЬ записи . < Показывают Запись Counter> Покажите Счетчик Записей : Проверьте эту рамку чтобы отображать счетчик записей как записи Успешно изменились( заменились) или удалялись . Отображение A Переменная на экране в пределах главного процесса LOOP может замедлять Пакетный процесс немного . Следовательно , вы можете оставлять этот пробел флажка и не иметь никакие модификации экрана в пределах ЦИКЛА . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Установка Procedure> " Процедура Установки " Немедленно после оператора CODE . < Установка Screen> " Экран Установки " После ОТКРЫТОГО оператора (Экрана) . < Перед файлом SET() ">" Перед файлом SET() " Перед НАБОРОМ который будет определять файл обрабатывающий порядок . Этот вложенный источник - идеальное место чтобы заполнять значения клавиши(ключа) для многократной клавиши(ключа) компонента SET . < Перед ЦИКЛОМ ">" Перед ЦИКЛОМ " После команды SET но перед главным ЦИКЛОМ . В этом положении вы можете отменять оператор SET , или вводить любой код установки ЦИКЛА . < ЗАТЕМ Ошибка Записи Check ">" ЗАТЕМ Ошибка Записи Check " Немедленно после команды NEXT . Это позволяет проверке функции ERRORCODE() обеспечивать что не имелись никакие ошибки . ПРЕДУПРЕЖДЕНИЕ : Если никакая проверка ошибки не делается здесь чтобы позволять ПРЕРЫВАНИЕ снаружи Из цикла , вы БУДЕТЕ получать бесконечный цикл ! < В пределах ЦИКЛА ">" В пределах ЦИКЛА " После ПОЛУЧАЮЩЕГОСЯ к любым вторичным файлам . Это - основа обработки LOOP . Если using запись фильтра , этот код может всегда не выполняться если запись фильтруется снаружи . Если Большое Количество к 1 связям существуют в Файле Схематический , поиски будут уже выполнены . Любые формулы созданные с формулой Форматер ( за исключением ФИЛЬТРА ) будет выполняться только до этого вложенного исходного текста . Следующий оператор который выполняется после этого кода ПОМЕЩЕН или УДАЛЯТЬ записи если Изменение или Удаляют выбрался для этого пакета . < ПОМЕЩАЮТ / УДАЛЯТЬ Ошибку Записи Check ">" ПОМЕЩАЮТ / УДАЛЯТЬ Ошибку Записи Check " Немедленно после ПОМЕЩЕННОГО или команды DELETE . Это позволяет Проверка ERRORCODE() функционируют чтобы обеспечивать что имелись Никакие ошибки при замене записи . Если вы заменяете( изменяете) поля Который - компоненты уникальных клавиш(ключей) , или если вы Выполняете этот пакетный процесс на общих файлах , вы можете вводить Вашу собственную схему обработки ошибок здесь . Если " Никакие Действия " не Выбирался для этого пакетного процесса , это вложенное окно кода не Необходимо . < Конец Процедуры ">" Который Конец Процедуры " Код помещенный в это окно выполняет после всего другого кода в процедуре выполнился . В этой отметке , Отчет закрывается . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Классифицирует ФИЛЬТРУЮТ Условное Поле с "ФИЛЬТРОМ" в поле Класса Формулы Используется чтобы выбирать который записи обрабатываются . Если Выражение Условия оценивает чтобы обнулять (неправильный) для данной Записи , это не обрабатывается . < Никакой класс (пробел) > Никакой класс (пробел) Не вычисляет формулу каждый раз запись не обрабатывается . << Просматривающийся Шаблон >> "Просматривающийся" шаблон генерирует процедуру которая листает файлы данных на экране подобно электронной таблице . Выбранные поля из файла данных отображаются как столбцы в блоке списка . Столбцы которые не удовлетворяют( приспосабливают) в блоке списка отображаются using горизонтальная линейка прокрутки или левый и клавиши стрелки "вправо" . Селекторная полоса всегда устанавливается поверх одиночной строки . Клавиши стрелок "вверх" и "вниз" перемещают селекторную полосу . Перемещение селекторной полосы в готовности от верхней строки или вниз от строки нижних частей листает новую запись в блок списка . PGUP и PGDN клавиши(ключи) листают предшествующие и следующие страницы записей в блок списка . CTRL-PGUP отображает первую страницу записей и CTRL-PGDN отображает последнюю страницу записей . Нажим правой кнопки " мыши " в верхней половине блока списка перемещается в готовности и в нижней части половина перемещается вниз . Необязательное поле устройства ввода позиций находит специфическую запись в файле . Печать любой символ в то время как поле списка - активные выборы поле устройства ввода позиций . Завершение поля устройства ввода позиций с клавишей (ключом) TAB или CLICK " мыши " отображает самый близкий запись соответствия в верхней части блока списка . Поля могут помещаться прежде или после поля списка в Списке Полей . Выбор поля списка из предшествующего поля отображает первую страницу записей . "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons , или любое другое поле которое обрабатывает запись под селекторной полосой , должно помещаться после поля списка в Списке Полей . Набор дисплея - только полей которые появляются последовательно в Списке Полей может обозначаться как " горячие поля " . Горячие поля отображают значения из записи под селекторной полосой и изменением всякий раз, когда селекторные перемещения полосы . Форматер Support "Просматривающаяся" процедура в CLARION.APP пред-загружается размещением экрана содержащим блок списка и pushbuttons именованный "Вставкой" , "Zизменять"("Dзаменять") , "Удалять" , и "Выход" . Поле приравнивают метку блока списка ДОЛЖЕН БЫТЬ "?List" и "Непосредственный" атрибут ДОЛЖЕН БЫТЬ на включенном . Горизонтальная линейка прокрутки может выключаться если требуемая информация удовлетворяет(приспосабливает) в блоке списка . Вертикальная линейка прокрутки игнорируется шаблоном . Блок списка не может иметь процедуру редактирования . Все другие свойства блока списка могут изменяться( заменяться) . Поля из связанных файлов могут листаться в listbox поскольку "поиски" будут выполнены автоматически из Первичного файла в Файле Схематическом . "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons вызывают процедуру модификации чтобы обрабатывать выбранную запись ( процедуры модификации обычно создаются с "Формой" или шаблоном "MultiPage" ) . Имя процедуры должно вводиться как " Процедура Модификации " свойство . Если не имеется никакая процедура модификации , эти pushbuttons может удаляться . Если всего три pushbuttons удаляются и вы именовали процедуру модификации , ВСТАВКУ , ENTER и клавиши(ключи) DELETE будут Вставлять , Изменяться , и Удалять записи в то время как блок списка выбирается . Однако , если только один или двух из этих кнопок переместились , функция той кнопки ( Вставка , Изменитесь , или Удалите ) будет перемещаться из блока списка к тому же и никакую процедуру модификации не будут запрашивать та функция . "Выход" pushbutton имеет процедуру редактирования "RETURN" и может удаляться ( некоторое другое средство должно делаться чтобы возвращаться из процедуры ) . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню . Такие операторы должны вводиться как вложенный источник . Форматер Отчета не обеспечивается . Поля Свойства < Поле Ограничения Диапазона : > Поле Ограничения Диапазона : Диапазон записей чтобы отображаться может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным Invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice И ITM : Строка содержащая номер invoice и номер строки Единица . ITM : Invoice будет Поле Ограничения Диапазона , отображая только Те записи для фиксированного номера invoice . < Значение Диапазона Field : > Значение Диапазона Field : Значение Диапазона Field - поле которое задерживает значение которое Нужно использовать как значение компонента клавиши(ключа) ограничения . Компоненту Клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поля Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Фильтр Записи : > Фильтр Записи : Имеются 2 способа вводить фильтр записи : Генератор формул может использоваться с классом формулы Чтобы "FILTER утверждать выражение как введено . Эта строка Фильтра Записи будет позволять ввод свободного формата A Записывают выражение фильтра . Код введенный здесь не будет Утверждаться перед компилирующимся следовательно , код введенный здесь может Генерировать ошибку транслятора если введено неправильно ! Те кто Не полностью знакомый с Языком Clarion должны использовать Генератор формул вместо этой опции входа . < Поле Устройства Ввода позиций : > Поле Устройства Ввода позиций : Поле устройства ввода позиций - поле входа экрана которое модифицирует A Компонент первичной клавиши(ключа) доступа файла . Когда поле Устройства ввода позиций вводится , самым близким запись соответствия отображается в Блоке списка . Например , при прокрутке файла продавца в последовательности имен продавцов Использует клавишу(ключ) которая содержит поле имени продавца ( например . VND : Имя ) . Чтобы создавать поле устройства ввода позиций имени продавца , поместите A VND : поле входа Имени на экране ниже блока списка и Введите VND : Имя для Поля Устройства Ввода позиций . Если пользователь напечатает символ на клавиатуре , устройство ввода позиций Поле выбирается и позволяет вход для соответствия . Нажим Клавиша(ключ) Метки Табуляции устанавливает полосу отметки к самому близкому соответствию . < Процедура Модификации : > Процедура Модификации : Введите имя процедуры модификации которую нужно использовать чтобы вставлять , Изменять( заменять) , или удалять записи . Если никакая процедура модификации не Вводится , "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons Должен перемещаться из размещения экрана . < Сначала Горячее Поле : > Сначала Горячее Поле : Горячие поля - набор дисплея - только полей которые отображаются Содержимое записи под селекторной полосой . Они должны Появляться последовательно в Списке Полей . Введите имя первого горячего поля . < В последний раз Горячее Поле : > В последний раз Горячее Поле : Введите имя последнего горячего поля . < Допускают Горячие Записи : > Допускают Горячие Записи : При предоставлении горячие записи программист имеет законченное управление Во время каждого движения блока списка от Просматривающегося администратора . С этой Допускаемой опцией , каждое движение полосы отметки получает Запись под полосой отметки в память , ищет любое большое количество к Одним вторичным файлам , вычисляет любые общие формулы и Выполняет любой вложенный исходный текст который вводился в " Обрабатывают Выбранные Записи " окно кода . Вложенный Источник < Данные Section> " Раздел Данных " В разделе данных процедуры после локальных данных , Экран и спускающиеся структуры . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Установка Procedure> " Процедура Установки " После оператора CODE . < Установка Screen> " Экран Установки " После ОТКРЫТОГО оператора (Экрана) . < ПЕЧАТАЮТ Класс Formula> " ПЕЧАТАЮТ Формулу Класса " После того, как поколение(порождение) LIST классифицируют формулы . Этот вложенный код Окно может использоваться вместо формул класса LIST . Это будет Позволять установку любых полей которые отображаются в пределах Прокрутки listbox . < Конец Общего Formulas> " Конец Общих Формул " При обработке поля экрана , формулы которые не Имеют класс "FILTER" или "СПИСКА" будет генерироваться . Это Вложенное исходное окно позволяет вход вычислений для Поля дисплея экрана без применения Формулы Форматер . < Устанавливают к Первому Record> " Устанавливают к Первой Записи " Когда Ограничения Диапазона using , оператор SET выводится чтобы размещать Первая запись . Это вложенное окно исходного текста появляется Только после того, как сгенерированный оператор SET и позволяет вам Отменять НАБОР . < Устанавливают чтобы Длиться Record> " Набор чтобы Длиться Запись " Когда Ограничения Диапазона using , оператор SET используется чтобы размещать Самое близкое соответствие к последней записи . Это вложенное окно исходного текста появляется только после НАБОРА и позволяет вам отменять НАБОР . < Обрабатывают Выбранный Record> " Обрабатывают Выбранную Запись " Когда Допускают Горячие Записи проверился , код в пределах этого вложенного исходного окна выполняется на любое движение полосы подсветки блока списка . Высвеченная запись восстанавливается(отыскивается) В память , любое Большое Количество к Одним вторичным записям файла Восстанавливаются(отыскиваются) , и любые общие формулы вычисляются только до этого вложенного исходного текста . < Конец Procedure> " Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле завершилось . Формула Классифицирует ФИЛЬТР Условное Поле с "ФИЛЬТРОМ" в поле Класса Формулы Используется чтобы выбирать который записи отображаются . Если Выражение Условия оценивает чтобы обнулять (неправильный) для данного Запись , это не отображается . СПИСОК Условное Выражение или Вычисленное Поле с "СПИСКОМ" в Формуле Поле Класса используется для тех значений которые будут отображаться В блоке списка и только оцениваются когда единица блока списка Создается . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами редактирования поля в верхней части поля обрабатывающего код . << Порожденнный Шаблон >>
"Порожденнный" шаблон создает процедуру которая имеет экран с особенностями из и Просматривающимся и шаблонами Формы . Этот экран шаблона имеет и перемещающуюся область и область модификации записи . Этот шаблон разрабатывается чтобы обрабатывать пакет порожденнных записей как одиночная транзакция . Этот пакет записей должен быть в файле который является порожденнным файлом в связи порожденнный по хозяев ( большое количество стороны связи "один ко многим" ) . Когда Порожденнная Процедура вызывается , все из связанных записей дочерних записей для допустимой записи хозяина в памяти будут загружаться в ОЧЕРЕДЬ памяти ( запись хозяина должна постоянно находиться на диске как и в памяти ) . QUEUE может изменяться при добавлении , или записи удаления , изменение . На завершение OK кнопки , записи QUEUE записываются обратно на диск как одиночная транзакция . Изменения к QUEUE отбрасываются если кнопка Выхода выбирается . Чтобы поддерживать самый высокий уровень целостности данных , модификация порожденнного файла создается в пределах процесса Транзакции . ( См. эссе на Диалоговой Обработке Запросов в руководстве Программист для подробностей . ) Btrieve и Clarion драйверы файла обеспечивают Диалоговую Обработку Запросов . Так , Порожденнный файл должен использовать один из этих драйверов файла чтобы работать правильно . Для драйверов которые не обеспечивают диалоговую обработку запросов , комбинация шаблона ПРОСМАТРИВАЛО - ФОРМЫ могут использоваться . Правильный Файл Схематический существенен к соответствующей операции Порожденнной процедуры шаблона . При выборе Файлов ... кнопка из Процедуры экран Properties вы можете просматривать существующий файл схематический , или создавать новые файл схематический если этот уже не определился . Порожденнный файл должен быть первый (первичный) файл в Файле Схематическом . Файл хозяина должен быть напечатан ниже порожденнного файла , и должен иметь связь определенную с порожденнным файлом как в примере ниже : Этот Файл Схематический обеспечивается : --------------------------------- Первичный ( Порожденнный файл ) > Вторичный ( файл Хозяина для Порожденнного ) Этот Файл Схематический не обеспечивается : ------------------------------------- Первичный ( файл Хозяина ) >> Вторичный ( Порожденнный файл Хозяина ) Следующее - контрольный список чтобы помогать в создании Порожденнной процедуры шаблона впервые : - Создают Файл схематический как показано выше ( Порожденнный файл сначала , Тогда файл Хозяина ) . Выберите клавишу(ключ) Доступа из Порожденнного файла Использовать для порядка listbox . - В Форматере Экрана , поместите Перемещающиеся поля из Порожденнный файл в блоке списка , и Порожденнных полях Входа файла в Область выше Сохраняющийся и кнопки Выхода . - Переупорядочивают поля на экране так что область входа Поля последовательны . Не забудьте который поле ваш первое Поле модификации . Сохраните структуру экрана . - Заполняют снаружи Первое Поле Модификации и Процедуру Файла Хозяина Поля Property . Эти поля требуются . Форматер Support Экран порожденнного шаблона по умолчанию предопределен с двумя логически раздельные области , перемещающаяся область и область входа поля . Перемещающаяся область печатает все записи дочерних записей для выбранного хозяина . Стандартные клавиши(ключи) блока списка доступны чтобы перемещаться через порожденнные записи . ( См. справку просматривающегося шаблона для подробностей . ) Кнопки ниже блока списка позволяют пользователю Вставлять , Изменять( Заменять) или Удалять записи . Также , OK и кнопка Отмены активен в то время как в перемещающейся части экрана . Область входа поля подобна Форме в операции . Поля Входа помещаются в эту область чтобы позволять ввод данных для порожденнной записи . Поля в этой области должны быть последовательные в структуре экрана и должны немедленно предшествовать Сохраняющийся и Выйдите кнопки поскольку блок полей - выборочно ENABLE() " d и DISABLE() " d при перемещении назад и вперед между перемещающейся областью и областью модификации . Запись может сохраняться на блок списка using Сохраняющаяся кнопка , или это может стираться using кнопка Выхода . OK и кнопки Отмены только доступен в то время как в перемещающейся области . Если OK кнопка завершается , входы в QUEUE записываются на диск в пределах транзакции . Если любая ошибка происходит , весь набор записей прокручиваются обратно к состоянию файла прежде, чем OK кнопка завершалась и пользователю дают возможность изменять( заменять) любые прикладные записи и делать попытку сохраняющийся снова . Если Спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Спускающийся - ОТКРЫЛСЯ после структуры экрана , и закрывается на выход из процедуры . Форматер Отчета не обеспечивается . Поля Свойства : < Сначала Модификация Field> Сначала Поле Модификации : Порожденнный шаблон имеет 2 раздельных режима операции . Шаблон выборочно отключает поля которые не Соответствующий к текущему режиму . При прокрутке Области - Только перемещающееся поле области доступно . Область Входа Поля - Только вход специфические поля доступна . Вы ДОЛЖНЫ вводить Первое Поле Модификации здесь . Это должно быть Первое поле входа для Порожденнного файла . Это необходимо К правильно ENABLE() диапазон полей в экране Структура из этого поля к Выходу pushbutton . Если Поля не последовательны в Списке Полей , соответствующий Поля не могут быть ДОПУСТИЛ или ОТКЛЮЧИЛ . Самый простой способ Обеспечивать последовательные поля входа должен к Авто Переупорядочивают Поля экрана только до сохранения экрана . < Файл Хозяина : > Файл Хозяина : Файл Хозяина ДОЛЖЕН ОБЕСПЕЧИВАТЬСЯ чтобы идентифицировать который файл Хозяина чтобы использовать для связи . Порожденнный шаблон - Когда разрабатывается чтобы обрабатывать связь между 1 Хозяином и 1 Порожденнный файл . Чтобы обеспечивать что только 1 пользователя в многопользовательском Среда может изменять пакет порожденнных записей одновременно , A HOLD помещается в запись хозяина . Это будет сообщать к Другие Порожденнные процедуры которые дочерние записи для этого хозяина В настоящее время изменяются . Другие процедуры будут способны Читать запись хозяина , но не будут способны изменять это . Следовательно , это важно это когда using Порожденнная процедура Шаблона чтобы изменять записи файла , что не не имеются никакие другие Процедуры которые могут изменять этот порожденн записи . ( Пример : There must be no Form template which may modify a child Запись файла в то время как это модифицируетесь через Порожденнный Шаблон . ) < Выходят на Пустом Указателе Parent:> Выйдите на Фиктивном Хозяине : Так как хозяин записывают информацию критический к нахождению Правильные дочерние записи для хозяина , вы могут выбирать чтобы ВОЗВРАЩАТЬСЯ Из порожденнной процедуры когда никакая запись хозяина не Выбралась . Вы можете вводить вложенный исходный текст чтобы выбирать A Запись хозяина и оставлять этот пробел checkbox . < Хозяин Модификации на Хозяине Модификации OK:> на OK : С этим допускаемым checkbox , запись хозяина помещается обратно к Файлу на завершение OK кнопки . Это позволяет Модифицирование любой информации хозяина которая может Изменяться( заменяться) в то время как в Порожденнной процедуре . Вложенный Источник < Данные Section> " Раздел Данных " В разделе данных процедуры после локальных данных , Экран и спускающиеся структуры . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Установка Procedure> " Процедура Установки " После оператора CODE . < Установка Screen> " Экран Установки " После ОТКРЫТОГО (Экрана) . < Верхняя Часть ВВОДА Loop> " Верхняя Часть Цикла ВВОДА " После оператора LOOP и до производства полей формулы . < До Return> " До Возврата " После выхода главный цикл , но до заполнения Очереди . Это будет хорошее место чтобы добавлять код который нуждается к циклу Через RecordQueue для информации перед выходом . < Конец Procedure> " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Вводят Режим Прокрутки Routine> " Вводят Подпрограмму Режима Прокрутки " После ОТКЛЮЧАЮЩЕГОСЯ и ДАЙТЕ ВОЗМОЖНОСТЬ полей включать к Прокрутка области из области поля входа . Это хорошо Поместите чтобы отменять автоматическое предоставление и отключение . полей < Вводят Режим Модификации Routine> " Вводят Подпрограмму Режима Модификации " Также хорошее место чтобы отменять автоматическое предоставление и Отключение полей , но при продвижении модифицировать режим . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . << Внешний Шаблон >> "Внешний" шаблон регистрировал Генератор Прикладных программ что процедура содержится в внешнем источнике , обьектный , или Библиотечный файл . Никакой исходный текст не генерируется для "Внешней" процедуры . Прототип процедуры помещается в MAP программы из Структуры МОДУЛЯ Файл Include именованный на окне Свойств Модуля . Поле Имени Модуля должно содержать имя файла внешнего источника , возражать или библиотечный файл . << Шаблон Файла >> Шаблон Файла производит процедуру которая будет позволять пользователю Выбирать имя файла DOS из распечатки файлов на в настоящее время регистрируемом диске . Пользователь может использовать клавиатуру или " мышь " чтобы изменять( заменять) каталоги или выбирать файл . Так как маска файла - поле Входа , маска файла может изменяться( заменяться) пользователем . " Мышь " дважды нажимают на кнопке 1 ( левая кнопка на правой " мыши " ) будет изменять( заменять) каталог если блок списка каталога выбирается , или будет выбирать высвеченный файл если в блоке списка файлов . Форматер Support Процедура "Файла" в CLARION.APP пред-загружается размещением экрана содержащим 2 listboxes , 1 поле входа маски файла , 1 поле дисплея имени каталога , и 2 pushbuttons именованный "OK" и "Отмену" . Файлы listbox показывает имена файла в выбранном каталоге которые соответствуют( согласовывают) маске файла . Каталоги listbox отображает любые подкаталоги в текущем каталоге и директории предыдущего уровня обозначенной " . . " когда доступно . Поле входа маски файла больше в значительной степени чтобы содержать простую маску файла " * . ??? " и будет заставлять блок списка файлов восстанавливаться когда изменено . Поле дисплея каталога будет отображать текущий каталог до 35 символов . OK pushbutton будет записывать выбранное имя файла к определяемому Имени Файла Variable и Отменять pushbutton будет возвращать к процедуре вызова оставляющей Имя Файла Variable с первоначальным содержимым . Поля Свойства < Имя Файла Variable:> Имя Файла Variable : Имя файла может сохраняться в любой переменной строки . ( Это - Когда предлагается(предполагается) чтобы использовать STRING (64) так как маршрут будет добавляться . DOS Позволяет 64 символьных им. файла . ) Однако , переменная по умолчанию Добавился к глобальным данным Применения По умолчанию Файл ( GLO : Filespec в CLARION.APP ) и это будет задерживать Имя файла если Имя Файла Variable пуст . < Начальный Directory:> Начальный Каталог : Произвольно , начальный каталог может определяться для Открытие распечатки каталога ( подобно ОТЧЕТАМ ) . Шаблон Файла Будет вызывать SETPATH() только до заполнения блока списка . Другой SETPATH() будет возвращаться к первоначальному маршруту перед Возврат из этой процедуры . < Начало файла mask:> Начало маски файла : Начинающаяся маска файла может также вводиться чтобы использовать для Открытие списка файлов . Файлы будут сортироваться в пределах маски . Если никакое соответствие для маски файла не обнаружено , текст " НИКАКИЕ СООТВЕТСТВИЯ " Будет появляться в блоке списка файла . Если никакое Начало Маски Файла Вводится маска файла по умолчанию " *.* " Будет использоваться . < Затем Procedure:> Следующая Процедура : Введите имя процедуры которую нужно вызвать один раз имя файла Успешно выбрался . Имя Файла Variable будут Назначать выбранное имя файла и Следующая Процедура будет Вызываться . Шаблон Просмотра разрабатывался в конъюнкции с шаблоном Файла и может использоваться чтобы просматривать выбранный файл . Введите Имя процедуры созданной с шаблоном Просмотра как Следующая Процедура для этой комбинации . < Переназначают На Return:> Переназначают На Возврат : Если Следующая Процедура определяется , опция обеспечивается чтобы иметь Один из следующего происходят : 1) Возврат к процедуре вызова после возврата из Процедура модификации . ( По умолчанию ) 2) Позволяют пользователю переназначить другое имя файла после возврата Из процедуры модификации . ( Когда checkbox проверяется . ) Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры перед локальными данными , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Не классифицирует Никакие классы формулы обеспечиваются в соответствии c этой процедурой Template . Поля Формулы не обеспечиваются . << Шаблон Формы >> Шаблон "Формы" генерирует процедуру которая будет ADD , ЧТОБЫ ZИЗМЕНЯТЬ или УДАЛЯЮТ запись из первичного файла процедуры ( как определено в Файле Схематический ) . Шаблон учитывает многократные автоинкрементные поля клавиши( ключа) и проверки параллелизма многократных полей записки . Справочные ограничения целостности предписываются для любой 1 : БОЛЬШОЕ КОЛИЧЕСТВО связей к Первичному файлу . Начальные значения поля из Словаря Данных пред-загружаются в течение ДОБАВЛЯЮЩЕГОСЯ . Проверка Диапазона генерируется из описаний Словаря Данных и предписывается в течение ДОБАВЛЯЮТ или ИЗМЕНЕНИЕ . Если условие диапазона вне существует , пользователя зарегистрируют относительно допустимого диапазона для поля , и курсор помещается в то поле для редактирования . Шаблон генерирует операторы GET чтобы обращаться к вторичным файлам где связь определяется как MANY:1 . " Должен Быть в Файле " автоматическая проверка правильности входа поля из Словаря Данных предписывается когда пользователь нажимает OK кнопку . Если значение введенное в поле не существует в определяемом файле , пользователь зарегистрирует и помещаются обратно на поле . Используйте строку Процедуры РЕДАКТИРОВАНИЯ поля если вы хотите вызывать Утверждающуюся процедуру . Если применение устанавливается чтобы СОВМЕСТНО ИСПОЛЬЗОВАТЬ файлы , процедура предписывает многопользовательскую проверку параллелизма в уровне записи . Если конфликт является результатом двух или большего количества автоматизированных рабочих мест пытающихся модифицировать ту же самую запись , экран Пользователь регенерируется с записью как изменено другим автоматизированным рабочим местом , пользователя зарегистрирует относительно изменения , и помещают обратно в режиме редактирования . < Справочный Integrity> Если Реляционные Ограничения определились в Словаре Данных , код генерируется чтобы предписывать Ограничение на 1 : БОЛЬШОЕ КОЛИЧЕСТВО связей . Все Справочные Ограничения Целостности предписываются из Первичного файла для процедуры , вниз на Реляционное Дерево Файлов для так много уровней как существуют . < Выработка(Кадрирование) Транзакции > В течение реляционного Изменения или Удалите HOLD помещается в Первичную запись файла . Все порожденнные файлы Первичного файла модифицируются в пределах фрейма транзакции чтобы гарантировать " весь или ничто " не модифицируют или удаляют . Если LOGOUT не может инициализироваться , пользователю дают возможность чтобы повторять модификацию или удалять . < Никакая Выработка(Кадрирование) Транзакции > Не все драйверы файла обеспечивают диалоговую обработку запросов . Если драйвер файла не обеспечивает оператор LOGOUT , код генерируется чтобы модифицировать файлы без прибыли(пользы) фрейма транзакции . Также , если файлы в Связи используют многократные драйверы файла , справочный модифицируют / удалять не может использовать оператор LOGOUT . Например , если связь файла определяется с одним файлом using Btrieve драйвер и связанный файл using Clarion драйвер , код генерируется без фрейма транзакции ВЫХОДА ИЗ СИСТЕМЫ . Любое положение имеет потенциал чтобы компрометировать справочную целостность вашей базы данных . Если модифицирующийся / удаляющийся терпит неудачу для любой причины , ваши файлы не могут восстанавливаться к их первоначальному состоянию . Форматер Support Экран по умолчанию содержимый в CLARION.APP имеет локальную переменную именованную LOC : Сообщение помещенное в верхней части экрана входа . Эта переменная используется чтобы сообщать пользователю относительно текущего действия : Добавьте , Изменитесь , или Удалите записи на экране . Отображаемое сообщение сохраняется в CLARION.APP в глобальных переменных как GLO : InsertMsg , GLO : ChangeMsg , и GLO : DeleteMsg . Вы можете вводить ваши собственные сообщения в Процедуру окно Properties . Если любой Запрашивают сообщение заполняется в , это будет использоваться вместо глобальных значений сохраненных в .APP файле по умолчанию . Экран по умолчанию имеет две кнопки : Ok и Отмена . Об из этих полей требуются шаблоном . Если Спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Спускающийся - ОТКРЫЛСЯ после структуры экрана , и закрывается на выход из процедуры . Форматер Отчета не обеспечивается . Поля Свойства < Вставка Message> Сообщение Вставки Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Вставки записи . < Изменение Message> Сообщение Изменения Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Изменения записи . < Удаляют Message> Удалите Сообщение Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Удаления записи . < Действие после ADD> Действие после ДОБАВЛЯЮТ Шаблон обеспечивает многократный добавляет без оставления ФОРМЫ Экран . Имеются четыре возможных действия после ДОБАВЛЯЮЩЕГОСЯ : " Возврат к вызывающему оператору " генерирует код чтобы возвращаться к вызову Процедура после записи добавляется . " Сохраните Запись " генерирует код чтобы позволять непрерывный ДОБАВЛЯЕТ Без очистки буфера записей или экрана . Когда Пользователь выбирает "Ok" кнопку буфер записей содержимое - ДОБАВИЛ к файлу и пользователь помещается обратно на первом Поле входа на экране . Если имеются Автоинкрементные клавиши(ключи) Когда определяется для файла , запись сохраняется , следующий Autonumber восстанавливается(отыскивается) , тогда запись восстанавливается . " Ясная Запись " генерирует код чтобы позволять непрерывный ДОБАВЛЯЕТ но Очищает буфер записей и экран между каждого ДОБАВЛЯЮТ . Когда Пользователь выбирает Ok кнопку экран и запись буфер Очищаются и пользователь помещается обратно на первом входе Поле на экране . Если имеются Автоинкрементные клавиши(ключи) определенные Для файла , следующий Autonumber восстанавливается(отыскивается) и экран Когда модифицируется . < Копируют поле hotkey:> Копируйте комбинацию "hot key" поля : Эта подсказка зависима от кнопки Retain_Record . Если " Сохраните Записи " выбирается , И " комбинация "hot key" Копии поля " Содержит значение комбинации "hot key" , шаблон генерирует код для Когда повторяется ДОБАВЛЯЕТ это позволяет пользователю дублировать индивидуальный Поля из предшествующей записи только когда комбинация "hot key" нажимается . Когда пользователь нажимает Ok кнопку , поля экрана Стираются и курсор помещается обратно на первом поле . Если Пользователь нажимает определенную комбинацию "hot key" содержимое В настоящее время высвеченного поля копир. с последней записи Добавляемый пользователь . < Затем Procedure> Следующая Процедура Enter Процедура чтобы вызывать когда Ok кнопка нажимается , ПОСЛЕ ТОГО, КАК модификация файла завершила без любых ошибок . Следующий Вызов Процедуры генерируется перед кодом для любой Когда повторяется ДОБАВЛЯЕТ . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " Исходный Текст вставляется после оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < Установка Следующая Процедура ">" Установка Следующая Процедура " Если " Следующие Процедуры " определялся , код вставляется прежде, чем процедура вызывается . < Возврат из Следующей Процедуры ">" Возврат из Следующей Процедуры " Если " Следующие Процедуры " определялся , код вставляется после того, как процедура выполняется . < Ok Кнопка Нажмите ">" Ok Кнопка Нажимают " Код вставляется чтобы выполняться как только "Ok" кнопка нажимается , перед входом в режима не-останова . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . Формула Классифицирует УСТАНОВКУ Условное Выражение или Вычисленное Поле с "УСТАНОВКОЙ" в поле Класса Формулы Вычисляется один раз в начале Процедура перед полем экрана обрабатывающим LOOP . ВОЗВРАТ Условное Выражение или Вычисленное Поле с "RETURN" в поле Формулы Класса вычисляется один раз только перед возвратом из Процедура когда пользователь выбирает "Ok" кнопку . PRIMEKEY Условное Выражение или Вычисленное Поле с "PRIMEKEY" в Поле Класса Формулы вычисляется только перед УСТАНОВИТЕ ( Клавиша(Ключ) , Клавиша(Ключ) ) в течение Автоинкрементного ДОБАВЛЯЮТ . Это вставляется Снова право перед ДОБАВЛЯЮЩИМСЯ (Файлом) чтобы сохранять любые компоненты Вы имеете primed . Это может использоваться для первичных компонентов клавиши(ключа) чтобы допускать подмножество Нумерация . Например , это может использоваться чтобы вызывать autonumbering Из единицы строки нумерует на invoice . Если вы определили A Клавиша(ключ) с полями InvoiceNumber и LineItemNo , обеспечение Текущий InvoiceNumber как PRIMEKEY Формула . AutoNumber Подпрограмма определяет следующий доступный LineItemNo для того Invoice . Запись ДОБАВИЛ к файлу будет уже иметь InvoiceNumber и LineItemNo в буфере записей и на Диск . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Шаблон Списка >> Шаблон "Списка" генерирует процедуру которая листает файлы данных на экране подобно электронной таблице . В отличие от Просматривающегося , Поиск , или Утвердите шаблоны шаблон Списка загружает каждую выбранную запись из файла в память перед отображением блока списка . Очередь для блока списка должна хранить дорожку значений клавиши(ключа) и полей указателя как и информации отображаемой в блоке списка . Следовательно , Using шаблон списка для очень большого файла будет заполнять виртуальную память и переполняться на диск . Фактически файл копирован прежде, чем это отображается . По этой причине , шаблон Списка должен только использоваться чтобы отображать относительно маленькие файлы или относительно маленькие разделы больших файлов . Выбранные поля из файла данных отображаются как столбцы в блоке списка . Столбцы которые не удовлетворяют(приспосабливают) в блоке списка отображаются using " мышь " с горизонтальной линейкой прокрутки или левый и клавишами стрелки "вправо" . Селекторная полоса всегда устанавливается поверх одиночной строки . Клавиши стрелок "вверх" и "вниз" перемещают селекторную полосу . Перемещение селекторной полосы в готовности от верхней строки или вниз от строки нижних частей листает новую запись в блок списка . PGUP и PGDN клавиши(ключи) листают предшествующие и следующие страницы записей в блок списка . CTRL-PGUP отображает первую страницу записей и CTRL-PGDN отображает последнюю страницу записей . Нажим правой кнопки " мыши " в верхней половине блока списка перемещается в готовности и в нижней части половина перемещается вниз . Поле блока списка должно быть первое поле в структуре экрана когда не using фильтр записи или селектор записи . Поля могут помещаться прежде или после поля блока списка в Списке Полей . Выбор поля списка из предшествующего поля отображает первую страницу записей . "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons , или любое другое поле которое обрабатывает запись под селекторной полосой должен помещаться после поля списка в Списке Полей . Checkbox доступен чтобы просматривать файл в порядке Записи . Это прежде всего полезно в просмотре файлов ASCII . Так как ASCII , БЕЙСИК , и файлы ДОСА имеют определенные ограничения , вы должны знать возможности файловой системы перед попыткой использовать шаблон Списка с Процедурой Модификации . ( Шаблон Просмотра может использоваться чтобы только Просматривать файл ASCII . ) Если Checkbox проверяется на , любая ссылка на первичную клавишу(ключ) игнорируется в соответствии c этой процедурой . Также , checkbox доступен чтобы отображать очередь в обратном порядке . Когда Запись Упорядочивают(Заказывают) checkbox не проверяется , Обратный Порядок checkbox будет отображать файл в обратном порядке клавиши(ключа) . Если И Запись Упорядочивают(Заказывают) checkbox , и Обратный Порядок checkbox находятся на тогда файл будет отображаться в обратном порядке записи . Форматер Support Процедура "Списка" в CLARION.APP пред-загружается размещением экрана содержащим блок списка и pushbuttons именованный "Вставкой" , "Zизменять"( "Dзаменять") , "Удалять" , и "Выход" . Поле приравнивают метку блока списка должен быть "?List" . Горизонтальная линейка прокрутки может выключаться если требуемая информация удовлетворяет(приспосабливает) в блоке списка . Вертикальная линейка прокрутки также необязательная . Все другие свойства блока списка могут изменяться( заменяться) . Поля из связанных файлов могут листаться в блоке списка поскольку "поиски" будут выполнены автоматически из Первичного файла в файле схематическом к Вторичным файлам с " Большое Количество к 1 " связь . "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons вызывают процедуру модификации чтобы обрабатывать выбранную запись . ( Процедура модификации теперь обычно создается с шаблоном "Формы" . ) имя процедуры должно вводиться как " Процедура Модификации " . Если не имеется никакая процедура модификации , эти pushbuttons может удаляться . Если всего три pushbuttons удаляются , однако процедура модификации существует , Вставка , Чтобы вводить и Удалять клавиши(ключи) будет Вставлять , Изменяться и Удалять в то время как блок списка выбирается . Однако , Если только один или двух из этих кнопок переместились функция той кнопки ( Вставка , Изменитесь , или Удалите ) будет перемещаться из блока списка к тому же и никакая процедура модификации не будет вызываться . "Выход" pushbutton не должен удаляться . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню . Такие операторы должны вводиться как вложенный источник . Форматер Отчета не обеспечивается . Поля Свойства < Ограничение Диапазона Field:> Поле Ограничения Диапазона : Диапазон записей чтобы отображаться может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice и ITM : Строка содержащая номер invoice и номер строки единицы . ITM : Invoice будет Поле Ограничения Диапазона , отображая только Те записи для фиксированного номера invoice . < Значение Диапазона Field:> Значение Диапазона Field : Значение Диапазона Field - поле которое задерживает значение чтобы которое Нужно использовать как ограничение клавиши(ключа) компонента значения . Компоненту Клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поля Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Записывают Фильтр Записи Filter:> : Имеются 2 способа вводить фильтр записи : Генератор формул может использоваться с классом формулы "FILTER" чтобы утверждать выражение как введено . Введите выражение фильтра записи свободного формата в это поле . Никакой Проверка правильности выполнена на коде который вы вводите - недопустимый Выражение будет генерировать ошибки транслятора . Если вы не Знакомый с Clarion языковые операторы или выражения , Не используйте этот вход - используют поле Формулы с ФИЛЬТРОМ Класс Формулы взамен . < Модификация Procedure:> Процедура Модификации : Введите имя процедуры модификации которую нужно использовать чтобы вставлять , Изменять( заменять) , или удалять записи . Если никакая процедура модификации не Вводится , "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons Должен перемещаться из размещения экрана . Специальные соображения могут существовать когда using ASCII , ДОС , и Драйверы файла БЕЙСИКА . В некотором количестве случаев ПОМЕЩЕННЫЙ или DELETE не Позволяет . См. документацию драйвера файла для специальных сообщений драйвера Файла . < Сначала Горячий Field:> Сначала Горячее Поле : Горячие поля - набор дисплея - только полей которые отображаются Содержимое записи под селекторной полосой . Они должны Появляться последовательно в Списке Полей . Введите имя первого горячего поля . < В последний раз Горячий Field:> В последний раз Горячее Поле : Введите имя последнего горячего поля . < Очередь Rebuild:> Очередь Восстанавливают : Этот checkbox заставляет ОЧЕРЕДЬ восстанавливаться после каждого вызова К процедуре модификации . Это предлагается(предполагается) когда using общие Файлы , или при вызове формы с многократным добавляют возможность . < Порядок Записи Checkbox:> Запись Упорядочивают(Заказывают) Checkbox : Проверка этой рамки заставляет шаблон игнорировать любой файл клавиши( ключа) Обращаются к информации . Следующее должен рассматриваться : - Клавиша(Ключ) Доступа в Файле Схематический будет игнорироваться . - Ограничения Диапазона не будут использоваться . Эта опция создавалась чтобы позволять просмотр ASCII , ДОСА , и Файлы БЕЙСИКА . < Обратный Порядок Checkbox:> Обратный Порядок Checkbox : Этот checkbox будет обращать порядок в котором Очередь будет Сформирована . Это позволяет обратную распечатку файла клавиши(ключа) записей В файловых системах которые не обеспечивают убывающие клавиши(ключи) . < Индикатор Прогресса Checkbox:> Индикатор Прогресса Checkbox : Проверка Индикатора Прогресса Checkbox будет отображать A Перемещая полосу через экран поскольку записи загружаются в ОЧЕРЕДЬ . Полоса отображается в Локальной переменной Данных именованной StatusLine который был пред загруженный в Файл Применения По умолчанию . Эта строка также поместилась в Экран по умолчанию для шаблона Списка и должна быть в Списке экранов после блока списка . < Прогресс Character:> Символ Прогресса : Вы можете вводить символ ASCII который нужно использовать как Простой "Bar." вход старшего разряда ascii символы может делаться Using значение ASCII обнаруженное в диаграмме ASCII из Инструментальных Средств Меню . Значение ASCII должно окружаться угловыми скобками В пределах одиночных кавычек . Файл применения По умолчанию Предзагружается теневым символом полосы " <176> " . Вложенный Источник < Данные Section> " Раздел Данных " В разделе данных процедуры после локальных данных , Экрана и спускающихся структур . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в вашем вложенном Исходном тексте . < Установка Procedure> " Процедура Установки " После оператора CODE . < Установка Screen> " Экран Установки " После ОТКРЫТОГО оператора (Экрана) . < ПЕЧАТАЮТ Класс Formula> " Формула Класса СПИСКА " После того, как поколение(порождение) LIST классифицируют формулы . Этот вложенный код Окно может использоваться вместо формул класса LIST . Это будет Позволять установку любых полей которые отображаются в пределах Прокрутки listbox . < Конец Общего Formulas> " Конец Общих Формул " При обработке поля экрана , формулы которые не Имеют класс "FILTER" "СПИСКА" будет генерироваться . Это Вложенное исходное окно позволяет вход вычислений для Полей дисплея экрана без применения форматера Формулы . < Конец Procedure> " Которые Конец Процедуры " Код помещенный в это окно выполняет после всего другого кода в Процедуре выполнился . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые Вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Классы Формулы < FILTER> ФИЛЬТРУЮТ Условную формулу класса "FILTER" созданный Форматером Формулы используется чтобы выбирать который записи Отображаются . Если условная формула оценивает чтобы обнулять (Неправильный) для данной записи , это не отображается . ПЕЧАТАЮТ Условное Выражение или Вычисленное Поле с "СПИСКОМ" в поле Класса Формулы используется для тех значений которые будут отображаться В блоке списка и только оцениваются когда единица блока списка Создается . < Никакой класс ( blank)> Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Шаблон Поиска >>
Шаблон "Поиска" генерирует процедуру которая будет использоваться для проверки поля предформатированного ввода . Процедура ДОЛЖНА ВЫЗЫВАТЬСЯ как Когда Поле - Выбранная Процедура на поле входа чтобы утверждать . Когда поле входа выбралось , процедура Поиска будет вызываться чтобы проверять существование значения в текущем поле против определяемой клавиши(ключа) . Если никакое соответствие не обнаружено что экран с блоком списка обеспечивается чтобы позволять пользователю выбирать допустимый вход . Выбранные поля из файла данных отображаются как столбцы в блоке списка . Столбцы которые не удовлетворяют(приспосабливают) в блоке списка отображаются using горизонтальная линейка прокрутки или левый и клавиши стрелки "вправо" . Селекторная полоса всегда устанавливается поверх одиночной строки . Клавиши стрелок "вверх" и "вниз" перемещают селекторную полосу . Перемещение селекторной полосы в готовности от верхней строки или вниз от строки нижних частей листает новую запись в блок списка . PGUP и PGDN клавиши(ключи) листают предшествующие и следующие страницы записей в блок списка . CTRL-PGUP отображает первую страницу записей и CTRL-PGDN отображает последнюю страницу записей . Нажим правой кнопки " мыши " в верхней половине блока списка перемещается в готовности и в нижней части половина перемещается вниз . Клавиша(ключ) ENTER и " мышь " дважды нажимают выборы высвеченная запись и завершает процедуру . "Выбор" , "Вставьте" и "Zизмените"("Dзамените") pushbuttons , или любое другое поле которое обрабатывает запись под селекторной полосой должен помещаться после поля СПИСКА в Списке Полей . Необязательное поле устройства ввода позиций находит специфическую запись в файле . Печать любой символ в то время как поле списка - активные выборы поле устройства ввода позиций . Завершение поля устройства ввода позиций с клавишей(ключом) TAB или CLICK " мыши " отображает самый близкий запись соответствия в верхней части блока списка . Набор дисплея - только полей которые появляются последовательно в Списке Полей может обозначаться как " Горячие Поля " . Горячие поля отображают значения из записи под селекторной полосой и изменением всякий раз, когда селекторные перемещения полосы . Форматер Support Процедура "Поиска" в CLARION.APP пред-загружается размещением экрана содержащим блок списка и pushbuttons именованный "Выбором" , "Вставлять" , "Zизменять"("Dзаменять") и "Выход" . Поле приравнивают метку блока списка ДОЛЖЕН БЫТЬ "?List" и "Непосредственный" атрибут ДОЛЖЕН БЫТЬ на включенном . Горизонтальная линейка прокрутки может выключаться если требуемая информация удовлетворяет(приспосабливает) в блоке списка . Все другие свойства блока списка могут изменяться( заменяться) . Поля из связанных файлов могут листаться в блоке списка поскольку "поиски" будут выполнены автоматически из Первичного файла в файле схематическом к Вторичным файлам с " Большое Количество к 1 " связь . " 1 к Большому Количеству " связи не обеспечиваются в соответствии c этой процедурой Template . "Вставка" и "Изменение" pushbuttons вызывают процедуру модификации чтобы обрабатывать выбранную запись ( обычно созданный с шаблоном "Формы" ) . Имя процедуры должно вводиться как " Процедура Модификации " . Если не имеется никакая процедура модификации , эти pushbuttons может удаляться . Клавиша(ключ ) ENTER и " мышь " ДВАЖДЫ НАЖИМАЮТ в то время как на listbox будет выбирать запись под селекторной полосой и вводить значение в поле входа . "Выход" pushbutton не должен удаляться . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню ( вы должны записывать вложенный источник для этого ) . Поля Свойства < Поле Ограничения Диапазона : > Поле Ограничения Диапазона : Диапазон записей чтобы отображаться может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice и ITM : Строка содержащая номер invoice и номер строки единицы . ITM : Invoice будет Поле Ограничения Диапазона , отображая только те записи для фиксированного номера invoice . < Значение Диапазона Field : > Значение Диапазона Field : Значение Диапазона Field - поле которое задерживает значение которое нужно использовать как значение компонента клавиши(ключа) ограничения . Компоненту клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поле Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Запись Filter:> Фильтр Записи : Имеются 2 способа вводить фильтр записи : Генератор формул может использоваться с классом формулы Чтобы "FILTER утверждать выражение как введено . Введите выражение фильтра записи свободного формата в это поле . Никакой Проверка правильности выполнена на коде который вы вводите - недопустимый Выражение будет генерировать ошибки транслятора . Если вы не Знакомый с Clarion языковые операторы или выражения , Не используйте этот вход - используют поле Формулы с ФИЛЬТРОМ Класс Формулы взамен . < Поле Поиска : > Поле Поиска : Введите имя поля которое нужно использовать чтобы утверждать против Ваше поле входа . Это поле должно быть единственое поле в A Одиночный компонент уникальная клавиша(ключ) . < Поле Устройства Ввода позиций : > Поле Устройства Ввода позиций : Поле устройства ввода позиций - поле входа экрана которое модифицирует A Компонент первичного файла обращаются к клавише(ключу) . Когда устройство ввода позиций Поле вводится , самым близким запись соответствия отображается в Блок списка . Например , при прокрутке файла продавца в последовательности имен продавцов Использует клавишу(ключ) которая содержит поле имени продавца ( например . VND : Имя ) . Чтобы создавать поле устройства ввода позиций имени продавца , поместите A VND : поле входа Имени на экране ниже блока списка и Введите VND : Имя для Поля Устройства Ввода позиций . Если пользователь напечатает символ на клавиатуре , устройство ввода позиций Поле выбирается и позволяет вход для соответствия . Нажим Клавиша(ключ) Метки Табуляции устанавливает полосу отметки к самому близкому соответствию . < Клавиша(Ключ) Дисплея : > Клавиша(Ключ) Дисплея : Если using одна клавиша(ключ) для проверки правильности поля входа и другой клавиши(ключа) Как клавиша(ключ) дисплея , введите имя клавиши(ключа) дисплея здесь . Иначе , оставьте этот пробел поля . < Процедура Модификации : > Процедура Модификации : Введите имя процедуры модификации которую нужно использовать чтобы вставлять , Изменять( заменять) , или удалять записи . Если никакая процедура модификации не Вводится , "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons Должен перемещаться из размещения экрана . < Сначала Горячее Поле : > Сначала Горячее Поле : Горячие поля - набор дисплея - только полей которые отображают Содержимое записи под селекторной полосой . Они должны Появляться последовательно в Списке Полей . Введите имя первого горячего поля . < В последний раз Горячее Поле : > В последний раз Горячее Поле : Введите имя последнего горячего поля . < Допускают Горячие Записи : > Допустите Горячие Записи : При предоставлении горячие записи программист имеет законченное управление Во время каждого движения блока списка от Просматривающегося администратора . С этот Допускаемая опция , каждое движение полосы отметки попадает Запись под отметкой закрывают в память , просмотры любое большое количество к Одни вторичные файлы , вычисляет любые общие формулы и Выполняет любой вложенный исходный текст который вводился в " Обработайте Выбранные Записи " окно кода . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любой который данные вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < СПИСОК Классифицируют Formula> " Формула Класса СПИСКА " После поколения( порождения) формул класса LIST . Это вложенное окно кода может использоваться вместо формул класса LIST . Это будет Позволять установку любых полей которые отображаются в пределах прокрутки listbox . < Конец Общего Formulas> " Конец Общих Формул " При обработке поля экрана , формулы которые не имеют класс "FILTER" "СПИСКА" Будет генерироваться . Это вложенное исходное окно позволяет вход вычислений для полей дисплея экрана без применения Форматера формулы . < Набор к Первому Record> " Набор к Первой Записи " Когда Ограничения Диапазона using , оператор SET Выводится чтобы размещать Первая запись . Это вложенное окно исходного текста появляется Только после того, как оператор SET и позволяет вам отменять НАБОР . < Устанавливают чтобы Длиться Record> " Устанавливают чтобы Длиться Запись " Когда Ограничения Диапазона using , оператор SET используется чтобы размещать Самое близкое соответствие к последней записи . Это вложенное окно исходного текста появляется только после оператора SET и позволяет вам отменять НАБОР . < Обрабатывают Выбранный Record> " Обрабатывают Выбранную Запись " Когда Допускают Горячие Записи проверился , код в пределах этого вложенного исходного окна будет выполняться на движение полосы отметки . Запись под полосой отметки будет восстанавливаться(отыскиваться) в память , любое большое количество к одним вторичным записям файла будут восстанавливаться(отыскиваться) и любые общие формулы будут вычисляться только до вставки этого вложенного исходного текста . < Конец Procedure> " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Классифицирует ПЕЧАТАЮТ Условное Выражение или Вычисленное Поле с "СПИСКОМ" в поле Класса Формулы используется для тех значений которые будут отображены В блоке списка и только оцениваются когда единица блока списка Создается . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Меню Template >>
Шаблон "Меню" генерирует процедуру которая отображает меню с поднятием используемое чтобы выполнять другие процедуры . Единицы Меню помещаются в экран как КНОПКА в Форматере Экрана . Процедура связанная с каждой кнопкой должна быть Когда Кнопка - Нажатая Процедура . По крайней мере одно поле кнопки должно иметь вызов процедуры "RETURN" чтобы выходить процедура "Меню" . Другие поля могут помещаться в экран . Однако , этот шаблон не делает никакое средство для вызова или модифицирования файлов данных . Форматер Support Процедура "Меню" в CLARION.APP предзагружается размещением экрана содержащим pushbutton именованный "Выход" . "Выход" pushbutton вызывает процедуру "RETURN" . "Выход" pushbutton может переименовываться , но если это удаляется , некоторое другое средство должно делаться чтобы возвращаться из процедуры . Локальные данные генерируется перед структурой экрана . Если спускающееся меню создалось Спускающимся Меню Formatter , это генерируется после структуры экрана . Однако , шаблон "Меню" не делает никакое средство для открытия или закрытия спускающегося меню . Такие операторы должны вводиться как вложенный источник . Форматер Отчета не обеспечивается . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < Верхняя Часть Loop> " Верхняя Часть Цикла " Немедленно после оператора LOOP который Обрабатывает каждое поле экрана . < Когда Поле Экрана выбирается : > " Когда Поле Экрана Выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Не классифицирует Никакие классы формулы обеспечиваются в соответствии c этой процедурой Template . Все операторы из Форматера Формулы генерируются в верхней части цикла клавиатуры перед подпрограммами установки поля . << Шаблон MultiPage >> Шаблон "MultiPage" разрабатывается чтобы работать в конъюнкции с шаблоном процедуры "PageOf" . Шаблон "MultiPage" генерирует процедуру которая будет ADD , ЧТОБЫ ZИЗМЕНЯТЬ или УДАЛЯЮТ запись из процедур Первичный файл данных . Шаблон учитывает многократные автоинкрементные поля клавиши(ключа) и проверки параллелизма многократных полей записки . Реляционные ограничения целостности предписываются из Первичного файла вниз на реляционное дерево , для весь 1 : БОЛЬШОЕ КОЛИЧЕСТВО связей . MultiPage и шаблоны PageOf разрабатываются чтобы работать вместе . Весь ВВОД - ВЫВОД файла выполнен в соответствии c процедурой MultiPage . Обратитесь к процедурам PageOf обрабатывается через MultiPage . Процедуры PageOf как ожидают используют тот же самый файл данных как процедура MultiPage . MultiPage passes каждая процедура PageOf (4) Следующие параметры : текущее Действие ( Добавьте / Изменение / Удаляют / Check_Required ) , текущий номер Страницы , общее число Страниц , и Сообщения описывающего текущую модификацию . MultiPage ( Первая страница многостраничной формы ввода данных ) К любому "PageOf" можно обращаться прямо из MultiPage нажимая Alt клавишу(ключ) и Соответствующий номер страницы . Нажим Клавиша(ключ) PageDown из любой страницы обращаются следующий Доступная страница . Нажим PageDown на Последнем Страница wraps вокруг к главной странице (MultiPage) . PageOf ( страница 2 процедур. ) PageOf ( страница 3 процедур. ) PageOf ( страница 4 процедур. ) PageOf ( страница 5 процедуры ) PageOf ( страница 6 процедуры ) PageOf ( страница 7 процедуры ) PageOf ( страница 8 процедуры ) PageOf ( страница 9 процедуры ) Шаблон обеспечивает до восьми (8) дополнительные страницы . Вызовы процедуры PageOf все вводятся в Процедуру шаблона MultiPage окно Properties . Процедуры именованные в Подсказки Страницы должны использовать шаблон процедуры "PageOf" . В во время выполнения сгенерированные дорожки процедуры которые процедуры "PageOf" вызвались . Когда пользователь нажимает "Ok" любая процедура "PageOf" которая однако не был доступна пользователь , будет вызываться чтобы проверять "Требуемые" поля . Процедура PageOf вызывается и немедленно помещается в режиме редактирования неостанова . Если требуемое поле было левый пробел , пользователя зарегистрирует и помещают в режиме редактирования . Начальные значения поля из словаря данных пред-загружаются в течение ДОБАВЛЯЮЩЕГОСЯ . Проверка Диапазона генерируется из описаний словаря данных и предписывается в течение ДОБАВЛЯЮТ или ИЗМЕНЕНИЕ . Если условие диапазона вне существует пользователя зарегистрируют относительно допустимого диапазона для поля , и курсор помещается в то поле для редактирования . Шаблон генерирует поиски для вызова вторичных файлов где связь определяется как MANY:1 . " Должен Быть в Файле " автоматическая проверка правильности поля предписывается когда пользователь выбирает OK . Если введенное значение не существует в определяемом файле пользователь зарегистрирует и помещаются обратно на поле . Если применение устанавливается чтобы СОВМЕСТНО ИСПОЛЬЗОВАТЬ файлы , процедура предписывает многопользовательскую проверку параллелизма в уровне записи . Если конфликт является результатом двух или большего количества автоматизированных рабочих мест пытающихся модифицировать ту же самую запись , экран Пользователь регенерируется с записью как изменено другим автоматизированным рабочим местом , пользователя зарегистрирует относительно изменения , и помещают обратно в режиме редактирования . < Справочный Integrity> Если Реляционные Ограничения определились в Словаре Данных , код генерируется чтобы предписывать Ограничение на 1 : БОЛЬШОЕ КОЛИЧЕСТВО связей . Все Справочные Ограничения Целостности предписываются из Первичного файла для процедуры , вниз на Реляционное Дерево Файлов для так много уровней как существуют . < Выработка(Кадрирование) Транзакции > В течение реляционного Изменения или Удалите HOLD помещается в Первичную запись файла . Все порожденнные файлы Первичного файла модифицируются в пределах фрейма транзакции чтобы гарантировать " весь или ничто " не модифицируют или удаляют . Если LOGOUT не может инициализироваться , пользователю дают возможность чтобы повторять модификацию или удалять . < Никакая Выработка(Кадрирование) Транзакции > Не все драйверы файла обеспечивают диалоговую обработку запросов . Если драйвер файла не обеспечивает оператор LOGOUT , код генерируется чтобы модифицировать файлы без прибыли(пользы) фрейма транзакции . Также , если файлы в Связи используют многократные драйверы файла , справочный модифицируют / удалять не может использовать оператор LOGOUT . Например , если связь файла определяется с одним файлом using Btrieve драйвер и связанный файл using Clarion драйвер , код генерируется без фрейма транзакции ВЫХОДА ИЗ СИСТЕМЫ . Любое положение имеет потенциал чтобы компрометировать справочную целостность вашей базы данных . Если модифицирующийся / удаляющийся терпит неудачу для любой причины , ваши файлы не могут восстанавливаться к их первоначальному состоянию . Форматер Support Экран по умолчанию содержимый в CLARION.APP имеет локальную переменную именованную LOC : Сообщение помещенное в верхней части экрана входа . Эта переменная используется чтобы сообщать пользователю относительно текущего действия : Добавьте , Изменитесь , или Удалите записи на экране . Отображаемое сообщение сохраняется в CLARION.APP в глобальных переменных GLO : InsertMsg , GLO : ChangeMsg , и GLO : DeleteMsg соответственно . Программист может вводить его собственные сообщения в Процедуру окно Properties . Если любой Запрашивают сообщение заполняется в , это будет использоваться вместо глобальных значений сохраненных в .APP файле по умолчанию . Экран по умолчанию также имеет две локальных переменной для дисплея номера страницы ; LOC : Страница и LOC : Страницы . Эти переменные используются чтобы отображать текущую страницу ( LOC : Страница ) , и общее число страниц ( LOC : Страницы ) . Шаблон помещает ALRT атрибут для Alt-* клавиши(ключа) для каждой процедуры именованной в подсказках Страницы . Каждая процедура страницы cam чтобы вызываться нажимая Alt и " Процедурой Страницы нумеруют " клавиша(ключ) . Например , Alt2 называет Page2 процедуру , Alt3 Page3 процедурой , и так далее . The default screen has three buttons; Ok, Cancel and Next_Стр.. Все три поля требуются шаблоном . Поля Свойства < Вставка Message> Сообщение Вставки Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Вставки записи . < Изменение Message> Сообщение Изменения Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Изменения записи . < Удаляют Message> Удалите Сообщение Введите сообщение чтобы использовать вместо по умолчанию сохраненный в Для Clarion.app Удаления записи . < * Страница Procedure> * Процедура Страницы Имеются восемь (8) Запрашивает дополнительные страницы . Они - called in their numerical order, for instance the '2nd Стр. Процедуры вызывается когда пользователь нажимает или Кнопка Next_Page , Клавиша "Страница вниз" , или Alt2 клавиша(ключ) . Имя Ваши дополнительные вызовы процедуры Страницы в этих подсказках . Те Должен заполняться в последовательно - вы не должны оставлять любой "Отверстия" в списке вызовов процедуры "PageOf" . < Затем Procedure> Следующая Процедура Enter Процедура чтобы вызывать когда Ok кнопка нажимается , ПОСЛЕ ТОГО, КАК модификация файла завершила без любых ошибок . Следующий Вызов Процедуры генерируется перед кодом для любой Когда повторяется ДОБАВЛЯЕТ . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " Исходный Текст вставляется после оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < Установка Следующая Процедура ">" Установка Следующая Процедура " Если " Следующие Процедуры " Определялся , код вставляется прежде, чем процедура вызывается . < Возврат из Следующей Процедуры ">" Возврат из Следующей Процедуры " Если " Следующие Процедуры " определялся , код вставляется после того, как процедура выполняется . < Ok Кнопка Нажимают ">" Ok Кнопка Нажимают " Код вставляется чтобы выполняться как только "Ok" кнопка нажимается , перед входом в режима не-останова . < Затем Кнопка Страницы Нажимают ">" Следующая Кнопка Страницы Нажимают " Код вставляется чтобы выполняться как только " Next_Page " кнопка нажимается , перед продвижением вызов следующей страницы . < Конец Процедуры " > " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Установка Autonumber Элементы Клавиши(Ключа) ">" Установка Autonumber Элементы Клавиши(Ключа) " Код вставляется только перед НАБОРОМ ( Клавиша(Ключ) , Клавиша(Ключ) ) в Autonumber Подпрограмме . Это может использоваться для первичных компонентов клавиши(ключа) чтобы допускать нумерацию подмножества . Например , это может использоваться чтобы вызывать autonumbering номеров единицы строки на invoice , при обеспечении текущего номера invoice . Формула Классифицирует УСТАНОВКУ Условное Выражение или Вычисленное Поле с "УСТАНОВКОЙ" в поле Класса Формулы вычисляется один раз в начале Процедура перед полем экрана обрабатывающим LOOP . ВОЗВРАТ Условное Выражение или Вычисленное Поле с "RETURN" в поле Формулы Класса вычисляется один раз только перед возвратом из Процедура когда пользователь выбирает "Ok" кнопку . PRIMEKEY Условное Выражение или Вычисленное Поле с "PRIMEKEY" в Поле Класса Формулы вычисляется только перед УСТАНОВИТЕ ( Клавиша(Ключ) , Клавиша(Ключ) ) в течение Автоинкрементного ДОБАВЛЯЮТ . Это вставляется Снова право перед ДОБАВЛЯЮЩИМСЯ (Файлом) чтобы сохранять любые компоненты Вы имеете primed . Это может использоваться для первичных компонентов клавиши(ключа) чтобы допускать подмножество Нумерация . Например , это может использоваться чтобы вызывать autonumbering Из единицы строки нумерует на invoice . Если вы определили A Клавиша(ключ) с полями InvoiceNumber и LineItemNo , обеспечение Текущий InvoiceNumber как PRIMEKEY Формула . AutoNumber Подпрограмма определяет следующий доступный LineItemNo для того Invoice . Запись ДОБАВИЛ к файлу будет уже иметь InvoiceNumber и LineItemNo в буфере записей и на Диск . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Шаблон PageOf >> Шаблон процедуры "PageOf" разрабатывается чтобы работать вместе с шаблоном MultiPage . PageOf зависим к MultiPage . Процедура PageOf не имеет никакое средство чтобы модифицировать record on disk. All file updates are handled by the MultiСтр. Процедура шаблона . Прототип процедуры PageOf в КАРТЕ ПАМЯТИ выглядит наподобие : ProcName(BYTE,*BYTE,BYTE,STRING) Параметры переданные из процедуры MultiPage : ( Действие , Страница , Страницы , Сообщение ) Процедуры PageOf как ожидают используют тот же самый файл данных как процедура MultiPage . MultiPage passes каждая процедура PageOf (4) после параметров : текущий Действие ( Добавьте / Изменение / Удаляют / Check_Required ) , текущий номер Страницы , общее число Страниц , и Сообщения описывающего текущую модификацию . В во время выполнения дорожки процедуры MultiPage которые процедуры "PageOf" вызвались . Когда пользователь нажимает "Ok" любая процедура "PageOf" которая однако не был доступна пользователь будет вызываться чтобы проверять "Требуемые" поля . Процедура PageOf вызывается и немедленно помещается в режиме редактирования неостанова . Если требуемое поле было левый пробел , пользователя зарегистрирует и помещают в режиме редактирования . Начальные значения поля из словаря данных пред-загружаются в течение ДОБАВЛЯЮЩЕГОСЯ . Проверка Диапазона генерируется из описаний словаря данных и предписывается в течение ДОБАВЛЯЮТ или ИЗМЕНЕНИЕ . Если условие диапазона вне существует пользователя зарегистрируют относительно допустимого диапазона для поля , и курсор помещается в то поле для редактирования . Шаблон будет генерировать поиски для вызова вторичных файлов где связь определяется как MANY:1 . " Должен Быть в Файле " автоматическая проверка правильности поля предписывается когда пользователь выбирает "OK" . Если введенное значение не существует в определяемом файле пользователь зарегистрирует и помещаются обратно на поле . Если применение устанавливается чтобы СОВМЕСТНО ИСПОЛЬЗОВАТЬ файлы процедура MultiPage предписывает многопользовательскую проверку параллелизма в уровне записи . Если Реляционные Ограничения определились в Словаре Данных , код сгенерированный из шаблона MultiPage предписывает те ограничения . Форматер Support Экран по умолчанию содержимый в CLARION.APP имеет локальную переменную именованную LOC : Сообщение помещенное в верхней части экрана входа . Эта переменная используется чтобы сообщать пользователю относительно текущего действия : Добавьте , Изменитесь , или Удалите записи на экране . Отображаемое сообщение сохраняется в CLARION.APP в глобальных переменных GLO : InsertMsg , GLO : ChangeMsg , и GLO : DeleteMsg соответственно . Программист может вводить его собственные сообщения в Процедуру окно Properties . Если любой Запрашивают сообщение заполняется в , это будет использоваться вместо глобальных значений сохраненных в .APP файле по умолчанию . Экран по умолчанию также имеет две локальных переменной для дисплея номера страницы ; LOC : Страница и LOC : Страницы . Эти переменные используются чтобы отображать текущую страницу ( LOC : Страница ) , и общее число страниц ( LOC : Страницы ) . PageUp и клавиши(ключи) PageDown будет обращаться к следующим или предшествующим процедурам страницы . CtrlPgUp и клавиши(ключи) CtrlPgDn будет называть первым или длиться процедуры страницы соответственно . Экран по умолчанию имеет четыре кнопки ; Base_Page , Previous_Page , Next_Page , и Last_Page . Next_Page и поля кнопки Previous_Page требуются шаблоном , Base_Page и Last_Page необязательный . Нажим кнопки Base_Page будет возвращать пользователя к главной странице ( шаблон MultiPage ) . Предыдущие и Следующие кнопки Страницы вызывают следующие или предыдущие процедуры страницы . Кнопка Last_Page вызывает последнюю процедуру страницы определенную на экране свойства процедуры MultiPage . Если Спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Спускающийся - ОТКРЫЛСЯ после структуры экрана , и закрывается на выход из процедуры . Форматер Отчета не обеспечивается . Поля Свойства Процедура "PageOf" окно Properties не имеет никакие специализированные подсказки . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " Исходный Текст вставляется после оператора CODE . < Экран Установки ">" Экран Установки " < Кнопка Base_Page Нажимают ">" Кнопку Base_Page Нажимают " Код вставляется чтобы выполняться как только кнопка "Базовой Страницы" нажимается , перед входом в режима не-останова и возврата к главной процедуре (MultiPage) . < Кнопка Previous_Page Нажимают ">" Кнопка Previous_Page Нажимают " Код вставляется чтобы выполняться как только " Предыдущая Страница " Кнопка нажимается , перед входом в режима не-останова и Возврат к предшествующей процедуре страницы . < Кнопка Next_Page Нажимают ">" Кнопка Next_Page Нажимают " Код вставляется чтобы выполняться как только " Next_Page " кнопка нажимается , перед входом в режима не-останова и возврата к следующей процедуре страницы . Если Next_Page нажимается на последней странице , пользователь помещается в первую страницу процедура (MultiPage) . < Кнопка Last_Page Нажимают ">" Кнопка Last_Page Нажимают " Код вставляется чтобы выполняться как только " Последняя Страница " кнопка нажимается , перед входом в режима не-останова и вызова последней процедуры страницы . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . Классы Формулы УСТАНОВКА Условное Выражение или Вычисленное Поле с "УСТАНОВКОЙ" в Формуле Поле Класса вычисляется один раз в начале Процедура перед полем экрана обрабатывающим LOOP . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Шаблон Печати >> Шаблон "Печати" генерирует процедуру которая печатает отчет созданный с Форматером Отчета . Этот шаблон не делает никакое средство для вызова файлов данных . Поля напечатанные на отчете отражают их значение в памяти во время процедуры выполняется . Шаблон "Печати" предназначается для печати отчетов состояния или сообщений . Форматер Support Процедура "Печати" в CLARION.APP пред-загружается пустым размещением отчета . Локальные данные генерируется перед структурой отчета . Формулы генерируются перед ОТКРЫТЫМ оператором (Отчета) . Экран и Спускающиеся Форматеры Меню не обеспечиваются . Вложенный Исходный Текст < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , Экран и спускающиеся структуры . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Процедура Установки ">" Процедура Установки " После оператора CODE . < После Отчета ОТКРЫТЫЙ перед Формулами ">" После Отчета ОТКРЫТЫЙ перед Формулами " После того, как отчет открылся , и прежде любой поля Формулы вычисляются и прежде, чем что -нибудь напечатан . < После Формул Перед Страницей Заголовка ">" После Формул Перед Страницей Заголовка " После того, как формулы вычисляются , и прежде, чем что -нибудь напечатан . < После Главных Итогов Перед Последней Страницей ">" После Главных Итогов Перед Последней Страницей " После того, как Страница Заголовка и Подробность Тела напечатали , но прежде the Final Стр.. < После Последней Страницы Прежде Близко ">" После Последней Страницы Прежде Близко " После того, как Последняя Страница напечатала , но прежде, чем Отчет закрывается . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Detail Pre-Print for:" > " Подробная ПРЕД-ПЕЧАТЬ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно перед Телом подробная полоса напечатана . Имеется только одна неявная Подробность ПРЕД-ПЕЧАТАЮТ вложенное окно исходного текста в отчете . < Detail Post-Print for:" > " Подробная РЕГИСТРИРОВАЛА - ПЕЧАТЬ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно после Тела подробная полоса напечатана . Имеется только одна неявная Подробная РЕГИСТРИРОВАЛА - ПЕЧАТЬ вложенное окно исходного текста в отчете . Формула Не классифицирует Никакие классы формулы обеспечиваются в соответствии c этой процедурой Template . Все Формулы генерируются один раз без отношения к любому значению в поле Класса Формулы . << Спускающийся Шаблон >> "Спускающийся" шаблон генерирует процедуру которая отображает спускающееся меню используемое чтобы выполнять другие процедуры . Единицы Меню помещаются в меню с Спускающимся Меню Formatter . Один раз в Спускающемся Меню Formatter , выборы из меню которые выполняют процедуры должен иметь " Выполн. процедуру " radio выбранная кнопка и процедура чтобы вызывать должна вводиться . Произвольно , исходный текст может вводиться вместо имени процедуры при удалении любого имени процедуры и при выборе "Источника" pushbutton . По крайней мере одна единица меню должна иметь процедуру редактирования "RETURN" чтобы выходить "Спускающаяся" процедура . Код сгенерированный "Спускающимся" шаблоном процедуры функционирует подобно коду сгенерированному из шаблона процедуры "Меню" . Следовательно , шаблон отключает все поля в любом экране который является активным и закрывает спускающееся меню в то время как выбранные процедуры выполняются . Спускающееся меню которое разрабатывается чтобы работать с экраном должно создаваться Спускающимся Меню Formatter в процедуре которая содержит экран . Форматер Support "Спускающаяся" процедура в CLARION.APP пред-загружается пустым спускающимся меню . Локальные данные генерируется перед спускающейся структурой меню . По крайней мере одна единица меню должна содержать процедуру меню "RETURN" чтобы выходить спускающаяся процедура . Формулы генерируются в верхней части цикла клавиатуры перед подпрограммами редактирования единицы меню . Экран и Форматеры Отчета не обеспечиваются . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Установка Спускающийся ">" Установка Спускающийся " После ОТКРЫТЫЙ (Спускающийся) . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана Выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда Поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() Структура , выполненная когда поле имеет Когда @ завершенный . Классы Формулы Никакие классы формулы не обеспечиваются в соответствии c этой процедурой Template . << Переназначающийся Шаблон >> "Переназначающийся" шаблон создает процедуру которая позволяет пользователю выбирать адресата отчета в время выполнения . Код Шаблона самостоятельно очень базисный - все функциональные возможности обеспечивается в процедуре по умолчанию в CLARION.APP . Имеются две локальных обьявленные переменной который помещаются в проектирование экрана по умолчанию . Этот выбирает адресата и другие имена файл на диске если FILE - выбранный адресат . Функциональные возможности процедуры полностью содержится в вложенных окнах исходного текста для этих двух полей и кнопок отмены и Ok . Если адресат выбирается , это помещается в GLO : переменная глобальной переменной FileSpec ( как ожидается в соответствии c Отчетом и Просмотром Шаблоны ) . Форматер Support "Переназначающаяся" процедура в CLARION.APP пред-загружается проектированием экрана по умолчанию которое позволяет пользователю выбирать любой LPT или COM порт , ЭКРАН , или к имени файл на диске чтобы получать вывод отчета . Отчет и Спускающиеся Форматеры Меню не обеспечиваются . Формулы не также обеспечиваются . Поля Свойства Не имеются никакие подсказки которые являются специфическими к этой процедуре . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры , после локальных данных и структуры экрана . Это может использоваться чтобы обьявлять любые данные Который вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " Немедленно после оператора CODE . < Экран Установки ">" Экран Установки " Немедленно после ОТКРЫТОГО оператора (Экрана) . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются Из любого другого вложенного окна исходного текста . Классы Формулы Ни Формулы ни Классы Формулы не обеспечиваются Переназначающийся Шаблон . << Шаблон Отчета >> Шаблон "Отчета" печатает отчеты из одного или многократных связанных файлов данных . Связи Файла , и 1 : БОЛЬШОЕ КОЛИЧЕСТВО и MANY:1 , автоматически обрабатываются с некоторым количеством ограничений . Файлы используемые для отчета определяются в Файле Схематический сформированный в Файле Схематическое окно Описания . Первый файл в Файле Схематический - Первичный файл , все другие - Вторичные файлы . Вторичный Порожденнный файл ( двойная правая стрелка ) имеет 1 : БОЛЬШОЕ КОЛИЧЕСТВО связь с файл к которому это присоединяется( придается) в Файле Схематическом . Вторичный файл Поиска ( одиночная правая стрелка ) имеет MANY:1 связь с файлом к которому это присоединяется( придается) в Файле Схематическом . Шаблон recurses через так много уровней 1 : БОЛЬШОЕ КОЛИЧЕСТВО связей как определяются в Файле Схематический , начиная с Первичным файлом , понижаясь цепочка Вторичных файлов начинающихся с первым Порожденнным файлом Первичного . Это генерирует набор вложенных структур LOOP которые читают все связанные записи из каждого файла в свою очередь . Тело подробная полоса напечатана каждый раз запись из самого низкого уровня Порожденнный файл читается . Второй Порожденнный файл Первичного файла будет начинать секунду 1 : БОЛЬШОЕ КОЛИЧЕСТВО цепочки файлов - это не обеспечивается этим шаблоном . Вторичный Поиск к связь которому (MANY:1) обеспечивается для одного уровня ниже файла ( Первичный или Вторичный Порожденнный ) который это связывается ( файл поиска не будет генерировать второй поиск из этого - Записывают вложенный исходный текст для этого ) . Этот Файл Схематический прямо обеспечивается : Первичный > Вторичный ( Поиск из Первичного ) > Вторичный ( Поиск из Первичного ) >> Вторичный ( Порожденнный из Первичного ) > Вторичный ( Поиск из Вторичного Порожденнный ) > Вторичный ( Поиск из Вторичного Порожденнный ) >> Вторичный ( Порожденнный из Вторичного Порожденнный ) > Вторичный ( Поиск из Вторичного Порожденнный ) Этот Файл Схематический прямо не обеспечивается : Первичный > Вторичный ( Поиск из Первичного ) >> Вторичный ( Порожденнный из Поиска ) - НИКАКИЕ Дочерние Записи Поисков >> Вторичный ( Порожденнный из Первичного ) > Вторичный ( Поиск из Вторичного Порожденнный ) > Вторичный ( Поиск из Поиска ) - НИКАКИЕ 2-ые Поиски >> Вторичный ( Порожденнный из Первичного ) - НИКАКИЕ 2-ые Порожденнные цепочки Этот шаблон обеспечивает до четырех Прерываний Группы на Первичный или Вторичный Порожденнный файл . Код чтобы обеспечивать прерывание группы генерируется в пределах вложенной структуры LOOP после того, как запись читается из файла для которого прерывание группы определяется . Фильтры Записи обеспечиваются на Первичном и каждом Вторичном Порожденнном файле ( см. тему Класса Формулы ниже ) . МУЛЬТИ-В ГОТОВНОСТИ метки обеспечиваются - они должны определяться в Теле Подробная полоса . Форматер Support Процедура "Отчета" в CLARION.APP пред-загружается пустым размещением отчета . Счетчик Строк , счетчик Страниц , и переменные Устройства Отчета определяются в локальных данных , и окно Свойств Отчета использует эти локальные переменные ( счетчик строк требуется шаблоном ) . " РОДОВЫЕ ПРИНТЕРЫ " - принтер по умолчанию выбранный из файла PRINTER.CTL . Форматер Экрана содержит экран по умолчанию который включается в сгенерированный исходный текст только если Показывающаяся рамка Прогресса Отчета проверяется . Экран содержит дисплей - только поля для Счетчика Строк и Счетчика Страниц . Значения в этих двух полях отображаются после каждого оператора PRINT в Отчете . Спускающееся Меню Formatter не обеспечивается Шаблоном Отчета . Поля Свойства < Допускают ESC Клавише(Ключу) Abort : > Допустите ESC Клавише(Ключу) Abort : Проверьте эту рамку чтобы включать код чтобы позволять пользователю прерываться Отчет в во время выполнения нажимая ESC клавишу(ключ) . < Показывают Экран Прогресса : > Покажите Экран Прогресса : Проверьте эту рамку чтобы отображать экран определенный в Экране Форматер как отчет генерируется . Это позволяет Пользователь чтобы ясно видеть что отчет генерируется ( Особенно если это направляется к файлу на диске ) . < Первичный Доступ Файла : > Первичный Доступ Файла : Выберите radio кнопку которая определяет тип доступа вы Требуйте к Первичному файлу . Если вы выбираете Ключевой Порядок , Набор клавиш(ключа) доступа Первичного Файла на Поле Selection окно Используется чтобы обращаться к файлу и Поле Ограничения Диапазона может Определяться . Если вы выбираете Порядок Записи , Первичный файл Когда обращается к в физическом , номер записи , порядок и любой Диапазон Поле Ограничения игнорируется . < Поле Ограничения Диапазона : > Поле Ограничения Диапазона : Записи чтобы напечатать из Первичного файла могут Ограничиваться при фиксировании значения компонента Первичной Клавиши(ключа) доступа файла . Только те записи чей значение компонента Клавиши(ключа) равно значению в Значении Диапазона Field будет Напечатан . Вы должны выбирать поле компонента клавиши(ключа) клавиши( ключа) Доступа первичного файла которую вы определили в Файле Схематическом . < Значение Диапазона Field : > Значение Диапазона Field : Выберите поле который , в время выполнения , будет содержать значение К которому вы требуете первичный файл отчета который нужно ограничить . Значение в этом поле будет назначаться к полю компонента Клавиши(ключа) которое вы определили в Поле Ограничения Диапазона перед оператором SET для Первичного файла . < Переназначают Процедуру : > Переназначьте Процедуру : Введите имя процедуры которая вызывается перед Отчет генерируется чтобы позволять пользователю определять отчета Адресат в время выполнения . Шаблон Отчета принимает что Адресат отчета находится в GLO : FileSpec ( глобальная переменная Когда определяется в CLARION.APP ) после того, как Переназначающаяся Процедура Вызывается . Обычно , Переназначающаяся Процедура создается из Переназначающегося Шаблона . < Процедура Просмотра : > Процедура Просмотра : Введите имя процедуры которая вызывается после того, как Отчет генерируется чтобы позволять пользователю просматривать вывод Отчета ( если пользователь выбрал ЭКРАН или ФАЙЛ как адресат Отчета ) . Обычно , Процедура Просмотра Создается из Шаблона Просмотра . Шаблон Просмотра принимает Этот выходное имя файла отчета находится в GLO : FileSpec ( A Глобальная переменная определенная в CLARION.APP ) . Если пользователь Когда выбирается порт принтера , Шаблон Отчета очищает GLO : FileSpec , который отключает Процедуру Просмотра . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры , после локальных данных и структуры отчета . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " Немедленно после оператора CODE . < После Отчета ОТКРЫТЫЙ перед Страницей Заголовка ">" После Отчета ОТКРЫТЫЙ прежде, чем Страница Заголовка " После все файлы в отчете открываются и отчет открывается , но прежде, чем что -нибудь напечатан . < Немедленно прежде, чем УСТАНОВЛЕНО ( клавиша(ключ) , клавиша( ключ) ) " > " Немедленно прежде, чем УСТАНОВЛЕНО ( клавиша(ключ) , клавиша(ключ) ) " Немедленно после того, как поле Значения Диапазона назначилось к Поле Ограничения Диапазона и перед оператором SET который Устанавливает исходную позицию отчета в файле . Это Позволяет вам правильно инициализировать любые другие поля в Первичная Клавиша(Ключ) Доступа Файла перед оператором SET . Если Диапазон Ограничение и поля Значения Диапазона не определяются , никакой исходный текст не генерируется из этого Вложенного Исходного окна . < Перед Первичным ЦИКЛОМ после того, как УСТАНОВЛЕНО ">" Перед Первичным ЦИКЛОМ после того, как УСТАНОВЛЕНО " После оператора SET который устанавливает вверх на порядок и начинающий отметку на Первичн. файле , но перед ЦИКЛОМ который обрабатывает Первичн. файл записей . < Верхняя Часть Первичного ЦИКЛА ">" Верхняя Часть Первичного ЦИКЛА " Немедленно после оператора LOOP который обрабатывает Первичный файл и перед любым другим оператором в ЦИКЛЕ . Код Помещенный здесь будет выполняться каждый раз через ЦИКЛ . < В Первичном ЦИКЛЕ немедленно после ЗАТЕМ ">" В Первичном ЦИКЛЕ немедленно после ЗАТЕМ " Код помещенный в это окно выполняется немедленно после того, как каждая Первичная запись файла читается и прежде, чем любой код прерывания группы выполняется . < В Первичном ЦИКЛЕ после ЗАТЕМ перед Поисками ">" В Первичном ЦИКЛЕ после ЗАТЕМ прежде, чем Поиски " Код помещенный в это окно выполняется после того, как каждая Первичная запись файла читается и любой код прерывания группы выполняется , но перед любым Фильтром Записи , Поисками , или Формулами . < В Первичном ЦИКЛЕ после Поисков ">" В Первичном ЦИКЛЕ после того, как Поиски " Код помещенный в это окно выполняется после любого Фильтра Записи , Поисков , или Формул из Первичного файла , но перед любого К связанным Порожденнным записям обращаются . < После Первичного ЦИКЛА перед Главными Итогами и Последней Страницей ">" После Первичного ЦИКЛА прежде, чем Главные Итоги и Последняя Страница " Код помещенный в это окно выполняется после того, как все записи из всех файлов обработались , но прежде, чем Главные Итоги и Последние полосы Страницы напечатаны . < Конец Процедуры ">" Конец Процедуры " Код помещенный в это окно выполняется после того, как весь другой код в процедуре выполнился . В этой отметке , Отчет закрывается . Этот код начинается в одном столбца , следовательно Вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . < Group Header Pre-Print for:" > " Заголовок Группы ПРЕД-ПЕЧАТАЮТ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно прежде, чем заголовок для группы прерываются Вызываемый напечатан . Имеется один неявный Заголовок Группы ПРЕД-ПЕЧАТАЮТ вложенное окно исходного текста для каждого прерывания группы Определенного в Форматере Отчета . < Group Header Post-Print for:" > " РЕГИСТРИРОВАЛА - ПЕЧАТЬ Заголовка Группы для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно после того, как заголовок для группы прерываются Вызываемый напечатан . Имеется одна неявная РЕГИСТРИРОВАЛА - ПЕЧАТЬ Заголовка Группы вложенное окно исходного текста для каждого прерывания группы Определенного в Форматере Отчета . < Group Footer Pre-Print for:" > " Нижний Колонтитул Группы ПРЕД-ПЕЧАТАЮТ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно прежде, чем нижний колонтитул для группы прерываются Вызываемый напечатан . Имеется один неявный Нижний Колонтитул Группы ПРЕД-ПЕЧАТАЮТ вложенное окно исходного текста для каждого прерывания группы Определенного в Форматере Отчета . < Group Footer Post-Print for:" > " РЕГИСТРИРОВАЛА - ПЕЧАТЬ Нижнего Колонтитула Группы для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно после того, как нижний колонтитул для группы прерываются Вызываемый напечатан . Имеется одна неявная РЕГИСТРИРОВАЛА - ПЕЧАТЬ Нижнего Колонтитула Группы вложенное окно исходного текста для каждого прерывания группы Определенного в Форматере Отчета . < Detail Pre-Print for:" > " Подробная ПРЕД-ПЕЧАТЬ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно перед Телом подробная полоса напечатана . Имеется только одна неявная Подробность ПРЕД-ПЕЧАТАЮТ вложенное окно исходного текста в отчете . < Detail Post-Print for:" > " Подробная РЕГИСТРИРОВАЛА - ПЕЧАТЬ для : " Это - неявное вложенное окно исходного текста которое Выполняется немедленно после Тела подробная полоса напечатана . Имеется только одна неявная Подробная РЕГИСТРИРОВАЛА - ПЕЧАТЬ вложенное окно исходного текста в отчете . Классы Формулы < Пред : FILTER> Пред : ФИЛЬТРУЙТЕ префикс Первичного или Вторичный Порожденнный файл ( не файл Поиска ) с конкатенированным :FILTER ( Пред : ФИЛЬТР ) : Это создает фильтр записи чтобы пропускать по записям в которых выражение фильтра не оценивает как истина , только после того, как запись файла читается . Только выражение Формулы ( в Вычисленном Поле ) , или выражении Условия ( в Условном Поле ) используется чтобы генерировать выражение фильтра . Никакая другая информация из поля Формулы не используется в фильтре ( любой Если Истина или Если Неправильные выражения игнорируются и Поле Имя не используется - это может быть "фиктивное" поле ) . < FileName> FileName Имя Первичного или Вторичный Порожденнный файл ( не A Файл Поиска ) в Файле Схематическом . Это вычисляет Формула только когда чтение записи из именованного файла - это Приходит после любого Пред : выражение FILTER на файле Оценивается и любые записи Поиска читаются . < BreakField> BreakField Имя поля Прерывания Группы ( включение префикса ) . Это Вычисляет формулу только прежде, чем Нижний Колонтитул Группы Напечатан . Это полезно для формул вычисляющих выражения Которые включают один или большее количество полей Итога Отчета . Переменная адресата Формулы должна помещаться в нижний колонтитул группы . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз запись читается из любой Файл . << Шаблон Экрана >> Шаблон "Экрана" генерирует процедуру которая обрабатывает экран созданный с Форматером Экрана . Шаблон генерирует код для Проверок Принадлежности к диапазону и предписывает " Должен Быть в Файлах ' из словаря . Шаблон "Экрана" предназначается для отображения окон состояния или модифицирования переменных памяти . Форматер Support Процедура "Экрана" в CLARION.APP пред-загружается пустым размещением экрана . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню . Такие операторы должны вводиться как вложенный источник . Операторы из Форматера Формулы генерируются в верхней части цикла клавиатуры перед подпрограммами установки поля . Форматер Отчета не обеспечивается . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры , после локальных данных и структуры отчета . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле завершилось . Классы Формулы Никакие классы формулы не обеспечиваются в соответствии c этой процедурой Template . Все формулы генерируются в пределах главного ЦИКЛ перед оператором ACCEPT . << Шаблон Выбора >> Шаблон "Выбора" генерирует процедуру которая позволяет пользователю выбирать запись из перемещающегося списка записей . Если запись выбирается это загружается в память . Вы можете тогда вызывать другую процедуру чтобы брать действие на выбранной записи . Например процедура печати может вызываться который печатает текущую запись из памяти . Шаблон Выбора изменен Просматривают процедуру шаблона чтобы позволять пользователю или выбирать запись , или отменять selection . На selection кнопки Отмены , буфер записей очищается . Это дает программисту способность проверять пустую запись . В примере печати , программист может выбирать чтобы не печатать если запись пуста . См. Просматривающуюся справку шаблона для полных подробностей на специфической операции прокрутки listbox и pushbuttons . Форматер Support Шаблон "Выбора" в CLARION.APP пред-загружается размещением экрана содержащим блок списка и pushbuttons именованный "Вставкой" , "Zизменять"( "Dзаменять") , "Удалять" , "Выбирать" и "Отмену" . Поле приравнивают метку блока списка ДОЛЖЕН БЫТЬ "?List" и "Непосредственный" атрибут ДОЛЖЕН БЫТЬ на включенном . Горизонтальная линейка прокрутки может выключаться если требуемая информация удовлетворяет(приспосабливает) в блоке списка . Вертикальная линейка прокрутки игнорируется шаблоном . Блок списка не может иметь процедуру редактирования . Все другие свойства блока списка могут изменяться( заменяться) . Поля из связанных файлов могут листаться в listbox поскольку "поиски" будут выполнены автоматически из Первичного файла в файле схематическом . "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons вызывают процедуру модификации чтобы обрабатывать выбранную запись ( процедуры модификации обычно создаются с "Формой" или шаблоном "MultiPage" ) . Имя процедуры должно вводиться как " Процедура Модификации " свойство . Если не имеется никакая процедура модификации , эти pushbuttons может удаляться . Если всего три pushbuttons удаляются и вы именовали процедуру модификации , ВСТАВКУ , ENTER и клавиши(ключи) DELETE будут Вставлять , Изменяться , и Удалять записи в то время как блок списка выбирается . Однако , если только один или двух из этих кнопок переместились , функция той кнопки ( Вставка , Изменитесь , или Удалите ) будет перемещаться из блока списка к тому же и никакую процедуру модификации не будут запрашивать та функция . "Выбор" и "Отмена" pushbuttons не должен удаляться . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню . Такие операторы должны вводиться как вложенный источник . Форматер Отчета не обеспечивается . Поля Свойства < Поле Ограничения Диапазона : > Поле Ограничения Диапазона : Диапазон записей чтобы отображаться может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice и ITM : Строка содержащая номер invoice и номер строки Единица . ITM : Invoice будет Поле Ограничения Диапазона , отображая только Те записи для фиксированного номера invoice . < Значение Диапазона Field : > Значение Диапазона Field : Значение Диапазона Field - поле которое задерживает значение чтобы которое Нужно использовать как ограничение клавиши(ключа) компонента значения . Компоненту Клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поля Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Записывают Фильтр Записи Filter:> : Имеются 2 способа вводить фильтр записи : Генератор формул может использоваться с классом формулы "FILTER" чтобы утверждать выражение как введено . Введите выражение фильтра записи свободного формата в это поле . Никакой Проверка правильности выполнена на коде который вы вводите - недопустимый Выражение будет генерировать ошибки транслятора . Если вы не Знакомый с Clarion языковые операторы или выражения , Не используйте этот вход - используют поле Формулы с ФИЛЬТРОМ Класс Формулы взамен . < Поле Устройства Ввода позиций : > Поле Устройства Ввода позиций : Поле устройства ввода позиций - поле входа экрана которое модифицирует A Компонент первичного файла обращаются к клавише(ключу) . Когда устройство ввода позиций Поле вводится , самым близким запись соответствия отображается в Блок списка . Например , при прокрутке файла продавца в последовательности имен продавцов Использует клавишу(ключ) которая содержит поле имени продавца ( например . VND : Имя ) . Чтобы создавать поле устройства ввода позиций имени продавца , поместите A VND : поле входа Имени на экране ниже блока списка и Введите VND : Имя для Поля Устройства Ввода позиций . Если пользователь напечатает символ на клавиатуре , устройство ввода позиций Поле выбирается и позволяет вход для соответствия . Нажим Клавиша(ключ) Метки Табуляции устанавливает полосу отметки к самому близкому соответствию . < Процедура Модификации : > Процедура Модификации : Введите имя процедуры модификации которую нужно использовать чтобы вставлять , Изменять( заменять) , или удалять записи . Если никакая процедура модификации не Вводится , "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons Должен перемещаться из размещения экрана . < Сначала Горячее Поле : > Сначала Горячее Поле : Горячие поля - набор дисплея - только полей которые отображают Содержимое записи под селекторной полосой . Они должны Появляться последовательно в Списке Полей . Введите имя первого горячего поля . < В последний раз Горячее Поле : > В последний раз Горячее Поле : Введите имя последнего горячего поля . < Допускают Горячие Записи : > Допустите Горячие Записи : При предоставлении горячие записи программист имеет законченное управление Во время каждого движения блока списка от Просматривающегося администратора . С этот Допускаемая опция , каждое движение полосы отметки попадает Запись под отметкой закрывают в память , просмотры любое большое количество к Одни вторичные файлы , вычисляет любые общие формулы и Выполняет любой вложенный исходный текст который вводился в " Обработайте Выбранные Записи " окно кода . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры после локальных данных , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО оператора (Экрана) . < СПИСОК Классифицируют Formula> " Формула Класса СПИСКА " После поколения( порождения) формул класса LIST . Это вложенное окно кода может использоваться вместо формул класса LIST . Это Будет позволять установку любых полей которые отображаются в пределах прокрутки listbox . < Конец Общего Formulas> " Конец Общих Формул " При обработке поля экрана , формулы которые не имеют класс "FILTER" "СПИСКА" будет генерироваться . Это вложенное исходное окно позволяет Вход вычислений для экрана отображают поля без применения форматера формулы . < Набор к Первому Record> " Установите к Первой Записи " Когда Ограничения Диапазона using , SET() команда выводится чтобы размещать Первая запись . Это вложенное окно исходного текста появляется Только после того, как сгенерированная SET() команда и позволяет A Отмена программиста SET() команды . < Устанавливают чтобы Длиться Record> " Устанавливают чтобы Длиться Запись " Когда Ограничения Диапазона using , SET() команда используется чтобы размещать Самое близкое соответствие к последней записи . Это вложенное окно исходного текста появляется только после сгенерированной SET() команды и позволяет отмену программиста SET() команды . < Обрабатывают Выбранный Record> " Обрабатывают Выбранную Запись " Когда Допускают Горячие Записи проверился , код в пределах этого вложенного исходного окна будет выполняться на движение полосы отметки . Запись под полосой отметки будет восстанавливаться( отыскиваться) в память , любое большое количество к одним вторичным записям файла будут Восстановленные(отысканные) и любые общие формулы будут вычисляться только До вставки этого вложенного исходного текста . < Конец Procedure> " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Классифицирует ФИЛЬТР Условное Поле с "ФИЛЬТРОМ" в поле Класса Формулы Используется чтобы выбирать который записи отображаются . Если Выражение Условия оценивает чтобы обнулять (неправильный) для данного Запись , это не отображается . СПИСОК Условное Выражение или Вычисленное Поле с "СПИСКОМ" в Формуле Поле Класса используется для тех значений которые будут отображаться В блоке списка и только оцениваются когда единица блока списка Создается . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Исходный Шаблон >>
"Исходный" шаблон генерирует процедуру включенную только вложенного исходного текста . Все выполнимые операторы в процедуре , должны вводиться в вложенную исходную отметку помеченную " Весь Выполнимый Исходный Текст " . Введенный источник должен содержать (по крайней мере) оператор RETURN . "Исходный" шаблон предназначается для процедур которые не могут генерироваться любым другим шаблоном . Обеспечиваемые Форматеры "Исходный" шаблон не обеспечивает экран Генератора Прикладных программ , Сообщать , Спускающееся Меню , или форматеры Формулы . Однако , экран Текстового Редактора , Отчет , и Спускающиеся Форматеры Меню может вызываться при вводе вложенного источника в Разделе Данных . Поля Свойства < Prototype:> Прототип : Enter the procedure's prototype (all except the procedure's Имя ) чтобы помещать в структуре MAP программы . Например , если ваша процедура - ФУНКЦИОНАЛЬНЫЙ вызываемый MyProc и это будет получать два параметра - СТРОКА и БАЙТ переданный адресом - и возвращать СТРОКУ , вы будете вводить : (STRING,*BYTE),STRING См. ФУНКЦИЮ и Прототипы ПРОЦЕДУРЫ в Языке Ссылка для обсуждения допустимых прототипов . < Параметр List:> Список Параметров : Введите законченный список параметров ( включение круглых скобок ) чтобы Помещаться в PROCEDURE процедуры или оператор FUNCTION . Это маркирует переданные параметры для ссылки в пределах Процедуры . Для вышеупомянутого примера , вы могли вводить : ( Fred , Joe ) The generated source code for the procedure would look like: MyProc ФУНКЦИОНИРУЮТ ( Fred , Joe ) В вашем выполнимом коде , вы будете ссылаться на СТРОКУ Параметр как "Fred" и БАЙТ как " Joe . " Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры , после локальных данных . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать в вашем вложенном исходном тексте . < Весь Выполнимый Исходный Текст ">" Весь Выполнимый Исходный Текст " Все выполнимые операторы в процедуре должен входить здесь . Формула Не классифицирует Никакие классы формулы обеспечиваются в соответствии c этой процедурой Template . Поля Формулы не обеспечиваются . << Шаблон ToDo >> шаблон "ToDo" не должен выбираться для генерации объектного кода . Процедуры , когда сначала вызываемый , автоматически создаются как ToDo пока шаблон для генерации объектного кода не выбирается . Никакая операция " код Заглушки " не генерируется для процедур которые остаются как "ToDo" в исходное время поколения(порождения) . << Шаблон Модификации >> Этот Шаблон однако не выполняется . << Утверждающийся Шаблон >> "Утверждающийся" шаблон генерирует процедуру которая будет использоваться чтобы выполнять проверку правильности поля входа . Процедура ДОЛЖНА ВЫЗЫВАТЬСЯ как Процедура Редактирования на поле входа чтобы утверждать . Когда поле входа завершилось , Утверждающаяся процедура будет вызываться чтобы проверять существование значения в текущем поле против определяемой клавиши(ключа) . Если никакое соответствие не обнаружено , экран с блоком списка обеспечивается чтобы позволять пользователю выбирать допустимый вход . Выбранные поля из файла данных отображаются как столбцы в блоке списка . Столбцы которые не удовлетворяют(приспосабливают) в блоке списка отображаются using горизонтальная линейка прокрутки или левый и клавиши стрелки "вправо" . Селекторная полоса всегда устанавливается поверх одиночной строки . Клавиши стрелок "вверх" и "вниз" перемещают селекторную полосу . Перемещение селекторной полосы в готовности от верхней строки или вниз от строки нижних частей листает новую запись в блок списка . PGUP и PGDN клавиши(ключи) листают предшествующие и следующие страницы записей в блок списка . CTRL-PGUP отображает первую страницу записей и CTRL-PGDN отображает последнюю страницу записей . Нажим правой кнопки " мыши " в верхней половине блока списка перемещается в готовности и в нижней части половина перемещается вниз . Клавиша(ключ) ENTER и " мышь " ДВАЖДЫ НАЖИМАЮТ выборы высвеченная запись и завершает процедуру . "Выбор" , "Вставьте" и "Zизмените"("Dзамените") pushbuttons , или любое другое поле которое обрабатывает запись под селекторной полосой ДОЛЖЕН ПОМЕЩАТЬСЯ после поля СПИСКА в Списке Полей . Необязательное поле устройства ввода позиций находит специфическую запись в файле . Печать любой символ в то время как поле списка - активные выборы поле устройства ввода позиций . Завершение поля устройства ввода позиций с клавишей(ключом) Метки Табуляции или щелчком " мыши " отображает самый близкий запись соответствия в верхней части блока списка . Набор дисплея - только полей которые появляются последовательно в Списке Полей может обозначаться как " горячие поля " . Горячие поля отображают значения из записи под селекторной полосой и изменением всякий раз, когда селекторные перемещения полосы . Форматер Support "Утверждающаяся" процедура в CLARION.APP пред-загружается размещением экрана содержащим блок списка и pushbuttons именованный "Выбором" , "Вставлять" , "Zизменять"("Dзаменять") и "Выход" . Поле приравнивают метку блока списка ДОЛЖЕН БЫТЬ "?List" и "Непосредственный" атрибут ДОЛЖЕН БЫТЬ на включенном . Горизонтальная линейка прокрутки может выключаться если требуемая информация удовлетворяет(приспосабливает) в блоке списка . Все другие свойства блока списка могут изменяться( заменяться) . Поля из связанных файлов могут листаться в блоке списка поскольку "поиски" будут выполнены автоматически из Первичного файла в файле схематическом к Вторичным файлам с " Большое Количество к 1 " связь . " 1 к Большому Количеству " связи не обеспечиваются в соответствии c этой процедурой Template . "Вставка" и "Изменение" pushbuttons вызывают процедуру модификации чтобы обрабатывать выбранную запись ( обычно созданный с шаблоном "Формы" ) . Имя процедуры должно вводиться как " Процедура Модификации " . Если не имеется никакая введенная процедура модификации , эти pushbuttons может удаляться . Клавиша(ключ) ENTER и " мышь " ДВАЖДЫ НАЖИМАЮТ в то время как на listbox будет выбирать запись под селекторной полосой и вводить значение в поле входа . "Выход" pushbutton не должен удаляться . Локальные данные генерируется перед структурой экрана . Если спускающаяся структура создалась Спускающимся Меню Formatter , это генерируется после структуры экрана . Шаблон не делает никакое средство для открытия или закрытия спускающегося меню ( вы должны записывать вложенный источник для этого ) . Поля Свойства < Поле Ограничения Диапазона : > Поле Ограничения Диапазона : Диапазон записей чтобы отображаться может ограничиваться фиксированием Значение компонента первичного файла обращаются к клавише(ключу) . Например , единицы строки на invoice могут ограничиваться одиночным invoice . Клавиша(ключ) для файла единицы могла содержать ITM : Invoice и ITM : Строка содержащая номер invoice и номер строки единицы . ITM : Invoice будет Поле Ограничения Диапазона , отображая только те записи для фиксированного номера invoice . < Значение Диапазона Field : > Значение Диапазона Field : Значение Диапазона Field - поле которое задерживает значение которое нужно использовать как значение компонента клавиши(ключа) ограничения . Компоненту клавиши(ключа) будут назначать это значение . В этом примере , текущая запись Invoice могла содержать Номер invoice который отображается . INV : Номер Будет Значение Диапазона Field , обеспечивая значение для Поле Ограничения Диапазона . Значение Диапазона Field не должно быть То же самое поле как Поле Ограничения Диапазона . < Запись Filter:> Фильтр Записи : Имеются 2 способа вводить фильтр записи : Генератор формул может использоваться с классом формулы Чтобы "FILTER утверждать выражение как введено . Введите выражение фильтра записи свободного формата в это поле . Никакой Проверка правильности выполнена на коде который вы вводите - недопустимый Выражение будет генерировать ошибки транслятора . Если вы не Знакомый с Clarion языковые операторы или выражения , Не используйте этот вход - используют поле Формулы с ФИЛЬТРОМ Класс Формулы взамен . < Поле Поиска : > Поле Поиска : Введите имя поля которое нужно использовать чтобы утверждать против Ваше поле входа . Это поле должно быть единственое поле в A Одиночный компонент уникальная клавиша(ключ) . < Поле Устройства Ввода позиций : > Поле Устройства Ввода позиций : Поле устройства ввода позиций - поле входа экрана которое модифицирует A Компонент первичного файла обращаются к клавише(ключу) . Когда устройство ввода позиций Поле вводится , самым близким запись соответствия отображается в Блок списка . Например , при прокрутке файла продавца в последовательности имен продавцов Использует клавишу(ключ) которая содержит поле имени продавца ( например . VND : Имя ) . Чтобы создавать поле устройства ввода позиций имени продавца , поместите A VND : поле входа Имени на экране ниже блока списка и Введите VND : Имя для Поля Устройства Ввода позиций . Если пользователь напечатает символ на клавиатуре , устройство ввода позиций Поле выбирается и позволяет вход для соответствия . Нажим Клавиша(ключ) Метки Табуляции устанавливает полосу отметки к самому близкому соответствию . < Клавиша(Ключ) Дисплея : > Клавиша(Ключ) Дисплея : Если using одна клавиша(ключ) для проверки правильности поля входа и другой клавиши(ключа) Как клавиша(ключ) дисплея , введите имя клавиши(ключа) дисплея здесь . Иначе , оставьте этот пробел поля . < Процедура Модификации : > Процедура Модификации : Введите имя процедуры модификации которую нужно использовать чтобы вставлять , Изменять( заменять) , или удалять записи . Если никакая процедура модификации не Вводится , "Вставка" , "Zизмените"("Dзамените") , и "Удалите" pushbuttons Должен перемещаться из размещения экрана . < Сначала Горячее Поле : > Сначала Горячее Поле : Горячие поля - набор дисплея - только полей которые отображают Содержимое записи под селекторной полосой . Они должны Появляться последовательно в Списке Полей . Введите имя первого горячего поля . < В последний раз Горячее Поле : > В последний раз Горячее Поле : Введите имя последнего горячего поля . < Допускают Горячие Записи : > Допустите Горячие Записи : При предоставлении горячие записи программист имеет законченное управление Во время каждого движения блока списка от Просматривающегося администратора . С этот Допускаемая опция , каждое движение полосы отметки попадает Запись под отметкой закрывают в память , просмотры любое большое количество к Одни вторичные файлы , вычисляет любые общие формулы и Выполняет любой вложенный исходный текст который вводился в " Обработайте Выбранные Записи " окно кода . < Комбинация "Hot key" Поиска : > Комбинация "Hot key" Поиска : Когда Утверждающаяся процедура вызываемся комбинацией "hot key" , Введите комбинацию "hot key" здесь . Когда комбинация "hot key" вводится и Комбинация "hot key" обнаружена на входу Утверждающейся процедуры , Экран будет открываться . Никакая проверка проверки правильности не будет выполнена До открытого из экрана . Вложенный Источник < Данные Section> " Раздел Данных " В разделе данных процедуры после локальных данных , Экран и спускающиеся структуры . Это может использоваться чтобы обьявлять Любые данные которые вы можете хотеть использовать только в ваш вложенный Исходный текст . < Установка Procedure> " Процедура Установки " После оператора CODE . < Прежде Утверждают Lookup> " Прежде Утверждают Поиск " После открытия первичного файла , вы можете вводить исходный текст в Это окно чтобы пред-заполнять любые поля которые будут использоваться Поиск другой чем Поле Поиска . < Установка Screen> " Экран Установки " После ОТКРЫТОГО (Экрана) . < ПЕЧАТАЮТ Класс Formula> " ПЕЧАТАЮТ Формулу Класса " После того, как поколение(порождение) LIST классифицируют формулы . Этот вложенный код Окно может использоваться вместо формул класса LIST . Это будет Позволите установку любых полей которые отображаются в пределах Прокрутка listbox . < Конец Общего Formulas> " Конец Общих Формул " При обработке поля экрана , формулы которые не Имеют класс "FILTER" "СПИСКА" будут генерироваться . Это Вложенное исходное окно позволяет вход вычислений для Полей дисплея экрана без применения форматера Формулы . < Устанавливают к Первому Record> " Набор к Первой Записи " Когда Ограничения Диапазона using , SET() команда выводится чтобы размещать Первую запись . Это вложенное окно исходного текста появляется Только после сгенерированной SET() команды и позволяет A Отмену программиста SET() команды . < Устанавливают чтобы Длиться Record> " Набор чтобы Длиться Запись " Когда Ограничения Диапазона using , SET() команда используется чтобы размещать Самое близкое соответствие к последней записи . Это вложенное окно исходного текста появляется только после сгенерированной SET() команды и позволяет отмену программиста SET() команды . < Обрабатывают Выбранный Record> " Обрабатывают Выбранную Запись " Когда Допускают Горячие Записи проверился , код в пределах этого вложенного исходного окна будет выполняться на движение отметки Полоса . Запись под полосой отметки будет восстанавливаться(отыскиваться) в память , любое большое количество к одним вторичным записям файла будут восстанавливаться(отыскиваться) и любые общие формулы будут вычисляться только до вставки этого вложенного исходного текста . < Конец Procedure> " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста . < Конец Процедуры ">" Которые Конец Процедуры " Код помещенный в это окно выполняет после всего другого кода в процедуре выполнился . Этот код начинается в одном столбца , следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ которые вызываются из любого другого вложенного окна исходного текста . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле завершилось . Формула Классифицирует СПИСОК Условное Выражение или Вычисленное Поле с "СПИСКОМ" в Формуле Поле Класса используется для тех значений которые будут отображаться В блоке списка и только оцениваются когда единица блока списка Создается . < Никакой класс (пробел) > Никакой класс (пробел) Вычисляет формулу каждый раз любое поле на экране Завершается . Код вычисления генерируется перед Подпрограммами установки поля в верхней части обработки LOOP . << Шаблон Просмотра >>
Шаблон Просмотра отображает любой текстовый файл ASCII в перемещающемся блоке списка . Это обычно используется чтобы отображать отчет на экран который предварительно записывался на диск . Шаблон Просмотра может использоваться чтобы создавать процедуру которая является Следующей Процедурой на шаблоне Файла . Это будет позволять пользователю выбирать файл чтобы просматривать из списка доступных файлов . Текст будет листать вверх или вниз using клавиши стрелок "вверх" и "вниз" или вертикальную линейку прокрутки . Нажим правой кнопки " мыши " в верхней половине блока списка перемещается в готовности и в нижней части половина перемещается вниз . Левая и правая прокрутка обеспечивается с КОНЦОМ , НАЧАЛОМ , горизонтальной линейкой прокрутки , или левый и клавишами стрелки "вправо" . Экран по умолчанию и описание Очереди предопределенное в CLARION.APP . Длина записи Очереди - defaulted к 255 и может изменяться . Экран имеет один pushbutton , "Выходить" и не может перемещаться . Описание Файла ДОСА определяется в шаблоне . Запись ( одна строка отчета ) определяется с длиной 255 . Если " Индикатор Прогресса " проверяется на тогда сообщение будет отображаться пользователю при чтении файла из диска . Это рекомендуется для больших отчетов чтобы позволять пользователю знать что программа еще активна при чтении файла из диска . При чтении файла из диска , перемещающиеся клавиши(ключи) могут использоваться ( PgUp , PgDn , В готовности , Dn , и т.д. ... ) чтобы листать очередь . Курсор " мыши " не будет активен пока весь файл не читался . Никакие изменения не требуются в Форматере Экрана или Разделе Данных . Использовать шаблон , только указывать имя файла ДОСА чтобы отображаться . Форматер Support Форматер Экрана доступен для этого шаблона и предзагружается экраном По умолчанию состоящим из блока списка и одного pushbutton . И требуются . Они могут изменяться размеры или устанавливаться но поле приравнивают метку кнопки Выхода должен быть ?Exit . Если " Индикатор Прогресса " флажок проверяется на , первая строка экран должен быть левый пробел чтобы учитывать индикатор прогресса чтобы отображаться . Форматер Отчета не доступен . Поля Свойства < Файл чтобы Просматривать : > Файл чтобы Просматривать : Это - файл ASCII который нужно отобразить в блоке списка . Это Может быть строковая константа или переменная . Если это - константа Это должно быть включено в "кавычках" . Если это - переменная , Переменная должна быть обьявлена в Глобальном Разделе Данных Программа . Когда левый пробел , переменная из применения по умолчанию Используется ( GLO : Filespec в CLARION.APP ) . Это - та же самая переменная По умолчанию используемая в шаблоне Файла . < Предупреждение Размера ( в K) : > Предупреждение Размера ( в K) : Шаблон Просмотра будет читать весь файл в Очередь для Эффективности во время выполнения . Однако , Если вы имеете файл большим чем Назначенный виртуальный блок памяти ( элементы Очереди сохраняются В виртуальном по умолчанию если виртуальная поддержка памяти не выключается ) Очередь может записываться на диск . Это может в основном замедлять прокрутку файла . Предупреждение Экран может отображаться когда выбранный файл больший чем Определяемый размер . Этот размер будет умножаться 1024 и Когда сравнивается против фактического размера файла . < Максимальная Длина Строки : > Максимальная Длина Строки : Наибольшее Количество отчетов не будут более широкие чем 80 или 132 столбца . Это Позволяет возможности проверять файлы которые не Обычно имеют возврат каретки / комбинацией перевода строки в Первом X числе символов . ( Подобно .EXE и .COM файлам ) Номер введенный здесь будет использоваться чтобы проверять число Байтов в каждой записи файла ASCII поскольку это читается . Если чтение Строки имеет больше чем число символов которые Определяются как максимум , окно ошибки будет появляться и Просмотр будет прерываться . Обычно для .EXE файла это будет Происходить в первом чтении записи и никакой "мусор" не будет Когда отображается в listbox . Если никакая Максимальная Длина Строки не Вводится , по умолчанию из 200 используется . < Индикатор Прогресса : > Индикатор Прогресса : Если эта рамка проверяется на , сообщение будет отображаться Пользователю в то время как файл читается из диска . Вложенный Источник < Раздел Данных ">" Раздел Данных " В разделе данных процедуры перед локальными данными , экран и спускающиеся структуры . Это может использоваться чтобы обьявлять любые данные которые вы можете хотеть использовать только в вашем вложенном исходном тексте . < Процедура Установки ">" Процедура Установки " После оператора CODE . < Экран Установки ">" Экран Установки " После ОТКРЫТОГО (Экрана) . < После Затем в Цикле RptFile ">" После Затем в Цикле RptFile " В цикле которые читают файл ДОСА из диска , после оператора NEXT . < Конец Процедуры " > " Конец Процедуры " Код помещенный в это окно выполняется после всего другого кода в Процедура выполнилась . Этот код начинается в одном столбца , Следовательно вы можете использовать это окно чтобы записывать любые ПОДПРОГРАММЫ который Вызываются из любого другого вложенного окна исходного текста или кода Это должен быть выполняются в конце процедуры . < Когда Поле Экрана выбирается : > " Когда Поле Экрана выбирается : " В СЛУЧАЕ SELECTED() структура , выполненная когда поле Выбирается для входа . < Когда Поле Экрана завершается : > " Когда Поле Экрана завершается : " В СЛУЧАЕ FIELD() структура , выполненная когда поле Завершилось . Формула Не классифицирует Никакие классы формулы обеспечиваются в соответствии c этой процедурой Template . Формулы не полях обеспечиваются .