[an error occurred while processing this directive]
HP OpenVMS Systems Documentation |
HP COBOL
|
Previous | Contents | Index |
This section points out some of the major differences and similarities between the Screen Section and non-Screen Section extensions to help you determine which to use.
There are significant similarities between the Screen Section feature and that of the non-Screen Section screen formats, as follows:
In a number of cases, a clause that you can use in the Screen Section of the Data Division, in the screen description entry, accomplishes the same purpose as a clause in the Procedure Division's ACCEPT or DISPLAY statement (in a non-Screen Section extended format). The difference is in the clauses' names (not interchangeable) and where you use them: in the Data Division's Screen Section, or in the Procedure Division with the ACCEPT or DISPLAY statement. The following table shows these clauses:
Screen Section Clause | ACCEPT or DISPLAY Clause with Equivalent Effect |
---|---|
AUTO | AUTOTERMINATE |
BLANK LINE | ERASE LINE |
BLANK SCREEN | ERASE SCREEN |
BLINK | WITH BLINKING |
ERASE EOL | ERASE TO END OF LINE |
ERASE EOS | ERASE TO END OF SCREEN |
HIGHLIGHT | BOLD |
REVERSE-VIDEO | REVERSED |
SECURE | WITH NO ECHO |
UNDERLINE | UNDERLINED |
There are also significant differences between the Screen Section (Alpha, I64) and the non-Screen Section screen formats. With the Screen Section:
+---------------+ | | | | | | | | | | +---------------+ |
+---------------+ | | | +-----------+ | | | | | | | | | +---+-----------+ |
Refer to Section 11.2, and also the HP COBOL Reference Manual Data Division chapter's section on Screen Description and clauses, for details on these features.
In Example 11-12 (Alpha and I64 only), a video form is designed for a daily calendar. With it you can display appointments, schedule new appointments, cancel appointments, and print appointments.
Example 11-12 Designing a Video Form for a Daily Calendar (Alpha, I64) |
---|
IDENTIFICATION DIVISION. PROGRAM-ID. MENU. ENVIRONMENT DIVISION. CONFIGURATION SECTION. * The SPECIAL-NAMES paragraph that follows provides for the * capturing of the F10 function key and for positioning of the * cursor. SPECIAL-NAMES. SYMBOLIC CHARACTERS FKEY-10-VAL ARE 11 CURSOR IS CURSOR-POSITION CRT STATUS IS CRT-STATUS. DATA DIVISION. WORKING-STORAGE SECTION. * CURSOR-LINE specifies the line and CURSOR-COL specifies the * column of the cursor position. 01 CURSOR-POSITION. 02 CURSOR-LINE PIC 99. 02 CURSOR-COL PIC 99. * Normal termination of the ACCEPT statement will result in a value * of '0' in KEY1. When the user presses F10, the value in KEY1 will * be '1' and FKEY-10 will be true. 01 CRT-STATUS. 03 KEY1 PIC X. 03 KEY2 PIC X. 88 FKEY-10 VALUE FKEY-10-VAL. 03 filler PIC X. * The following data items are for a "Daily Calendar." It shows * the day's appointments and allows appointments to be made, * canceled, and printed. 01 ACCEPT-ITEM1 PIC X. 01 APPT-NAME PIC X(160). 01 APPT-DAY PIC XX. 01 APPT-MONTH PIC XX. 01 APPT-YEAR PIC XX. 01 APPT-HOUR PIC XX. 01 APPT-MINUTE PIC XX. 01 APPT-MERIDIEM PIC XX. 01 APPT-VERIFY PIC X. 01 EMPTY-LINE PIC X(80). * The SCREEN SECTION designs the Daily Calendar, with a menu * screen from which the user selects an option: to show * appointments, schedule an appointment, cancel an appointment, * and print the appointments. SCREEN SECTION. 01 MENU-SCREEN BLANK SCREEN FOREGROUND-COLOR 7 BACKGROUND-COLOR 1. 02 MENU-SCREEN-2. 03 TITLE-BAR FOREGROUND-COLOR 7 BACKGROUND-COLOR 4. 04 LINE 1 PIC X(80) FROM EMPTY-LINE. 04 LINE 1 COLUMN 32 VALUE "Daily Calendar". 03 LINE 7 COLUMN 26 PIC X TO ACCEPT-ITEM1. 03 VALUE " Show appointments for a day ". 03 LINE 9 COLUMN 26 PIC X TO ACCEPT-ITEM1. 03 VALUE " Schedule an appointment ". 03 LINE 11 COLUMN 26 PIC X TO ACCEPT-ITEM1. 03 VALUE " Cancel an appointment ". 03 LINE 13 COLUMN 26 PIC X TO ACCEPT-ITEM1. 03 VALUE " Print your appointments ". 03 HELP-TEXT FOREGROUND-COLOR 6 BACKGROUND-COLOR 0. 04 LINE 19 COLUMN 12 VALUE " Use the arrow keys to move the cursor among menu items. ". 04 LINE 20 COLUMN 12 VALUE " Press <Return> when the cursor is at the desired item. ". 04 LINE 21 COLUMN 12 VALUE " Press <F10> to exit. ". 01 SCHEDULE-SCREEN BLANK SCREEN. 02 TITLE-BAR FOREGROUND-COLOR 7 BACKGROUND-COLOR 4. 03 LINE 1 PIC X(80) FROM EMPTY-LINE. 03 LINE 1 COLUMN 30 VALUE "Schedule Appointment". 02 FIELDS-TEXT FOREGROUND-COLOR 7 BACKGROUND-COLOR 1. 03 LINE 5 VALUE " Description of Appointment: ". 03 LINE PLUS 4 VALUE " Date of Appointment (DD/MM/YY): ". 03 COLUMN PLUS 5 VALUE "/ /". 03 LINE PLUS 2 VALUE " Time of Appointment (HH:MM mm): ". 03 COLUMN PLUS 5 VALUE ":". 02 FIELDS-INPUT FOREGROUND-COLOR 7 BACKGROUND-COLOR 0 AUTO. 03 LINE 6 PIC X(160) TO APPT-NAME. 03 LINE 9 COLUMN 36 PIC XX USING APPT-DAY. 03 LINE 9 COLUMN 39 PIC XX USING APPT-MONTH. 03 LINE 9 COLUMN 42 PIC XX USING APPT-YEAR. 03 LINE 11 COLUMN 36 PIC XX USING APPT-HOUR. 03 LINE 11 COLUMN 39 PIC XX USING APPT-MINUTE. 03 LINE 11 COLUMN 42 PIC XX USING APPT-MERIDIEM. 02 HELP-TEXT FOREGROUND-COLOR 6 BACKGROUND-COLOR 0. 03 LINE 16 COLUMN 18 VALUE " Use Cursor Keys to move within the fields. ". 03 LINE 17 COLUMN 18 VALUE " Press <Tab> to enter next field. ". 03 LINE 18 COLUMN 18 VALUE " Press <Return> when finished. ". 01 VERIFY-SUBSCREEN FOREGROUND-COLOR 7 BACKGROUND-COLOR 1. 02 LINE 16 COLUMN 1 ERASE EOS. 02 LINE 17 COLUMN 25 VALUE " Is this entry correct? (Y/N): ". 02 PIC X USING APPT-VERIFY AUTO. PROCEDURE DIVISION. P0. DISPLAY MENU-SCREEN. * The cursor position is not within an item on the screen, so the * first item in the menu will be accepted first. MOVE 0 TO CURSOR-LINE, CURSOR-COL. * The user moves the cursor with the arrow keys to the * desired menu item (to show, schedule, cancel, or print * appointments) and selects the item by pressing <Return>. * If the user wishes to exit without selecting an option, * the user can press the F10 function key. ACCEPT MENU-SCREEN. IF KEY1 EQUAL "0" PERFORM OPTION_CHOSEN ELSE IF KEY1 EQUAL "1" AND FKEY-10 DISPLAY "You pressed the F10 key; exiting..." LINE 22. STOP RUN. OPTION_CHOSEN. * For brevity, the sample program includes complete code * for the "Schedule Appointment" screen only. A complete * program for a calendar would also include code for * displaying, canceling, and printing the day's appointments. IF CURSOR-LINE = 7 DISPLAY "You selected Show Appointments" LINE 22. IF CURSOR-LINE = 9 MOVE "01" TO APPT-DAY MOVE "01" TO APPT-MONTH MOVE "94" TO APPT-YEAR MOVE "12" TO APPT-HOUR MOVE "00" TO APPT-MINUTE MOVE "AM" TO APPT-MERIDIEM DISPLAY SCHEDULE-SCREEN * The user types the description, date, and time of the * appointment. ACCEPT SCHEDULE-SCREEN MOVE "Y" TO APPT-VERIFY DISPLAY VERIFY-SUBSCREEN * The user is asked, "Is this entry correct?" Answer is * Y or N. ACCEPT VERIFY-SUBSCREEN. IF CURSOR-LINE = 11 DISPLAY "You selected Cancel Appointments" LINE 22. IF CURSOR-LINE = 13 DISPLAY "You selected Print Appointments" LINE 22. END PROGRAM MENU. |
Previous | Next | Contents | Index |