КОБОЛ: Как отключить ЭКРАН и вернуться в терминал - PullRequest
1 голос
/ 01 мая 2020

Я показываю пользователю форму, определенную в РАЗДЕЛЕ ЭКРАНА. После ввода пользователя я хотел бы очистить экран и go вернуться к терминалу . Но я понятия не имею, как это сделать. Каждое следующее «что-то» отображает данные в первой строке экрана. Я больше не хочу использовать ЭКРАН, никаких операторов LINE.

[...]

SCREEN SECTION.
01 USER-FORM.
[...]
01  CLEAR-SCREEN.
    05 BLANK SCREEN.

[...]

DISPLAY USER-FORM.
ACCEPT USER-FORM.
DISPLAY CLEAR-SCREEN.

PERFORM DATA-CALCULATIONS.

DISPLAY "CALCULATION RESULTS 1: " WS-DATA(1).
DISPLAY "CALCULATION RESULTS 2: " WS-DATA(2).
DISPLAY "CALCULATION RESULTS 3: " WS-DATA(3).

1 Ответ

2 голосов
/ 01 мая 2020

Вы не можете. После того, как вы использовали SCREEN в GnuCOBOL, все последующие DISPLAYs / ACCEPTs будут на экране.

Если вы не хотите явно указывать LINE и COL для последующих DISPLAY, вы можете использовать LINE 0 расширение, которое дает что-то вроде обычного поведения DISPLAY (а именно, LINE 0 помещает DISPLAY в начало строки, следующей за последним ACCEPT / DISPLAY).

DISPLAY "CALCULATION RESULTS 1: " LINE 0, WS-DATA(1).
DISPLAY "CALCULATION RESULTS 2: " LINE 0, WS-DATA(2).
DISPLAY "CALCULATION RESULTS 3: " LINE 0, WS-DATA(3).
...