home *** CD-ROM | disk | FTP | other *** search
- /*
- Turbo C/ Turbo C++
- ufc022.c - example file shows a menu
- */
-
- /* variable fields */
- #include "_UFC02.h"
- #include "menu01.h"
- #include "menu02.h"
-
- main()
- {
- void not_implemented();
- void program_finish();
-
- /* save screen */
- FKZ = 0;
- UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
-
- /* initialize mouse */
- MOUSEON();
-
- /* display <menu01> */
- memcpy(menu01.fld0,"Functions ",10);
- memcpy(menu01.fld1,"Programend",10);
- aus_menu01:
- FKZ = 2; SM = 0; RET=0;
- memcpy(FMT, "menu01 ", 8);
- #include "menu01.i"
- UNIF (&FKZ, FMT, menu01.fld0, &RET, &SM, Daten);
- /* switch of RET */
- switch(RET)
- { case 200: /* display <menu02> */
- memcpy(menu02.fld2,"file new F1 ",30);
- memcpy(menu02.fld3,"file open F2 ",30);
- memcpy(menu02.fld4,"file delete F3 ",30);
- memcpy(menu02.fld5,"program end F10 ",30);
- FKZ = 2; SM = 0; RET=4;
- aus_menu02:
- memcpy(FMT, "menu02 ", 8);
- #include "menu02.i"
- UNIF (&FKZ, FMT, menu02.fld2, &RET, &SM, Daten);
- switch(RET)
- { case 200: case 101: /* first menu item or F1 */
- not_implemented();
- goto aus_menu01;
- break;
- case 201: case 102: /* second menu item or F2 */
- not_implemented();
- goto aus_menu01;
- break;
- case 202: case 103: /* third menu item or F3 */
- not_implemented();
- goto aus_menu01;
- break;
- case 203: case 110: /* fourth menu item or F10 */
- program_finish();
- exit();
- break;
- default: /* ignore input */
- FKZ=3; RET=4; goto aus_menu02;
- break;
- }
- case 201: /* progroam end */
- program_finish();
- break;
- default: /* ignore input */
- goto aus_menu01;
- break;
- }
- }
-
- /* display empty format <menu03> */
- void not_implemented()
- { FKZ = 4; SM=0; RET=4;
- memcpy(FMT, "menu03 ", 8);
- #include "menu03.i"
- UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
- }
-
- /* finish program, clear mouse cursor, display saved screen */
- void program_finish()
- {
- MOUSEOFF();
- FKZ = 5;
- UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
- exit();
- }
-
-