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

  1. /*
  2.     File......: GT_Capitalise.prg
  3.     Author....: Martin Bryant
  4.     BBS.......: The Dark Knight Returns
  5.     Net/Node..: 050/069
  6.     User Name.: Martin Bryant
  7.     Date......: 11/03/93
  8.     Revision..: 1.0
  9.  
  10.     This is an original work by Martin Bryant and is placed
  11.     in the public domain.
  12.  
  13.     Modification history:
  14.     ---------------------
  15.  
  16.     Rev 1.0 11/03/93
  17.     PD Revision.
  18. */
  19.  
  20. /*  $DOC$
  21.  *  $FUNCNAME$
  22.  *       GT_CAPITALISE()
  23.  *  $CATEGORY$
  24.  *       String
  25.  *  $ONELINER$
  26.  *       Capitalise a string.
  27.  *  $SYNTAX$
  28.  *       GT_Capitalise(<cText>) -> cNewString
  29.  *  $ARGUMENTS$
  30.  *       <cText> is the text to capitalise.
  31.  *  $RETURNS$
  32.  *       cNewString
  33.  *  $DESCRIPTION$
  34.  *       Capitalise a string
  35.  *  $EXAMPLES$
  36.  *       // Capitalise
  37.  *       GT_Capitalise('hello?')  // Hello?
  38.  *  $END$
  39.  */
  40.  
  41. #include "GtClippe.ch"
  42.  
  43. FUNCTION GT_Capitalise(cText)
  44.  
  45. LOCAL cChar := ''
  46. LOCAL cNewString := ''
  47. LOCAL lLastAlpha := .F.
  48. LOCAL nLen := 0
  49. LOCAL nCount := 0
  50.  
  51. Default cText to ''
  52.  
  53. nLen := LEN(cText)
  54.  
  55. FOR nCount := 1 TO nLen
  56.  
  57.     cChar := SUBSTR(cText,nCount,1)
  58.     IF ISALPHA(cChar)
  59.         cChar := IF(lLastAlpha,LOWER(cChar),UPPER(cChar))
  60.     ENDIF
  61.     cNewString += cChar
  62.     lLastAlpha := ISALPHA(cChar)
  63.  
  64. NEXT
  65.  
  66. /*
  67.     End of GT_Capitalise()
  68. */
  69. RETURN(cNewString)
  70.