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

  1. /*
  2.  * File......: GT_ISDOW.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.  *    $DOC$
  19.  *  $FUNCNAME$
  20.  *        GT_ISDOW()
  21.  *  $CATEGORY$
  22.  *      Date
  23.  *  $ONELINER$
  24.  *        logically evaluate a textual day of the week
  25.  *  $SYNTAX$
  26.  *        GT_ISDOW( cDay ) -> lValue
  27.  *  $ARGUMENTS$
  28.  *        <cDay>     is a character value for the weekday
  29.  *
  30.  *  $RETURNS$
  31.  *        A logical value, .T. if the key is conditionally valid
  32.  *
  33.  *    $DESCRIPTION$
  34.  *        GT_ISDOW() can be used to validate a character value as being a
  35.  *                   valid day of the week.
  36.  *
  37.  *  $EXAMPLES$
  38.  *
  39.  *        ? "Day of Week ", cDay, " is ", GT_ISDOW( "Mon" )
  40.  *
  41.  *        result : Day of Week Monday is     .T.
  42.  *
  43.  *    $END$
  44.  */
  45.  
  46. #include "gt_lib.ch"       // used to pre-process DEFAULT
  47.  
  48. static aDayNames  := { "Sunday",    ;
  49.                        "Monday",    ;
  50.                        "Tuesday",   ;
  51.                        "Wednesday", ;
  52.                        "Thursday",  ;
  53.                        "Friday",    ;
  54.                        "Saturday",  ;
  55.                        "        " }
  56.  
  57. FUNCTION IsCdow( cDayName )
  58. LOCAL cUpper   := ""
  59. LOCAL nFound   := 0
  60. LOCAL nLenName := 0
  61.  
  62.    DEFAULT cDayName to " "
  63.  
  64.    cUpper    := UPPER( ALLTRIM( cDayName ) )
  65.    nFound    := 0
  66.    nLenName := LEN( cDayName )
  67.  
  68.    nFound := ASCAN( aDayNames, ;
  69.                     { |cName| UPPER( LEFT( cName, nLenName) ) == cUpper } )
  70.  
  71.    RETURN ( nFound  > 0 .AND. nFound < 8 )
  72.  //..
  73.