home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxlb.zip / SAMPLES / SAMPLFLD.CMD < prev    next >
OS/2 REXX Batch file  |  1993-12-03  |  3KB  |  70 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /* RXWINDOW field usage example                                              */
  4. /*                                                                           */
  5. /* This example illustrates the creation of entry fields in a window,        */
  6. /* including the ability to change field attributes and make protected       */
  7. /* and masked fields.                                                        */
  8. /*                                                                           */
  9. /*****************************************************************************/
  10.  
  11. field_data.1 = 'Normal field 1'
  12. field_data.2 = 'Normal field 2'
  13. field_data.3 = 'Masked field'
  14. field_data.4 = 'Protected field 1'
  15. field_data.5 = 'Protected field 2'
  16.  
  17. do forever
  18.     window = w_open(2, 3, 23, 60, 48)
  19.     call w_border window, 1
  20.     call w_put window, 2, 2, 'Please type your name.'
  21.  
  22.     /* usage of W_GET with a pad character */
  23.     name = w_get(window, 3, 2, 20, , , '_', 'f')
  24.  
  25.     call w_put window, 3, 2, 'Hello,' name
  26.     call w_put window, 4, 2, 'Key pressed:' c2x(_activation_key) '(hex)'
  27.     call w_put window, 5, 2, 'Key name:' _activation_keyname
  28.     call w_put window, 7, 2, 'Type in the following fields, end with Enter:'
  29.  
  30.     /* create some fields with names "FIELD.x", padded with '.' */
  31.     do i = 1 to 5
  32.         call w_field window, 'field.'i, 7+i, 3, 30,, '.'
  33.         /* put some data in the fields */
  34.         field.i = field_data.i
  35.         end
  36.  
  37.     /* use W_FIELDSET to make some fields protected with special color */
  38.     call w_fieldset window, 'field.4', 60, , 'p'
  39.     call w_fieldset window, 'field.5', 60, , 'p'
  40.  
  41.     /* make field masked with '*' */
  42.     call w_fieldset window, 'field.3', 62, , , '*'
  43.  
  44.     /* usage of W_READ, with cursor initially in field.2 and request for
  45.         a list of changed fields */
  46.     call w_read window, 'field.2', 'f', 'changed.'
  47.  
  48.     call w_put window, 19, 2, 'Key pressed:' c2x(_activation_key) '(hex)'
  49.     call w_put window, 20, 2, 'Key name:' _activation_keyname
  50.     call w_put window, 21, 2, 'Cursor was in' _activation_field
  51.  
  52.     /* display new values of the fields */
  53.     do i = 1 to 5
  54.         row = 13 + i
  55.         call w_put window, row, 3, 'field' i '=' field.i
  56.         do j = 1 to changed.0
  57.             if changed.j = 'FIELD.'i then do
  58.                 call w_put window, row, 40, '(changed)'
  59.                 leave
  60.                 end
  61.             end
  62.         end
  63.  
  64.     call w_put window, 22, 2, 'Press any key to continue, ESC to exit.'
  65.     key = inkey()
  66.     call w_close window
  67.     if key = '1b'x then
  68.         leave
  69.     end
  70.