home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a013 / 1.ddi / SOURCE.EXE / F_MMOGET.PRG < prev    next >
Encoding:
Text File  |  1991-01-25  |  1.9 KB  |  71 lines

  1. *****************************************************************
  2. FUNCTION MEMOGET
  3. *****************************************************************
  4.  
  5. * Initiates data entry in a memo through a trigger variable
  6.  
  7. * Copyright(c) 1991 - James Occhiogrosso
  8.  
  9. LOCAL old_col, old_row, old_screen, trigger
  10.  
  11. PARAMETERS format, memo_name, top, left, bottom, right, update, ;
  12.            userfunc, line_len, tab_size, start_line, start_col, ;
  13.            init_row, init_col
  14.  
  15. * The first six arguments are always passed
  16.  
  17. IF PCOUNT() < 6
  18.     RETURN .F.
  19.  
  20. ELSE
  21.     * Create defaults for arguments not passed
  22.  
  23.     update     = IF(update     == NIL, .T., update)
  24.     userfunc   = IF(userfunc   == NIL, "memoctrl", userfunc)
  25.     line_len   = IF(line_len   == NIL, (right-left)-1, line_len)
  26.     tab_size   = IF(tab_size   == NIL, 4, tab_size)
  27.     start_line = IF(start_line == NIL, 1, start_line)
  28.     start_col  = IF(start_col  == NIL, 0, start_col)
  29.     init_row   = IF(init_row   == NIL, 0, init_row)
  30.     init_col   = IF(init_col   == NIL, 0, init_col)
  31.  
  32. ENDIF
  33.  
  34.  
  35. * Get name of memo trigger variable
  36. trigger = READVAR()
  37.  
  38. * Save GET row and column
  39. old_row = ROW()
  40. old_col = COL()
  41.  
  42. &trigger = IF(EMPTY(&trigger), ' ', UPPER(ALLTRIM(&trigger)))
  43.  
  44. IF .NOT. &trigger $ 'YN√ ' 
  45.     * Stay in get if trigger field has wrong value
  46.     RETURN(.F.)
  47.  
  48. * If trigger is 'Y', edit memo
  49. ELSEIF &trigger = 'Y'
  50.  
  51.     * If AED menubar is in use, put a message in its window
  52.     AEDMSG('mw_memo')
  53.  
  54.     * Edit memo by reference
  55.     MEMOVIEW(format, @memo_name, top, left, bottom, right,   ;
  56.                   update, userfunc, line_len, tab_size,      ;
  57.                   start_line, start_col, init_row, init_col )
  58.  
  59.     AEDMSG('mw_pgdn')
  60.  
  61.     *  Replace trigger variable with a "check" character,
  62.     *  and display it to indicate memo has data
  63.  
  64.     &trigger = IF(EMPTY(memo_name), 'N', CHR(251))
  65.     @ old_row, old_col SAY &trigger
  66.  
  67. ENDIF
  68.  
  69. RETURN(.T.)
  70.  
  71.