SP_ISTHISAREA

ISTHISAREA()

  Short:
  ------
  ISTHISAREA() Determines if expression is the name of a field
  in this area

  Returns:
  --------
  <lIsThisArea> => Is the expression a field in this
  area

  Syntax:
  -------
  ISTHISAREA(cExpress)

  Description:
  ------------
  Determines if <cExpress> contains the name of a field
  in this area.

  If <cExpress> contains an alias, the area of the
  alias will be checked.

  ISTHISAREA() first calls ISFIELD() to ensure the
  expression is a field name.

  If a field in another area is passed, and no alias is
  used, False will be returned.

  Examples:
  ---------
   ISTHISAREA("LASTNAME")             // actual field,  returns .t.

   ISTHISAREA("CUSTOMER->LASTNAME")  // actual field, returns .t.

   ISTHISAREA("LEFT(LNAME,5)")        // expression, returns  .f.

   ISTHISAREA("AGENT")                //field, but in another area. Returns .f.

  Notes:
  -------
  Companion functions are ISFIELD(), ISEDITABLE(),
  PARSFIELD(), PARSALIAS(), EXPBLOCK(), WORKBLOCK()

  Source:
  -------
  S_FIELDS.PRG

 

SP Functions


A2TOSING()       Copies a given element from an array of arrays
AASKIP()         Use for skipblock for arrays in Tbrowse
AAVERAGE()       Determines average of an array with condition
ABORT()          Pops up dialog box asking: Abort  Don't Abort
ADDSPACE()       Pads right of string with spaces
AEXTRACT()       Extract and return a conditional set from an array
AFDECIX()        Returns an array of field DECIMALS for current dbf
AFIELDSTYPE()    Returns an array of field names of particular type
AFIELDSX()       Returns an array of field names for current dbf
AFLENSX()        Returns an array of field LENGTHS for current dbf
AFTYPESX()       Returns an array of field types for current dbf
AKOUNT()         Counts exact matches of value in array
ALENG()          Actual length of an array, less trailing nil elements
ALLBUT()         Returns all but last x characters
AMATCHES()       Counts the matches of an array with condition
AMAVERAGE()      Average on a given element of multi-dim array
AMSG()           Pop up message box for an array of messages
AMSTDDEV()       Standard Deviation on a given element of
AMSUM()          Sum on a given element of multi-dim array
AMVARIANCE()     Variance on a given element of multi-dim array
APPENDIT()       Intelligent APPEND FROM replacement
ARRANGE()        Rearranges text in a string
ARRAY2DBF()      Replaces current record with values in an array
ASCIITABLE()     Pops up an ASCII table for character selection
ASORTMULT()      Sort multiple arrays on order of single array
ASORTMULTR()     Reverse sort multiple arrays on order of single array
ASTDDEV()        Standard deviation of an array with condition
ASUM()           Determines the sum of an array with condition
AT2CHAR()        Returns the String color equivalent of a color number
ATT()            Colors a section of the screen, leaving the text intact
AUPDATED()       Determines if array contains updated values for record
AVARIANCE()      Determines the variance of an array with condition
BEGEND()         Determines beginning or end of week,month or quarter
BIGELEM()        Returns length of longest string in an array
BLANKFIELD()     Returns a blank value corresponding to a field
BLANKREC()       Blanks out a record
BLDARR()         Builds an array from a delimited string
BLDDBF()         Create a DBF from a delimited string or an array
BLDNDX()         Interactively create a new index
BOM()            Calculates beginning of the month date
BOYEAR()         Determine beginning of year a date falls in
BROWSE2D()       Popup  tbrowse of 2 dimension array (array of arrays)
BROWSEDELIM()    Tbrowse a delimited file
BROWSESDF()      Tbrowse an SDF file
BUILDEX()        Interactively builds and returns an expression string
BUNGDROP()       Causes dropdown during BUNGEE() menu def sequence
BUNGEE()         Mouseable, multi-level dropdown menu with triggers
BUNGEEQUIT()     BUNGEEQUIT( ) is how a Bungee menu is terminated. You would normally
BUNGEETOP()      Sends the current menu back to the top level box (not all
BUNGEND()        Ends a BUNGEE() menu array definition sequence
BUNGOPTION()     Adds option during a BUNGEE() menu definition sequence
BUNGREDRAW()     Redraws the current menu, with optional change of colors
BUNGSTART()      Starts a BUNGEE() menu array definition sequence
BUNGUNDROP()     Ends dropdown during BUNGEE() menu def sequence
BXX()            Draws a box on the screen of a given color
CALCKCLR()       Clears hot keys set by CALCKSET()
CALCKSET()       Allows use of GETCALC() calculator in GETS
CALCVALID()      Uses GETCALC() calculator function as a GET VALID
CALCWHEN()       Uses GETCALC() calculator function as a GET WHEN
CALENDKCLR()     Clears hot keys set up by CALENDKSET()
CALENDKSET()     Allows use of GETDATE() calendar in GETS
CALENDVALID()    Uses GETDATE() popup calendar function as a GET
CALENDWHEN()     Uses GETDATE() function as a GET WHEN clause
CENTR()          Centers a string in x spaces
CDIR()           Change Directory
CLABEL()         Menu driven module for label management
CLS()            Clear the screen with optional color,character
COLPIK()         Allows selection of colors from a list
COPYFIELDS()     Copies selected fields of selected records to new dbf
COPYITOUT()      Copies records to a new DBF
CRUNCH()         Moves spaces in a string to end of string
CTRLW()          Sends chr(23) (Control-W) to the keyboard
CURD()           Return current drive letter
DATECALC()       Adds/subtracts days,weeks,months,years to a date
DAYSIN()         Calculates number of days in a month
DBF2ARRAY()      Returns an array of values for the current record
DBSTATS()        Statistical report on dbf, including
DELARRAY()       Deletes all elements of an array
DELREC()         Dialog box to delete/undelete current record
DOYEAR()         Calculates day of the year from date
DTDIFF()         Returns difference between dates
DTOW()           Converts date to words
DUPHANDLE()      Duplicate record finder with delete/copy options
DUPLOOK()        Locates possible duplicates based on user criteria
EDITDB()         Customized database browser with edit/add/search
EDITMEMO()       Performs a windowed memoedit() on a memo field
EDITMEMOV()      Performs a windowed memoedit() on a string
ED_G_PIC()       Returns appropriate picture for getting a field
ENDSWITH()       Determines if a string ends with another string
ENHANCED()       Returns color integer for ENHANCED setting
EVALQ()          Evaluates a logical condition in a string
EXPBLOCK()       Returns a codeblock to evaluate an expresson
FADEAWAY()       Fades screen away , alternative to restscreen()
FASTFORM()       Prints a selected formletter for current record
FIELDDECX()      Returns decimals of field
FIELDLENX()      Returns length of field
FIELDPOSX()      Returns position of field named in expression
FIELDTYPEX()     Returns type of field
FILEINFO()       Returns file date,time,size
FILEREAD()       Lists a text file of unlimited size
FILLARR()        Fill type, length, decimal arrays
FMOVE2NEXT()     Move to beginning of next line in a text file
FMOVE2PRIOR()    Moves to beginning of previous CRLF delimited
FORMLETR()       Interactive formletter and mailmerge utility
FORMULATE()      Builds a free-form formula or User Defined Field
FREQANAL()       Performs a frequency analysis on a DBF
FULLDIR()        Interactively navigate directories
GENED()          Generic dbf editing screen
GENREADER()      Creates specialized user defined get reader block
GENVAL()         Generic VALID clause validation with message
GETAKEY()        Gets intent of last keystroke
GETCALC()        Pops up a quick 'solar' calculator
GETDATE()        Point and shoot calendar
GETDFP()         Gets SET DEFAULT path
GETJUMP2()       Determines if mouse clicked on a get
GLOBREP()        Performs global selective replace of a field
HARDCOPY()       Prints current record or memo fields to printer
HELP()           Provides context sensitive popup help
HELPMOD()        Interactively build and modify help screens
IFMOUSEHD()      Checks if mouse held down,evals codeblock while it is
INITSUP()        Sets SuperLib system interface vars for MONO or COLOR
ISBLANKREC()     Determines if a record is blank
ISFIELD()        Determines if an expression is the name of a field
ISINLOOK()       Checks for existence of a value in a lookup dbf
ISLOADED()       Determines  function is loaded or not
ISMOUSEAT()      Checks for mouse click within passed coordinates
ISNOTDUP()       Checks for a duplicate field
ISPART()         Determines if a value is part of a set 
ISPRN()          Detects printer ready (or not) on LPT1, 2 or 3
ISTHISAREA()     Determines if expression is the name of a field
ISVALFILE()      Checks a file name for validity
KBDESC()         Keyboards character 27 (escape) when key pressed
LISTER()         Build, format,print SIMPLE lists to
LJUST()          Left justifies a string
MAKEBOX()        Draws a box on the screen and returns saved screen
MBRZCLICK()      Checks for mouse click on current Tbrowse row/col
MBRZMOVE()       Checks for mouse click at and moves to Tbrowse row/col
MCHOICE()        Does a boxed, achoice() style popup on an array
MENU_V()         Vertical popup menu from variable # parameters
MESSYN()         Popup YesNo prompt box
MFIELDS()        Pops up a selection box for current dbf fields
MFIELDSTYPE()    Pops up a list of fields of given type(s)
MODIFY()         Create or modify DBF structures
MOUSEHOTAT()     Checks for mouse click from array of hot coordinates
MSG()            Displays up to a 9 line message in a window
MULTIMSGYN()     Multi-line popup message - yes -no
NBR2STR()        Correctly orders numerics where negative
NKEY()           Gets key of an index file
NOZDIV()         Prevents divide-by-zero
OLD()            On Line Documentation - TOPIC oriented help system
ONE_READ()       Pop-up window with 1-4 Say/Get combinations
OPENIND()        Opens an array of indexes
PARSALIAS()      Extracts the name of the alias from an expression
PARSFIELD()      Extracts the name of the field from an expression
PICKNDX()        Allows user to select indexes to open
PICKREADER()     Creates specialized picklist reader block
PLSWAIT()        Pops up a 'Please Wait' window or removes it
PMREADER()       Creates specialized PLUS/MINUS get reader block
POPCOLSEL()      Popup color grid for selecting a single color
POPEX()          Pops up an achoice for a certain filespec
POPMONTH()       Popup month selection
POPREAD()        Pops up a box with 1-5 say-get combinations
POPUPDIR()       Popup of a given directory for file selection
POPUPKCLR()      Clears GET hotkey popups set up with POPUPKSET()
POPUPKSET()      Set a popup for hotkey access from a GET
POPUPVALID()     Allows use of a popup for a GET VALID clause
POPUPWHEN()      Allows use of a popup for a GET WHEN clause
POPVDATE()       Pops up a picklist of virtual dates
POPVYEAR()       Pops up a picklist of virtual years
PRNPORT()        Determine Printer Port to use
PRNT()           Writes a string of a given color at row, column
PRNTFRML()       Prints a formletter created by formletr()
PROGCOUNT()      Perform a count with a progress box
PROGDISP()       Displays progress bar in box created with PROGON()
PROGEVAL()       Perform a Database DBEVAL() with a progress box
PROGINDEX()      Perform an index with a progress box
PROGOFF()        Removes a progress bar box created by PROGON()
PROGON()         Initialize and display a progress bar box
PROPER()         Capitalizes first letters of string, lowers rest
PSTABMENU()      Popup tabular (grid style) )menu
PULLDN()         Pulldown menu creator, handler
PURGEM()         Deletes records
P_RDYDELAY()     Sets/returns p_ready() 'seconds' variable
P_READY()        Determines if printer is ready, prompts user
QFLDSTYPE()      Count # of fields of a given type or types
QUERY()          Popup Interactive query by example condition
QUIKREPORT()     Runtime pre-defined report printing module
RAT_AREA()       Limits the mouse to a rectangular area of the screen
RAT_COL()        Current mouse column
RAT_COLL()       Returns mouse column at the last left button press
RAT_COLR()       Returns mouse column at the last right button press 
RAT_ELBHD()      Determines if left mouse button is held down
RAT_EXIST()      Determines if a mouse is available
RAT_FORCE()      This forces a mouse present status, regardless
RAT_LBHD()       Determines if the mouse left button is currently depressed
RAT_LEFTB()      Determines if the left mouse button has been pressed
RAT_NOMOUSE()    This forces a no mouse status, regardless
RAT_OFF()        Sets the mouse cursor off
RAT_ON()         Sets the mouse cursor on
RAT_POSIT()      Positions the mouse cursor at row,column
RAT_RBHD()       Determines if the mouse right button is currently depressed
RAT_RESET()      Resets the mouse to its default values
RAT_RIGHTB()     Determines if the right mouse button has been pressed
RAT_ROW()        Current mouse row
RAT_ROWL()       Returns mouse row at the last left button press
RAT_ROWR()       Returns mouse row at the last right button press

RAT_EQMCOL() Returns mouse column at last press 

RAT_EQMROW()     Returns mouse row at last press 
RAT_ERBHD()      Determines if right mouse button is held down 
RAT_EVENT()      Event handler - inkey() with mouse awareness 
RAT_ISMOUSE()    Determines mouse usage by RAT_EVENT() 
RAT_LASTEV()     Returns the last event recorded by RAT_EVENT() 
RAT_MENU2()      Mouseable MENU TO emulation 
RAT_READ()       Mouseable read 
REPORTER()       Create, modify, execute reports 
RESTSETKEYS()    Restores set keys saved with SAVESETKEYS() 
RJUST()          Right justifies a string RRJUMP2() Jump to a new get in a RAT_READ() 
RRLASTKEY()      Retrieve the last key handled by ratapplykey() 
R_ISRATREAD()    Determines if RAT_READ() is current get system 
S1LABEL()        Prints a single label 
SACHOICE()       Achoice replacement, uses TBROWSE, codeblock 
SADD_REC()       Attempts to append a blank record 
SAPPOINT()       Appointments manager - uses popup calendar. 
SATTCOLOR()      Sets up color vars for color monitor 
SATTDIRECT()     Sets up the the color vars directly 
SATTGET()        Sets up SuperLib color vars from COLORS.DBF 
SATTGETMEM()     Sets up SuperLib color vars from old COLORS.MEM 
SATTMONO()       Sets up color vars for mono monitor 
SATTPICK()       Sets up SuperLib color vars by selecting from DBF 
SATTPICKDEL()    Picklist deletion of stored color var sets 
SATTPICKPUT()    Stores SuperLib color vars to selected record 
SATTPOP()        Pops previously pushed SuperLib color vars 
SATTPUSH()       Pushes the current SuperLib color vars 
SATTPUT()        Stores current SuperLib color vars to COLORS.DBF 
SAVESETKEYS()    Saves active set keys to an array 
SBCENTER()       Centers box coordinates 
SBCOLS()         Determine number of columns in a box 
SBREADER()       Creates specialized spacebar spinner get reader 
SBROWS()         Determine number of rows in a box 
SBSHADOW()       Draw a shadow around a box 
SBUNSHADOW()     Removes shadow drawn with SBSHADOW() 
SCMOD()          Maintains scroller.dbf - see scroller() 
SCONVDELIM()     Convert a delimited file to a DBF 
SCROLLER()       Hotkey lookup tables with dbf storage 
SEARCHME()       Search a DBF with user-specified criteria 
SEARCHMFND()     Set/return last found() status from SEARCHME() 
SEARCHMRS()      Resets all SEARCHME() settings 
SETCENT()        Determines if century is on/off 
SETCOLORS()      Interactive color setting interface 
SETEXACT()       Determines if exact is on/off 
SET_DATE()       Sets and restores date format 
SEXPORT()        Export DBF to delimited or SDF files 
SFIL_LOCK()      Attempts to lock a file 
SFREADLINE()     Reads in text up to the next CRLF in a text file 
SFRR_HCODE()     Output report definition to .PRG code 
SGETMANY()       Virtual (scrolling) gets in a popup box 
SHIFTY()         Determines shift key settings
SLOTUSMENU()     1-2-3 style menu 
SLSF_APPT()      Sets and retrieves the file name and path for the 
                 SAPPOINT() DBF files 
SLSF_COLOR()     Sets and retrieves the file name and path for the 
                 COLOR SET DBF file 
SLSF_FORM()      Sets and retrieves the file name and path for the 
                 FORMLETR() DBF file 
SLSF_HELP()      Sets and retrieves the file name and path for the 
                 HELP() DBF file 
SLSF_LABEL()     Sets and retrieves the file name and path for the 
                 LISTER() DBF file 
SLSF_LIST()      Sets and retrieves the file name and path for the 
                 LISTER() DBF file 
SLSF_OLD()       Sets and retrieves the file name and path for the 
                 OLD() help files 
SLSF_QUERY()     Sets and retrieves the file name and path for the 
                 QUERY() DBF file 
SLSF_REPORT()    Sets and retrieves the file name and path for the 
                 REPORTER() DBF file 
SLSF_SCROLL()    Sets and retrieves the file name and path for the 
                 SCROLLER() DBF file 
SLSF_TODO()      Sets and retrieves the file name and path for the 
                 TODOLIST() DBF files 
SLS_BQUERY()     Sets SuperLib global query block 
SLS_BQZAP()      Resets SuperLib's global query block 
SLS_FRAME()      A Superlib box setting function 
SLS_ISCOLOR()    Tells SuperLib if this is a color monitor 
SLS_NORMCOL()    A Superlib color setting function 
SLS_NORMMENU()   A Superlib color setting function 
SLS_POPCOL()     A Superlib color setting function 
SLS_POPMENU()    A Superlib menu setting function 
SLS_PRN()        A Superlib printer setting function 
SLS_PRNC()       A Superlib printer setting function 
SLS_QUERY()      Sets SuperLib global query string 
SLS_SHADATT()    A Superlib color setting function 
SLS_SHADPOS()    A Superlib color setting function 
SLS_XPLODE()     A Superlib box setting function 
SL_BOLD()        Sets font stroke weight to BOLD (ultra black) 
SL_BOX()         Draws a box line from row,col to endrow,endcol 
SL_COPIES()      Sets the laserjet to print n copies of each page 
SL_DOWNROW()     Move the printer cursor up/down by # rows, 
SL_EJECT()       Ejects the current page 
SL_FILL()        Fills a rectangle with shading or a pattern. 
SL_GOTO()        Move the printer cursor to row/col 
SL_HLINE()       Draws a horizontal line from row,col to row,endcol 
SL_ITALIC()      Sets font style to italic 
SL_ITALICOFF()   Sets font style to upright (non italic) 
SL_LANDS()       Sets laserjet orientation to LANDSCAPE 
SL_LEFTMARG()    Sets the left margin to the left edge of the 
SL_NORMAL()      Sets font stroke weight to NORMAL (non bold) 
SL_OVERCOL()     Move the printer cursor right/left # columns 
SL_PAGESIZE()    Sets the page size on the laserjet 
SL_POPCURS()     Pops the printer cursor position for later popping 
SL_PORT()        Sets the laserjet orientation to PORTRAIT 
SL_PUSHCURS()    Pushes the printer cursor position for later 
SL_RESET()       Resets the printer to user defaults 
SL_RIGHTMARG()   Sets the right margin to the right edge of the 
SL_SETCPI()      Sets characters per inch 
SL_SETLPI()      Sets the lines per inch for the laserjet 
SL_TOPMARG()     Designates the number of lines of top margin 
SL_UNDER()       Sets automatic text underlining on 
SL_UNDEROFF()    Sets automatic text underlining off 
SL_VLINE()       Draws a vertical line from row,col to endrow,col 
SL_WRAP()        Sets line wrapping on or off 
SMAILMERGE()     Creates mailmerge files for WordPerfect & MS Word 
SMALLKCLR()      Clears get lookup combinations set up with SMALLKSET() 
SMALLKSET()      Sets up GET-HOTKEY lookup combinations using smalls() 
SMALLS()         Lookup tables on dbf with optional hotkeys, code block 
SMALLVALID()     Uses SMALLS() lookups in a VALID condition for a GET 
SMALLWHEN()      Uses SMALLS() in a WHEN condition for a GET 
SNET_USE()       Attempts to open a DBF 
SPOPORDER()      Popup allows user to change viewing (index) order 
SPOPSEEK()       Popup seek based on present index keys 
SREC_LOCK()      Attempts to lock a record 
SS_CLOSEH()      Restores screen in a horizontal close fashion. 
SS_CLOSEV()      Restores screen in a vertical close fashion. 
SS_FADE()        Restores screen in a fadeaway fashion. 
SS_FALL()        Restores screen in a fall from top fashion. 
SS_FOLD()        Restores screen in a fold to middle fashion. 
SS_HBLINDS()     Restores screen in a horizontal blind fashion. 
SS_IMPLODE()     Restores screen in an imploding fashion. 
SS_RISE()        Restores screen in a rise from bottom fashion. 
SS_SLICE()       Restores screen in a slicing fashion. Alternative 
SS_SLIDELEFT()   Restores screen in a slide left fashion. 
SS_SPLIT()       Restores screen in a split from middle fashion. 
SS_VBLINDS()     Restores screen in a vertical blind fashion. 
SS_WIPEH()       Restores screen in a wipe from left fashion. 
SS_WIPEV()       Restores screen in a wipe from top fashion. 
STABMENU()       Tabular (grid style) menu 
STAGFIELDS()     Tag fields 
STANDARD()       Returns color integer for standard setting 
STARTSW()        Determines if a string starts with another string 
STOD()           Returns date from string in the form YYYYMMDD 
STRETCH()        Imbeds characters in a string 
STRIP_PATH()     Strip path and optionally extension from a 
STRPULL()        Extract text between 2 characters in a string 
SUBPLUS()        Returns multiple substrings 
SUM_AVE()        Interactive sum or average on a dbf field 
TAGARRAY()       Tag selected elements of an array 
TAGIT()          Tag records in a dbf for later action 
TAGMARRAY()      Tag elements in muti-dimensioned array 
TAKEOUT()        Extract a portion of a string between delimiters
TIMEPER()        Time Period (date sensitive) DBF analysis 
TODOLIST()       Simple todo list manager 
TRUEVAL()        Returns val of ALL numerics in a string 
UNBOX()          Removes a box created by makebox() 
UNIQFNAME()      Creates a unique file name 
UNSELECTED()     Returns color integer for UNSELECTED setting 
VAR2CHAR()       Converts any type variable to character type 
VARLEN()         Returns length of a variable of any type 
VERTVIEW()       Pops up a vertical view of the current record 
VIEWMEMOS()      Popup viewing (non-edit mode) of memos 
VIEWPORT()       Multi-optional data entry engine 
WGT_MEAS()       A Weights and Measures conversion metafunction 
WOMONTH()        Calculates week of the month (# of 7 day periods) 
WORKBLOCK()      Returns a set-get block for field named in an 
WOYEAR()         Calculates week of the year (# of 7 day periods) 
WRITEFILE()      Writes a line or lines to a text file 
XBXX()           Draws an exploding box on the screen of a given color 
YNREADER()       Creates specialized Yes/No get reader block 
_WILDCARD()      Wild Card String Compare

SP_MULTIMSGYN

MULTIMSGYN()

  Short:
  ------
  MULTIMSGYN()          Multi-line popup message - yes -no

  Returns:
  --------
  <lYesNo> => True or False for yes or no

  Syntax:
  -------
  MULTIMSGYN(aMsgs,[cYes,[cNo],[cColor],[cTitle],[lCenter],[nTop,nLeft])

  Description:
  ------------
  Pops up a multi-line message contained in array
  <aMsgs> and prompts for a Yes or No. Returns <lYesNo> based on
  response.

  Each element of the array may be of type CNDL.

  [cYes]  Yes prompt - default is "Yes"

  [cNo]   No prompt - default is "No"

  [cColor]  popup color- default is sls_popcol()

  [cTitle] string to display at box top - default is
  none

  [lCenter]  center the messages in the box (each line
  centered) - default is no - left justified.

  [nTop,nLeft]  popup box top and left. Default is
  centered on the screen.

  Examples:
  ---------
   ?multimsgyn({"Would you really like","to fly?"},"Sure","Nope")
   ?multimsgyn({"Is it ",date()+1,"yet?"},"Sure","Nope",;
         "N/W","There yet")

   ?multimsgyn({"Start with",nStart,"End with",nEnd},;
         nil,nil,,nil,nil,.t.,10,10)

  Source:
  -------
  S_MULMYN.PRG

 

SP_MSG

()

  Short:
  ------
  MSG() Displays up to a 9 line message in a window

  Returns:
  --------
  Nothing

  Syntax:
  -------
  MSG(c1,[c2,c3,c4,c5,c6,c7,c8,c9])

  Description:
  ------------
  Displays in a popup box up to 9 lines of a message
  <c1..c9>.

  Then waits for a keypress or optionally a time-out.
  First parameter can be a number equaling a time-out value in
  seconds

  Examples:
  ---------
   MSG("An error has been detected",;
       "...don't move!")

   MSG("A","B","C","D","E","F")

   MSG(5,"A","B","C","D","E","F")

  Notes:
  -------
  Message is centered on screen in a box
  Once message is displayed, waits for keypress and
  then removes window, restoring screen underneath.
  Or waits for time-out value.

  Source:
  -------
  S_MSG.PRG

 

 

SP_MOUSEHOTAT

MOUSEHOTAT()

  Short:
  ------
  MOUSEHOTAT() Checks for mouse click from array of hot coordinates

  Returns:
  --------
  <nReturn> => either number of element containing hot coordinates, or,
               if element (an array) contains > 4 elements, the value in
               the fifth element.

  Syntax:
  -------
  MOUSEHOTAT(nMouseRow, nMouseCol, aHotSpots)

  Description:
  ------------
  Checks an array of arrays for hot coordinates against <nMouseRow>
  and <nMouseCol> to see if the mouse clicked on one of the hot spots.
  The hot spot array is of the form:
         {  {nTop,nLeft,nBottom,nRight,[nValue] },...}
  Where each subarray is an array containing Top, Left, Bottom, Right
  coordinates for an area of the screen which is mouse hot. If a match
  is gotten and the subarray is four elements long, the number of the
  subarray is returned. If the subarray is 5 elements long, the value
  in the fifth element is returned.

  Examples:
  ---------
  #include "INKEY.CH"
  @10,10 say "<OK>
  @11,10 say "<Cancel>"
  aHotAreas  := {  {10,10,10,13}, {11,10,11,18} }
  nLastKey   := RAT_EVENT(0,.f.,.f.,@nMouseRow, @nMouseCol)
  nHotMouse  := MOUSEHOTAT(nMouseRow, nMouseCol, aHotAreas)
  DO CASE
  CASE nHotMouse==1    // <OK>
  CASE nHotMouse==2    // <Cancel>
  ENDCASE

  // OR ALTERNATELY....Here I'll map the hot areas to the same return
  // values as the hot keys the buttons represent...F10 and ESCAPE
  // this is useful as you'll often have a button or hot area also
  // assigned to a hot key.

  @10,10 say "<F10 Save  >
  @11,10 say "<ESC Cancel>"
  aHotAreas   := {  {10,10,10,21,K_F10}, {11,10,11,21,K_ESC} }
  nLastKey    := RAT_EVENT(0,.f.,.f.,@nMouseRow, @nMouseCol)
  nHotMouse   := MOUSEHOTAT(nMouseRow, nMouseCol, aHotAreas)
  DO CASE
  CASE nHotMouse==K_F10 .or. nLastKey==K_F10    // <F10 Save  >
  CASE nHotMouse==K_ESC .or. nLastKey==K_ESC   // <ESC Cancel>
  ENDCASE

  Source:
  -------
  S_MOOSE.PRG

 

SP_MODIFY

MODIFY()

  Short:
  ------
  MODIFY() Create or modify DBF structures

  Returns:
  --------
  <cFile> => name of datafile created/modified

  Syntax:
  -------
  MODIFY()

  Description:
  ------------
  dBase-like MODI STRU for creating/modifying DBFs.

  Examples:
  ---------
   MODIFY()

  Warnings:
  ----------
  NOT A NETWORK FUNCTION - DO NOT USE ON A NETWORK

  Source:
  -------
  S_MODIFY.PRG