/* $DOC$
   $AUTHOR$
      Copyright 1999 Jose Lalin <dezac@corevia.com>
   $TEMPLATE$
      Function
   $NAME$
      MemoTran()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Converts hard and soft carriage returns within strings.
   $SYNTAX$
      MemoTran( <cString>, <cHard>, <cSoft> ) --> cConvertedString
   $ARGUMENTS$
      <cString> is a string of chars to convert.

      <cHard> is the character to replace hard returns with. If not
      specified defaults to semicolon.

      <cSoft> is the character to replace soft returns with. If not
      specified defaults to single space.
   $RETURNS$
      <cConvertedString> Transformed string.
   $DESCRIPTION$
      Returns a string/memo with carriage return chars converted to
      specified chars.
   $EXAMPLES$
      // FIXME
      ? MemoTran( data->CNOTES )
   $STATUS$
      R
   $COMPLIANCE$
      C
   $FILES$
      Library is core
   $SEEALSO$
      HardCR(), StrTran()
   $END$
 */

/* $DOC$
   $AUTHOR$
      Copyright 1999 Jose Lalin <dezac@corevia.com>
   $TEMPLATE$
      Function
   $NAME$
      HardCR()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Replace all soft carriage returns with hard carriages returns.
   $SYNTAX$
      HardCR( <cString> ) --> cConvertedString
   $ARGUMENTS$
      <cString> is a string of chars to convert.
   $RETURNS$
      <cConvertedString> Transformed string.
   $DESCRIPTION$
      Returns a string/memo with soft carriage return chars converted to
      hard carriage return chars.
   $EXAMPLES$
      // FIXME
      ? HardCR( data->CNOTES )
   $STATUS$
      R
   $COMPLIANCE$
      C
   $FILES$
      Library is core
   $SEEALSO$
      MemoTran(), StrTran()
   $END$
 */

/* $DOC$
   $AUTHOR$
      Copyright 2003 Alejandro de Garate <alex_degarate@hotmail.com>
   $TEMPLATE$
      Function
   $NAME$
      MemoRead()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Return the text file's contents as a character string
   $SYNTAX$
      MemoRead( <cFileName> ) --> cString
   $ARGUMENTS$
      <cFileName> is the file name to read from disk.
                  It must include the file extension. If file to be read
                  lives in another directory, you must include the path.
   $RETURNS$
      Returns the contents of a text file as a character string.

      If <cFileName> cannot be found or read MemoRead() returns an empty
      string ("").
   $DESCRIPTION$
      MemoRead() is a function that reads the content of a text file (till
      now) from disk (floppy, HDD, CD-ROM, etc.) into a memory string.
      In that way you can manipulate as any character string or assigned
      to a memo field to be saved in a database.

      MemoRead() function is used together with MemoEdit() and MemoWrit()
      to get from disk text from several sources that would be edited,
      searched, replaced, displayed, etc.

      It is used to import data from other sources to our database.

      Note:
      MemoRead() does not use the settings SET DEFAULT or SET PATH to
      search for <cFileName>.
      It searches for <cFileName> in the current directory.

      Over a network, MemoRead() attempts to open <cFileName> in read-only
      mode and shared.  If the file is used in mode exclusive by another
      process, the function will returns a null string ("").
   $EXAMPLES$
      // This example uses MemoRead() to assign the contents of a text
      // file to a character variable for later search

      LOCAL cFile := "account.prg"
      LOCAL cString := MemoRead( cFile )
      LOCAL cCopyright := "Melina"

      IF ! cCopyright $ cString                     // check for copyright
         ? MemoWrit( cFile, cCopyright + cString )  // if not, add it!
      ENDIF
   $STATUS$
      R
   $COMPLIANCE$
      C
   $PLATFORMS$
      All
   $FILES$
      Library is core
   $SEEALSO$
      MemoEdit(), MemoWrit(), REPLACE, hb_MemoRead()
   $END$
 */

/* $DOC$
   $AUTHOR$
      Copyright 2003 Alejandro de Garate <alex_degarate@hotmail.com>
   $TEMPLATE$
      Function
   $NAME$
      hb_MemoRead()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Return the text file's contents as a character string
   $SYNTAX$
      hb_MemoRead( <cFileName> ) --> cString
   $ARGUMENTS$
      <cFileName> is the file name to read from disk.
                  It must include the file extension. If file to be read
                  lives in another directory, you must include the path.
   $RETURNS$
      Returns the contents of a text file as a character string.

      If <cFileName> cannot be found or read hb_MemoRead() returns an empty
      string ("").
   $DESCRIPTION$
      hb_MemoRead() is a function that reads the content of a text file
      (till now) from disk (floppy, HDD, CD-ROM, etc.) into a memory string.
      In that way you can manipulate as any character string or assigned
      to a memo field to be saved in a database.

      hb_MemoRead() function is used together with MemoEdit() and hb_MemoWrit()
      to get from disk text from several sources that would be edited,
      searched, replaced, displayed, etc.

      It is used to import data from other sources to our database.

      Note:
      hb_MemoRead() does not use the settings SET DEFAULT or SET PATH to
      search for <cFileName>.
      It searches for <cFileName> in the current directory.

      Over a network, hb_MemoRead() attempts to open <cFileName> in read-only
      mode and shared.  If the file is used in mode exclusive by another
      process, the function will returns a null string ("").

      hb_MemoRead() vs MemoRead():
      hb_MemoRead() is identical to MemoRead() except it won't truncate the
      last byte (on non-Unix compatible systems) if it's a EOF char.
   $EXAMPLES$
      // This example uses hb_MemoRead() to assign the contents of a text
      // file to a character variable for later search

      LOCAL cFile := "account.prg"
      LOCAL cString := hb_MemoRead( cFile )
      LOCAL cCopyright := "Melina"

      IF ! cCopyright $ cString                        // check for copyright
         ? hb_MemoWrit( cFile, cCopyright + cString )  // if not, add it!
      ENDIF
   $STATUS$
      R
   $COMPLIANCE$
      C
   $PLATFORMS$
      All
   $FILES$
      Library is core
   $SEEALSO$
      MemoEdit(), hb_MemoWrit(), REPLACE, MemoRead()
   $END$
 */

/* $DOC$
   $AUTHOR$
      Copyright 2003 Alejandro de Garate <alex_degarate@hotmail.com>
   $TEMPLATE$
      Function
   $NAME$
      MemoWrit()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Write a memo field or character string to a text file on disk
   $SYNTAX$
      MemoWrit( <cFileName>, <cString> ) --> lSuccess
   $ARGUMENTS$
      <cFileName> is the file name to be written to disk.
                  It must include the file extension. If file to be read
                  lives in another directory, you must include the path.

      <cString>   Is the memo field or character string, to be write to
                  <cFile>.
   $RETURNS$
      Function returns true (.T.) if the writing operation was successful;
      otherwise, it returns false (.F.).
   $DESCRIPTION$
      This a function that writes a memo field or character string to a
      text file on disk (floppy, HDD, CD-ROM, etc.)
      If you not specified a path, MemoWrit() writes <cFileName> to the
      current directory. If <cFileName> exists, it is overwritten.

      MemoWrit() function is used together with MemoRead() and MemoEdit()
      to save to disk text from several sources that was edited, searched,
      replaced, displayed, etc.

      Note that MemoWrit() do not use the directory settings SET DEFAULT.
   $EXAMPLES$
      //  This example uses MemoWrit() to write the contents of a character
      // variable to a text file.

      LOCAL cFile := "account.prg"
      LOCAL cString := MemoRead( cFile )
      LOCAL cCopyright := "Melina"

      IF ! cCopyright $ cString                     // check for copyright
         ? MemoWrit( cFile, cCopyright + cString )  // if not, add it!
      ENDIF
   $STATUS$
      R
   $COMPLIANCE$
      C
   $PLATFORMS$
      All
   $FILES$
      Library is core
   $SEEALSO$
      MemoEdit(), MemoRead(), hb_MemoWrit()
   $END$
 */

/* $DOC$
   $AUTHOR$
      Copyright 2003 Alejandro de Garate <alex_degarate@hotmail.com>
   $TEMPLATE$
      Function
   $NAME$
      hb_MemoWrit()
   $CATEGORY$
      API
   $SUBCATEGORY$
      Strings
   $ONELINER$
      Write a memo field or character string to a text file on disk
   $SYNTAX$
      hb_MemoWrit( <cFileName>, <cString> ) --> lSuccess
   $ARGUMENTS$
      <cFileName> is the file name to be written to disk.
                  It must include the file extension. If file to be read
                  lives in another directory, you must include the path.

      <cString>   Is the memo field or character string, to be write to
                  <cFile>.
   $RETURNS$
      Function returns true (.T.) if the writing operation was successful;
      otherwise, it returns false (.F.).
   $DESCRIPTION$
      This a function that writes a memo field or character string to a
      text file on disk (floppy, HDD, CD-ROM, etc.)
      If you not specified a path, hb_MemoWrit() writes <cFileName> to the
      current directory. If <cFileName> exists, it is overwritten.

      hb_MemoWrit() function is used together with hb_MemoRead() and
      MemoEdit() to save to disk text from several sources that was edited,
      searched, replaced, displayed, etc.

      Note that hb_MemoWrit() do not use the directory settings SET DEFAULT.

      hb_MemoWrit() vs MemoWrit():
      hb_MemoWrit() never writes the obsolete EOF char at the end of the file.
   $EXAMPLES$
      //  This example uses hb_MemoWrit() to write the contents of a character
      //  variable to a text file.

      LOCAL cFile := "account.prg"
      LOCAL cString := hb_MemoRead( cFile )
      LOCAL cCopyright := "Melina"

      IF ! cCopyright $ cString                        // check for copyright
         ? hb_MemoWrit( cFile, cCopyright + cString )  // if not, add it!
      ENDIF
   $STATUS$
      R
   $COMPLIANCE$
      C
   $PLATFORMS$
      All
   $FILES$
      Library is core
   $SEEALSO$
      MemoEdit(), MemoRead(), hb_MemoWrit()
   $END$
 */
