Как очистить экран на AS400?

Есть ли способ очистить экран в RPG для AS400? Я ищу что-то с тем же результатом, что и clrscr() в C.


person abhinav singh    schedule 02.02.2010    source источник
comment
Что ты пытаешься сделать? Вы можете объяснить ситуацию?   -  person Brandon Peterson    schedule 03.02.2010
comment
«Очистка экрана» не имеет особого смысла в RPG. Зачем кому-то нужен пустой экран в RPG? На пустом экране пользователю ничего не видно. И простое название РПГ не помогает. Например, достаточно просто вызвать QsnClrScr API, ЕСЛИ вы используете ILE RPG. Но с RPG/400 все немного сложнее, так как он не может напрямую вызывать API. А поскольку запись почти любой записи на экран очистит предыдущие данные, если только вы не специально запрограммируете сохранение некоторых из них, действие по очистке экрана само по себе практически бесполезно, если только вы не выполняете действительно низкоуровневые операции. Работа.   -  person user2338816    schedule 01.04.2014


Ответы (4)


Вы можете очистить экран с помощью RPG, но это не похоже на clrsrc()

RPG не обращается к экрану напрямую. Вы работаете с файлом устройства, также известным как файл отображения (DSPF). Стандартный способ создать этот файл — использовать исходный код DDS и компилятор DDS (всегда доступный в AS/400). В DSPF есть одна или несколько записей. Программа RPG записывает или читает эти записи. Если вы напишете запись, определяемую ключевым словом CRLR(), тогда ваш экран будет чистым. Также прочитайте о OVERLAY(), которая идет рука об руку с этим ключевым словом.

Вся информация находится в информационном центре IBM. DDS описан в справочнике IBM DDS (pdf)

Я предполагаю, что вам нужно начать с понимания механизма (RPG руководство программиста (pdf). Оно довольно простое, но его нужно немного прочитать.

Отказ от ответственности: есть и другие способы сделать это (включая грязные и неприятные трюки). Но RPG+DDS является предпочтительным, стандартным и наиболее часто используемым способом в мире iSeries.

person robertnl    schedule 05.02.2010

Запрограммировав на AS/400 (College) и IBM/390 (Commercial), я не могу вспомнить, как это сделать в RPG IV, но быстрый поиск привел к попаданию сюда, на страницу, где говорится об использовании диспетчера динамического экрана ILE здесь< /а>.

Надеюсь, это поможет. С уважением, Том.

person t0mm13b    schedule 02.02.2010

Что ж, лучший способ, который я использую для очистки экранов в программе RPG, — это использование новой записи внутри файла DSPF.

person ia1da08    schedule 01.10.2013

Просто создайте новый файл дисплея с пустой записью и используйте его в программе RPG.

person Hermilion    schedule 20.11.2014