home *** CD-ROM | disk | FTP | other *** search
/ Power CD-ROM!! 7 / POWERCD7.ISO / prgmming / clipper / gt_dow2n.prg < prev    next >
Text File  |  1993-10-14  |  2KB  |  76 lines

  1. /*
  2.  * File......: GT_DOW2N.PRG
  3.  * Author....: George Brennan
  4.  * BBS.......: The Dark Knight Returns
  5.  * Net/Node..: 050/069
  6.  * User Name.: George Brennan
  7.  * Date......: 23/03/93
  8.  * Revision..: 1.0
  9.  *
  10.  * This is an original work by George Brennan and is placed in the public
  11.  * domain.
  12.  *
  13.  * Modification history:
  14.  * ---------------------
  15.  *
  16.  * $Log$
  17.  *
  18.  */
  19.  
  20. /*  $DOC$
  21.  *  $FUNCNAME$
  22.  *        GT_DOW2N()
  23.  *  $CATEGORY$
  24.  *      Date
  25.  *  $ONELINER$
  26.  *        Numeric day of week from a full or partial character string
  27.  *  $SYNTAX$
  28.  *        GT_DOW2N( <cDay> ) -> nValue
  29.  *  $ARGUMENTS$
  30.  *        <cDay>     is a full or partial week day. "Mon", "Monday"
  31.  *
  32.  *  $RETURNS$
  33.  *        A numeric value of the day of the week Sun -> 1
  34.  *
  35.  *    $DESCRIPTION$
  36.  *        GT_DOW2N() can be used to get the numeric day of a character week day
  37.  *
  38.  *  $EXAMPLES$
  39.  *
  40.  *             local cDay := "Mon"
  41.  *
  42.  *             ? "Day of Week for", cDay, " is ", GT_DOW2N( cDay )
  43.  *
  44.  *             result :
  45.  *                      Day of Week for Mon is 2
  46.  *
  47.  *    $END$
  48.  */
  49.  
  50. #include "gt_lib.ch"       // used to pre-process DEFAULT
  51.  
  52. static aDayNames  := { "Sunday",    ;
  53.                        "Monday",    ;
  54.                        "Tuesday",   ;
  55.                        "Wednesday", ;
  56.                        "Thursday",  ;
  57.                        "Friday",    ;
  58.                        "Saturday",  ;
  59.                        "        " }
  60.  
  61. FUNCTION GT_DOW2N( cDayName )
  62. LOCAL cUpper   := ""
  63. LOCAL nDayNum  := 0
  64. LOCAL nLenName := 0
  65.  
  66.    DEFAULT cDayName to " "
  67.  
  68.    cUpper    := UPPER( ALLTRIM( cDayName ) )
  69.    nDayNum    := 0
  70.    nLenName := LEN( cDayName )
  71.  
  72.    nDayNum := ASCAN( aDayNames, ;
  73.                     { |xDow| UPPER( LEFT(xDow, nLenName) ) == cUpper } )
  74.  
  75. RETURN ( nDayNum )
  76.