SP Popup Functions

 TAGMARRAY()    Tag elements in muti-dimensioned array
 STAGFIELDS()   Tag fields
 UNBOX()        Removes a box created by makebox()
 SPOPORDER()    Popup allows user to change viewing (index) order
 SPOPSEEK()     Popup seek based on present index keys
 VIEWMEMOS()    Popup viewing (non-edit mode) of memos
 VERTVIEW()     Pops up a vertical view of the current record
 TAGARRAY()     Tag selected elements of an array
 SGETMANY()     Virtual (scrolling) gets in a popup box
 AMSG()         Pop up message box for an array of messages
 POPUPDIR()     Popup of a given directory for file selection
 POPREAD()      Pops up a box with 1-5 say-get combinations
 POPVDATE()     Pops up a picklist of virtual dates
 POPEX()        Pops up an achoice for a certain filespec
 POPMONTH()     Popup month selection
 POPCOLSEL()    Popup color grid for selecting a single color
 PROGINDEX()    Perform an index with a progress box
 PROGEVAL()     Perform a Database DBEVAL() with a progress box
 POPVYEAR()     Pops up a picklist of virtual years
 PROGCOUNT()    Perform a count with a progress box
 PROGDISP()     Displays progress bar in box created with PROGON()
 PROGOFF()      Removes a progress bar box created by PROGON()
 MESSYN()       Popup YesNo prompt box
 MCHOICE()      Creates a box for an Achoice call
 MFIELDS()      Pops up an selection box for current dbf fields
 GETDATE()      Point and shoot calendar
 MAKEBOX()      Draws a box on the screen with optional shadow,
                returns saved screen
 PLSWAIT()      Pops up a 'Please Wait' window or removes it
 ONE_READ()     Pop-up window with 1-4 Say/Get combinations
 MULTMSGYN()    Multi-line popup message - yes -no
 MFIELDSTYPE()  Pops up a list of fields of given type(s)
 MSG()          Displays up to a 9 line message in a window
 HARDCOPY()     Prints current record or memo fields to printer
 EDITMEMO()     Performs a windowed memoedit() on a memo field
 ASCIITABLE()   Pops up an ASCII table for character selection
 DELREC()       Dialog box to delete/undelete current record
 EDITMEMOV()    Performs a windowed memoedit() on a string
 BROWSE2D()     Popup tbrowse of 2 dimension array (array of arrays)
 SBUNSHADOW()   Removes shadow drawn with SBSHADOW()
 ABORT()        Pops up dialog box asking: Abort  Don't Abort
 SBSHADOW()     Draw a shadow around a box
 PROGON()       Initialize and display a progress bar box
 QUIKREPORT()   Runtime pre-defined report printing module
 P_READY()      Determines if printer is ready, prompts user
 SACHOICE()     Achoice replacement, uses TBROWSE, accepts exception
                codeblock
 S1LABEL()      Prints a single label
 GETCALC()      Pops up a quick 'solar' calculator

 

SP_GETDATE

GETDATE()

  Short:
  ------
  GETDATE() Point and shoot calendar

  Returns:
  --------
  <dSelect> => date selected

  Syntax:
  -------
  GETDATE([dStart])

  Description:
  ------------
  Allows user to point to and select a date [dStart]
  optional date parameter to start with. If no date passed, system
  date is used.

  Examples:
  ---------
   set key -1 to GETDATE

  NOTES:
  -------
  See also CALENDWHEN(), CALENDVALID(), CALENDKSET()

  Source:
  -------
  S_GETDAT.PRG

 

SP_CALENDWHEN

CALENDWHEN()

  Short:
  ------
  CALENDWHEN() Uses GETDATE() function as a GET WHEN clause

  Returns:
  --------
  <lWhen> => when condition

  Syntax:
  -------
  CALENDWHEN([lShowonUp],[lReturn])

  Description:
  ------------
  This sets up the popup GETDATE() function for use in
  a GET WHEN clause. (the pre validation block). If a date is
  selected, it is assigned to the get. The Calendar function will
  pop up upon entry into a GET field.

  [lShowOnUp] Normally you wouldn't want this WHEN to
  occur if the user is using the up arrow, and if <lShowOnUp> is
  .f. (the default) it does not occur (the GET is just skipped)

  [lReturn] If set to False (the default) the GET is
  never actually edited, as the WHEN will always return .f., but
  it is assigned the value returned by GETDATE(). By setting it to
  True, the Calendar will pop up, and then the GET will also be
  put through the normal get editor.

  Examples:
  ---------

   proc test

   v1 := date()
   v2 := date()+1
   v3 := date()+1
   v4 := date()+1

   @10,10 get v1
   @11,10 get v2 when calendwhen(.f.) // calendar pops up  when the
                                   // get is entered. No  direct
                                   // editing.
   @12,10 get v3 valid calendvalid( {||v3>date()} )
   @13,10 get v4

   read

  Notes:
  -------
  You might want to look at CALENDVALID() and
  CALENDKSET() for other options.

  Source:
  -------
  S_DATVW.PRG

 

SP_CALENDVALID

 CALENDVALID()

  Short:
  ------
  CALENDVALID() Uses GETDATE() popup calendar function as a GET
  VALID clause

  Returns:
  --------
  <lValid> => valid condition

  Syntax:
  -------
  CALENDVALID([bValid])

  Description:
  ------------
  This sets up the popup GETDATE() calendar for use in
  a GET VALID clause. (the post validation block). If a value is
  selected, it is assigned to the get. (if ESCAPE is pressed, it
  is not) The Calendar function will pop up upon exit from a GET
  field.

  [bValid] If you pass a validation codeblock, it will
  be checked first. If the GET is already valid, according to the
  codeblock, the calculator will not be popped up. The codeblock
  must return a logical value.

  Examples:
  ---------

   proc test

   v1 := date()
   v2 := date()
   v3 := date()
   v4 := date()

   @10,10 get v1
   @11,10 get v2 when calendwhen(.f.)
   @12,10 get v3 valid calendvalid( {||v3>date()}  )
                      // note the validation block
                      // IF V3 > date(), the calendar
                      // will not be called
   @13,10 get v4

   read

  Notes:
  -------
  You might want to look at CALENDWHEN() and
  CALENDKSET() for other options.

  Source:
  -------
  S_CALCVW.PRG

 

SP_CALENDKSET

CALENDKSET()

  Short:
  ------
  CALENDKSET() Allows use of GETDATE() calendar in GETS

  Returns:
  --------
  Nil

  Syntax:
  -------
  CALENDKSET(nKey,cProc,cVar,lAssign)

  Description:
  ------------
  Sets up a call to GETDATE() when key <nKey> is
  pressed while in proc or function <cProc> at variable <cVar>.

  If <lAssign> is True, the value returned from
  GETDATE() is assigned to the current get. Use CALENDKCLR() when
  done.

  Examples:
  ---------

  // this will pop up a the calendar when F2 is pressed while
  // on the get V2. The value will be assigned to V2.

  proc test
  local v1 := DATE(),  v2 := DATE()+1
  @10,10 get v1
  @11,10 get v2
  CALENDKSET(K_F2,"TEST","V2",.t.)
  read

  CALENDKCLR()  // clear it out

  Source:
  -------
  S_DATEK.PRG