home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / cobol / library / cwindow / ufc022.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-28  |  2.1 KB  |  90 lines

  1. /*
  2. Turbo C/ Turbo C++
  3. ufc022.c - example file shows a menu
  4. */
  5.  
  6. /* variable fields */
  7.     #include "_UFC02.h"
  8.     #include "menu01.h"
  9.     #include "menu02.h"
  10.  
  11. main()
  12. {
  13. void not_implemented();
  14. void program_finish();
  15.  
  16. /* save screen */
  17. FKZ = 0;
  18. UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
  19.  
  20. /* initialize mouse */
  21. MOUSEON();
  22.  
  23. /* display <menu01> */
  24.     memcpy(menu01.fld0,"Functions ",10);
  25.     memcpy(menu01.fld1,"Programend",10);
  26.     aus_menu01:
  27.     FKZ = 2; SM = 0; RET=0;
  28.     memcpy(FMT, "menu01  ", 8);
  29.     #include "menu01.i"
  30.     UNIF (&FKZ, FMT, menu01.fld0, &RET, &SM, Daten);
  31. /* switch of RET */
  32.     switch(RET)
  33.     { case 200: /* display <menu02> */
  34.        memcpy(menu02.fld2,"file new              F1     ",30);
  35.        memcpy(menu02.fld3,"file open             F2     ",30);
  36.        memcpy(menu02.fld4,"file delete           F3     ",30);
  37.        memcpy(menu02.fld5,"program end           F10    ",30);
  38.        FKZ = 2; SM = 0; RET=4;
  39.        aus_menu02:
  40.        memcpy(FMT, "menu02  ", 8);
  41.        #include "menu02.i"
  42.        UNIF (&FKZ, FMT, menu02.fld2, &RET, &SM, Daten);
  43.        switch(RET)
  44.        { case 200: case 101: /* first menu item or F1 */
  45.      not_implemented();
  46.      goto aus_menu01;
  47.      break;
  48.      case 201: case 102: /* second menu item or F2 */
  49.      not_implemented();
  50.      goto aus_menu01;
  51.      break;
  52.      case 202: case 103: /* third menu item or F3 */
  53.      not_implemented();
  54.      goto aus_menu01;
  55.      break;
  56.      case 203: case 110: /* fourth menu item or F10 */
  57.      program_finish();
  58.      exit();
  59.      break;
  60.      default: /* ignore input */
  61.      FKZ=3; RET=4; goto aus_menu02;
  62.      break;
  63.        }
  64.       case 201: /* progroam end */
  65.       program_finish();
  66.       break;
  67.       default: /* ignore input */
  68.       goto aus_menu01;
  69.       break;
  70.     }
  71. }
  72.  
  73. /* display empty format <menu03> */
  74. void not_implemented()
  75. {   FKZ = 4; SM=0; RET=4;
  76.     memcpy(FMT, "menu03  ", 8);
  77.     #include "menu03.i"
  78.     UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
  79. }
  80.  
  81. /* finish program, clear mouse cursor, display saved screen */
  82. void program_finish()
  83. {
  84. MOUSEOFF();
  85. FKZ = 5;
  86. UNIF (&FKZ, FMT, FMT, &RET, &SM, Daten);
  87. exit();
  88. }
  89.  
  90.