diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 12a1c47a0a..56ddcf1ffb 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,18 @@ +20000303-17:50 GMT-3 Luiz Rafael Culik + *utils/hbdoc/genrtf.prg + *small changes + *Fixed warnings reported by Victor + *source/tools/rtf.prg + *Small Changes + *doc/en/ht_doc.txt + doc/en/ht_file.txt + doc/en/ht_conv.txt + *Small Formating + *doc/en/file.txt + *Added new Docs + *doc/en/set.txt + Added new Docs + 20000303-20:50 GMT+1 Victor Szakats * include/*.api ! Changed header filenames to the new ones. diff --git a/harbour/doc/en/browse.txt b/harbour/doc/en/browse.txt index 8a1d63780e..7bc80d1514 100644 --- a/harbour/doc/en/browse.txt +++ b/harbour/doc/en/browse.txt @@ -110,25 +110,27 @@ * Following are active keys that handled by DBEDIT(): * --------------------------------------------------- * - * Left - Move one column to the left (previous field) - * Right - Move one column to the right (next field) - * Up - Move up one row (previous record) - * Down - Move down one row (next record) - * Page-Up - Move to the previous screen - * Page-Down - Move to the next screen - * Ctrl Page-Up - Move to the top of the file - * Ctrl Page-Down - Move to the end of the file - * Home - Move to the leftmost visible column - * End - Move to the rightmost visible column - * Ctrl Left - Pan one column to the left - * Ctrl Right - Pan one column to the right - * Ctrl Home - Move to the leftmost column - * Ctrl End - Move to the rightmost column + * + * Left - Move one column to the left (previous field) + * Right - Move one column to the right (next field) + * Up - Move up one row (previous record) + * Down - Move down one row (next record) + * Page-Up - Move to the previous screen + * Page-Down - Move to the next screen + * Ctrl Page-Up - Move to the top of the file + * Ctrl Page-Down - Move to the end of the file + * Home - Move to the leftmost visible column + * End - Move to the rightmost visible column + * Ctrl Left - Pan one column to the left + * Ctrl Right - Pan one column to the right + * Ctrl Home - Move to the leftmost column + * Ctrl End - Move to the rightmost column * * When is omitted, two more keys are active: * - * Esc - Terminate BROWSE() - * Enter - Terminate BROWSE() + * Esc - Terminate BROWSE() + * Enter - Terminate BROWSE() + * * * When DBEDIT() execute it pass the following arguments: * nMode and the index of current record in . If @@ -138,12 +140,14 @@ * DBEDIT() nMode could be one of the following: * --------------------------------------------- * - * DE_IDLE 0 DBEDIT() is idle, all movement keys have been + * + * DE_IDLE 0 DBEDIT() is idle, all movement keys have been * handled. - * DE_HITTOP 1 Attempt to cursor past top of file. - * DE_HITBOTTOM 2 Attempt to cursor past bottom of file. - * DE_EMPTY 3 No records in work area, database is empty. - * DE_EXCEPT 4 Key exception. + * DE_HITTOP 1 Attempt to cursor past top of file. + * DE_HITBOTTOM 2 Attempt to cursor past bottom of file. + * DE_EMPTY 3 No records in work area, database is empty. + * DE_EXCEPT 4 Key exception. + * * * The user define function or code block must return a value that tell * DBEDIT() what to do next. @@ -151,9 +155,9 @@ * User function return codes: * --------------------------- * - * DE_ABORT 0 Abort DBEDIT(). - * DE_CONT 1 Continue DBEDIT() as is. - * DE_REFRESH 2 Force reread/redisplay of all data rows. + * DE_ABORT 0 Abort DBEDIT(). + * DE_CONT 1 Continue DBEDIT() as is. + * DE_REFRESH 2 Force reread/redisplay of all data rows. * * The user function is called once in each of the following cases: * - The database is empty. diff --git a/harbour/doc/en/file.txt b/harbour/doc/en/file.txt index 8cd3e9d572..fe92cba535 100644 --- a/harbour/doc/en/file.txt +++ b/harbour/doc/en/file.txt @@ -11,7 +11,7 @@ * * Copyright 2000 Luiz Rafael Culik * Documentation for: FOPEN(), FCLOSE(), FWRITE(), FSEEK(), FREAD(), FILE(), - * FREADSTR(), FRENAME(), FERROR(), RENAME, ERASE + * FREADSTR(), FRENAME(), FERROR(), RENAME, ERASE, CURDIR() * * See doc/license.txt for licensing terms. * @@ -25,54 +25,38 @@ * $ONELINER$ * Open a file. * $SYNTAX$ - * FOPEN( , [] ) --> nHandle + * FOPEN( , [] ) --> nHandle * $ARGUMENTS$ - * Name of file to open - * Dos file open mode - * file is to be accessed. The open mode is composed of elements from the - * two types of modes described in the tables below. If just the Access - * Mode is used, the file is opened non-sharable. The default open mode is - * zero, which indicates non-sharable and read-only. - * - * - * FOPEN() Sharing Modes - * ------------------------------------------------------------------------ - * Mode Fileio.ch Operation - * ------------------------------------------------------------------------ - * 0 FO_COMPAT Compatibility mode (default) - * 16 FO_EXCLUSIVE Exclusive use - * 32 FO_DENYWRITE Prevent others from writing - * 48 FO_DENYREAD Prevent others from reading - * 64 FO_DENYNONE Allow others to read or write - * 64 FO_SHARED Same as FO_DENYNONE - * ------------------------------------------------------------------------ - * - * The Access Modes in combination (+) with the Sharing modes determine the - * accessibility of the file in a network environment. - * + * Name of file to open + * Dos file open mode + * file is to be accessed. The open mode is composed of elements from the + * two types of modes described in the tables below. If just the Access + * Mode is used, the file is opened non-sharable. The default open mode is + * zero, which indicates non-sharable and read-only. * $RETURNS$ * a DOS file handle * $DESCRIPTION$ * This function opens a file expressed as and returns a DOS * file handle to be used with other low-level file functions.The * value of represents the status of the file to be opened; - * the default value is 0.The DOS file open modes are as the follows: + * the default value is 0. The DOS file open modes are as the follows: + * + * 0 Read only + * 1 Write only + * 2 Read/write + * 16 Exclusive read only + * 17 Exclusive write only + * 18 Exclusive read/write only + * 32 Prevent others from writing + * 33 Prevent others from reading + * 34 Prevent read/write only + * 48 Deny read only + * 49 Deny write only + * 50 Deny read/Write + * 64 Share read only + * 65 Share write only + * 66 Share read/write * - * 0 Read only - * 1 Write only - * 2 Read/write - * 16 Exclusive read only - * 17 Exclusive write only - * 18 Exclusive read/write only - * 32 Prevent others from writing - * 33 Prevent others from reading - * 34 Prevent read/write only - * 48 Deny read only - * 49 Deny write only - * 50 Deny read/Write - * 64 Share read only - * 65 Share write only - * 66 Share read/write * * If there is an error in opening a file, a -1 will be returned by * the function.Files handles may be in the range of 0 to 65535. The @@ -127,25 +111,24 @@ * this Function. * * Value of File Attribute - * 0 Normal/Default,Read/Write - * 1 Read-only,Attemptinf to open for - * output returns an error - * 2 Hidden,Excluded from normal DIR - * search - * 4 Create,Excluded from normal DIR - * search + * + * 0 Normal/Default,Read/Write + * 1 Read-only,Attemptinf to open for + * output returns an error + * 2 Hidden,Excluded from normal DIR + * search + * 4 Create,Excluded from normal DIR + * search * $EXAMPLES$ * IF (nh:=FCREATE("TEST.TXT") <0 * ? "Can not create file" * ENDIF - * $TESTS$ - * * $STATUS$ - * R + * R * $COMPLIANCE$ - * This function is CA-Clipper compliant + * This function is CA-Clipper compliant * $SEEALSO$ - * FCLOSE(),FOPEN(),FWRITE(),FREAD(),FERROR() + * FCLOSE(),FOPEN(),FWRITE(),FREAD(),FERROR() * $INCLUDE$ * * $END$ @@ -221,8 +204,8 @@ * $RETURNS$ * the number of bytes successfully written. * $DESCRIPTION$ - * This function writes the contents of to the file designa- - * ted by its file handle . If used, is the number of + * This function writes the contents of to the file designated + * by its file handle . If used, is the number of * bytes in to write. * The returned value is the number of bytes successfully written to the * DOS file. If the returned value is 0, an error has occurred (unless @@ -273,41 +256,34 @@ * * Error Meaning * - * 0 Successful - * 2 File not found - * 3 Path not found - * 4 Too many files open - * 5 Access denied - * 6 Invalid handle - * 8 Insufficient memory - * 15 Invalid drive specified - * 19 Attempted to write to a write-protected disk - * 21 Drive not ready - * 23 Data CRC error - * 29 Write fault - * 30 Read fault - * 32 Sharing violation - * 33 Lock Violation - * + * 0 Successful + * 2 File not found + * 3 Path not found + * 4 Too many files open + * 5 Access denied + * 6 Invalid handle + * 8 Insufficient memory + * 15 Invalid drive specified + * 19 Attempted to write to a write-protected disk + * 21 Drive not ready + * 23 Data CRC error + * 29 Write fault + * 30 Read fault + * 32 Sharing violation + * 33 Lock Violation * $DESCRIPTION$ * After every low-level file function,this function will return * a value that provides additional informationon the status of * the last low-level file functions's performance.If the FERROR() * function returns a 0, no error was detected.Below is a table * of possibles values returned by the FERROR() function. - * * $EXAMPLES$ - * ^CFE This example tests FERROR() after the creation of a binary - * file and displays an error message if the create fails: - * * #include "Fileio.ch" * // * nHandle := FCREATE("Temp.txt", FC_NORMAL) * IF FERROR() != 0 * ? "Cannot create file, DOS error ", FERROR() * ENDIF - * $TESTS$ - * * $STATUS$ * R * $COMPLIANCE$ @@ -338,9 +314,9 @@ * disk. The value is derived from the FCREATE() * or FOPEN() function. * $EXAMPLES$ - * - * $TESTS$ - * + * nHandle:=FOPEN('x.txt') + * ? FSEEK(nHandle0,2) + * FCLOSE(nHandle) * $STATUS$ * R * $COMPLIANCE$ @@ -385,8 +361,6 @@ * ELSE * ? "File can not be deleted" * ENDIF - * $TESTS$ - * * $STATUS$ * R * $COMPLIANCE$ @@ -540,19 +514,17 @@ * as may the drive and/or path name. If a drive are not explicity * specified,FILE() will first search the current drive and directory, * and will look for the file in the directories specified by SET PATH - * TO and ST DEFAULT TO commands.However, this command does not look + * TO and SET DEFAULT TO commands.However, this command does not look * at the values in the DOS PATH command. * $EXAMPLES$ * ? file('c:\harbour\doc\compiler.txt") * ? file('c:/harbour/doc/subcodes.txt") - * $TESTS$ - * * $STATUS$ - * R + * R * $COMPLIANCE$ - * This function is CA-Clipper compatible. + * This function is CA-Clipper compatible. * $SEEALSO$ - * + * SET PATH,SET DEFAULT,SET() * $INCLUDE$ * * $END$ @@ -769,7 +741,7 @@ * $PLATFORMS$ * $FILES$ * $SEEALSO$ - * "COPY FILE","SET DEFAULT","SET PATH","SET PRINTER",TYPE + * COPY FILE,SET DEFAULT,SET PATH,SET PRINTER,TYPE * $END$ */ @@ -823,7 +795,7 @@ * * // display MyText.DAT file on printer only * SET CONSOLE OFF - * TYPE MyText.DAT" TO PRINTER + * TYPE MyText.DAT TO PRINTER * SET CONSOLE ON * * // display MyText.DAT file on screen and into a file MyReport.txt @@ -836,6 +808,44 @@ * $PLATFORMS$ * $FILES$ * $SEEALSO$ - * "COPY FILE","SET DEFAULT","SET PATH","SET PRINTER",__TYPEFILE() + * COPY FILE,SET DEFAULT,SET PATH,SET PRINTER,__TYPEFILE() + * $END$ + */ + +/* $DOC$ + * $FUNCNAME$ + * CURDIR() + * $CATEGORY$ + * Low Level + * $ONELINER$ + * Returns the current OS directory name. + * $SYNTAX$ + * CURDIR( [] ) --> cPath + * $ARGUMENTS$ + * OS drive letter + * $RETURNS$ + * Name of directory + * $DESCRIPTION$ + * This function yields the name of the current OS directory on a + * specified drive.If is not speficied,the currently logged + * drive will be used. + * This function should not return the leading and trailing + * (back)slashes. + * If an error has been detected by the function,or the current OS + * directory is the root,the value of the function will be a NULL + * byte. + * $EXAMPLES$ + * ? Curdir() + * $TESTS$ + * $STATUS$ + * R + * $COMPLIANCE$ + * This function is Ca-Clipper Compatible + * $PLATFORMS$ + * ALL + * $FILES$ + * + * $SEEALSO$ + * FILE() * $END$ */ diff --git a/harbour/doc/en/ht_conv.txt b/harbour/doc/en/ht_conv.txt index 9668e49e08..ffb70f8254 100644 --- a/harbour/doc/en/ht_conv.txt +++ b/harbour/doc/en/ht_conv.txt @@ -15,23 +15,22 @@ /* $DOC$ * $FUNCNAME$ - * ISBIN() + * ISBIN() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Check if the value is a Binary Number + * Check if the value is a Binary Number * $SYNTAX$ - * ISBIN() -> + * ISBIN() -> * $ARGUMENTS$ - * STRING TO BE CHECKED + * STRING TO BE CHECKED * $RETURNS$ - * .T. IF THE STRING IS BYNARY - * .F. IF NOT + * .T. IF THE STRING IS BYNARY,otherwise .F. * $DESCRIPTION$ - * check if the passed string is a bynary number or not + * check if the passed string is a bynary number or not * $EXAMPLES$ * $SEEALSO$ - * ISOCTAL(),ISDEC(),ISHEXA() + * ISOCTAL(),ISDEC(),ISHEXA() * $INCLUDE$ * * $END$ @@ -39,23 +38,22 @@ /* $DOC$ * $FUNCNAME$ - * ISOCTAL() + * ISOCTAL() * $CATEGORY$ * Conversion * $ONELINER$ - * Check if the value is a Octal Number + * Check if the value is a Octal Number * $SYNTAX$ - * ISOCTAL() -> + * ISOCTAL() -> * $ARGUMENTS$ - * STRING TO BE CHECKED + * STRING TO BE CHECKED * $RETURNS$ - * .T. IF THE STRING IS OCTAL - * .F. IF NOT + * .T. IF THE STRING IS OCTAL;otherwise .F. * $DESCRIPTION$ - * check if the passed string is a octal number or not + * check if the passed string is a octal number or not * $EXAMPLES$ * $SEEALSO$ - * ISBIN(),ISDEC(),ISHEXA() + * ISBIN(),ISDEC(),ISHEXA() * $INCLUDE$ * * $END$ @@ -63,23 +61,22 @@ /* $DOC$ * $FUNCNAME$ - * ISDEC() + * ISDEC() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Check if the value is a Decimal Number + * Check if the value is a Decimal Number * $SYNTAX$ - * ISDEC() -> + * ISDEC() -> * $ARGUMENTS$ - * STRING TO BE CHECKED + * STRING TO BE CHECKED * $RETURNS$ - * .T. IF THE STRING IS DECIMAL - * .F. IF NOT + * .T. IF THE STRING IS DECIMAL;otherwise .F. * $DESCRIPTION$ - * check if the passed string is a decimal number or not + * check if the passed string is a decimal number or not * $EXAMPLES$ * $SEEALSO$ - * ISOCTAL(),ISBIN(),ISHEXA() + * ISOCTAL(),ISBIN(),ISHEXA() * $INCLUDE$ * * $END$ @@ -87,23 +84,22 @@ /* $DOC$ * $FUNCNAME$ - * ISHEXA() + * ISHEXA() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Check if the value is a Hexal Number + * Check if the value is a Hexal Number * $SYNTAX$ - * ISHEXA() -> + * ISHEXA() -> * $ARGUMENTS$ - * STRING TO BE CHECKED + * STRING TO BE CHECKED * $RETURNS$ - * .T. IF THE STRING IS HEXA - * .F. IF NOT + * .T. IF THE STRING IS HEXA;otherwise .F. * $DESCRIPTION$ - * check if the passed string is a hexa number or not + * check if the passed string is a hexa number or not * $EXAMPLES$ * $SEEALSO$ - * ISOCTAL(),ISDEC(),ISBIN() + * ISOCTAL(),ISDEC(),ISBIN() * $INCLUDE$ * * $END$ @@ -111,24 +107,24 @@ /* $DOC$ * $FUNCNAME$ - * DECTOBIN() + * DECTOBIN() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Decimal Value to Binary + * Converts a Decimal Value to Binary * $SYNTAX$ - * DECTOBIN() -> + * DECTOBIN() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an decimal value - * to an binary value. + * This function converts a string from an decimal value + * to an binary value. * $EXAMPLES$ * * $SEEALSO$ - * Dectohexa(),dectooctal() + * Dectohexa(),dectooctal() * $INCLUDE$ * * $END$ @@ -136,24 +132,24 @@ /* $DOC$ * $FUNCNAME$ - * DECTOOCTAL() + * DECTOOCTAL() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Decimal Value to Octal + * Converts a Decimal Value to Octal * $SYNTAX$ - * DECTOOCTAL() -> + * DECTOOCTAL() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an decimal value - * to an octal value. + * This function converts a string from an decimal value + * to an octal value. * $EXAMPLES$ * * $SEEALSO$ - * Dectohexa(),dectobin() + * Dectohexa(),dectobin() * $INCLUDE$ * * $END$ @@ -161,24 +157,24 @@ /* $DOC$ * $FUNCNAME$ - * DECTOHEXA() + * DECTOHEXA() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Decimal Value to Hexa + * Converts a Decimal Value to Hexa * $SYNTAX$ - * DECTOHEXA() -> + * DECTOHEXA() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an decimal value - * to an hexadecimal value. + * This function converts a string from an decimal value + * to an hexadecimal value. * $EXAMPLES$ * * $SEEALSO$ - * Dectobin(),dectoctal() + * Dectobin(),dectooctal() * $INCLUDE$ * * $END$ @@ -186,24 +182,24 @@ /* $DOC$ * $FUNCNAME$ - * BIntODEC() + * BINTODEC() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Binary Value to Decimal + * Converts a Binary Value to Decimal * $SYNTAX$ - * BIntODEC() -> + * BIntODEC() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an binary value - * to a numeric decimal value. + * This function converts a string from an binary value + * to a numeric decimal value. * $EXAMPLES$ * * $SEEALSO$ - * OctaltoDec(),HexatoDec() + * OctaltoDec(),HexatoDec() * $INCLUDE$ * * $END$ @@ -211,24 +207,24 @@ /* $DOC$ * $FUNCNAME$ - * OCTALTODEC() + * OCTALTODEC() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Octal Value to Decimal + * Converts a Octal Value to Decimal * $SYNTAX$ - * OCTALTODEC() -> + * OCTALTODEC() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an octal value - * to a numeric decimal value. + * This function converts a string from an octal value + * to a numeric decimal value. * $EXAMPLES$ * * $SEEALSO$ - * BintoDec(),HexatoDec() + * BintoDec(),HexatoDec() * $INCLUDE$ * * $END$ @@ -236,20 +232,20 @@ /* $DOC$ * $FUNCNAME$ - * HEXATODEC() + * HEXATODEC() * $CATEGORY$ - * Conversion + * Conversion * $ONELINER$ - * Converts a Hexa Value to Decimal + * Converts a Hexa Value to Decimal * $SYNTAX$ - * HEXATODEC() -> + * HEXATODEC() -> * $ARGUMENTS$ - * NUMBER TO BE CONVERTED + * NUMBER TO BE CONVERTED * $RETURNS$ - * NUMBER CONVERTED + * NUMBER CONVERTED * $DESCRIPTION$ - * This function converts a string from an hexadecimal value - * to a numeric decimal value. + * This function converts a string from an hexadecimal value + * to a numeric decimal value. * $EXAMPLES$ * * $SEEALSO$ diff --git a/harbour/doc/en/ht_doc.txt b/harbour/doc/en/ht_doc.txt index d9e7197015..09c5b56f0e 100644 --- a/harbour/doc/en/ht_doc.txt +++ b/harbour/doc/en/ht_doc.txt @@ -168,7 +168,7 @@ * ALL * $FILES$ * $SEEALSO$ - * TTroff(), TRtf(), THtml(), TOs2() + * TTroff(),TRtf(),THtml(),TOs2() * $END$ */ diff --git a/harbour/doc/en/ht_file.txt b/harbour/doc/en/ht_file.txt index 07932e9d23..8ee406d09e 100644 --- a/harbour/doc/en/ht_file.txt +++ b/harbour/doc/en/ht_file.txt @@ -4,93 +4,80 @@ /* $DOC$ * $FUNCNAME$ - * CD() + * CD() * $CATEGORY$ - * DOS + * DOS * $ONELINER$ - * Change the Current Directory + * Change the Current Directory * $SYNTAX$ - * CD() + * CD() --> lSuccess * $ARGUMENTS$ - * DIR TO BE CHANGED + * DIR TO BE CHANGED * $RETURNS$ - * .T. IF SUCEFUL - * .F. IF NOT - * + * .T. IF SUCESSFUL; otherwise .F. * $DESCRIPTION$ - * CHANGE THE CURRENT DIRECTORY + * CHANGE THE CURRENT DIRECTORY * $EXAMPLES$ - * IF CD("OLA") + * IF CD("OLA") + * RETURN(.T.) + * ELSE + * RETURN(.F.) + * ENDIF + * $SEEALSO$ + * MD(),RD() + * $INCLUDE$ + * extend.h dos.h dir.h bios.h + * $END$ + */ + +/* $DOC$ + * $FUNCNAME$ + * MD() + * $CATEGORY$ + * DOS + * $ONELINER$ + * Creates a Directory + * $SYNTAX$ + * MD() -> + * $ARGUMENTS$ + * DIRECTORY TO BE CREATED + * $RETURNS$ + * .T. IF SUCESSFUL; otherwise .F. + * $DESCRIPTION$ + * CREATE A DIRECTORY + * $EXAMPLES$ + * IF MD("OLA") * RETURN(.T.) - * ELSE + * ELSE * RETURN(.F.) + * ENDIF + * $SEEALSO$ + * CD(),MD() + * $END$ + */ + +/* $DOC$ + * $FUNCNAME$ + * RD() + * $CATEGORY$ + * DOS + * $ONELINER$ + * Remove a Directory + * $SYNTAX$ + * RD() --> + * $ARGUMENTS$ + * DIR TO BE DELETED + * $RETURNS$ + * .T. IF SUCESSFUL; otherwise .F. + * $DESCRIPTION$ + * REMOVE A DIRECTORY + * $EXAMPLES$ + * IF RD("OLA") + * RETURN(.T.) + * ELSE + * RETURN(.F.) * ENDIF - * * $SEEALSO$ - * MD() RD() - * $INCLUDE$ - * extend.h dos.h dir.h bios.h - * $END$ - */ - -/* $DOC$ - * $FUNCNAME$ - * MD() - * $CATEGORY$ - * DOS - * $ONELINER$ - * Creates a Directory - * $SYNTAX$ - * MD() - * $ARGUMENTS$ - * DIRECTORY TO BE CREATED - * $RETURNS$ - * .T. IF SUCEFUL - * .F. IF NOT - * - * $DESCRIPTION$ - * CREATE A DIRECTORY - * $EXAMPLES$ - * IF MD("OLA") - * RETURN(.T.) - * ELSE - * RETURN(.F.) - * ENDIF - * - * $SEEALSO$ - * CD() MD() - * $INCLUDE$ - * extend.h dos.h dir.h bios.h - * $END$ - */ - -/* $DOC$ - * $FUNCNAME$ - * RD() - * $CATEGORY$ - * DOS - * $ONELINER$ - * Remove a Directory - * $SYNTAX$ - * RD() - * $ARGUMENTS$ - * DIR TO BE DELETED - * $RETURNS$ - * .T. IF SUCEFUL - * .F. IF NOT - * - * $DESCRIPTION$ - * REMOVE A DIRECTORY - * $EXAMPLES$ - * IF RD("OLA") - * RETURN(.T.) - * ELSE - * RETURN(.F.) - * ENDIF - * - * $SEEALSO$ - * CD() MD() - * $INCLUDE$ - * extend.h dos.h dir.h bios.h + * CD(),MD() * $END$ */ diff --git a/harbour/doc/en/set.txt b/harbour/doc/en/set.txt index 29bb0f9bc6..5d6ec7c025 100644 --- a/harbour/doc/en/set.txt +++ b/harbour/doc/en/set.txt @@ -20,6 +20,10 @@ * Documentation for: SETTYPEAHEAD() * Documentation for: __XHELP() * + * Copyright 2000 Luiz Rafael Culik + * Documentation for: SET WRAP,SET DEFAULT,SET MESSAGE + * Documentation for: SET PATH + * * See doc/license.txt for licensing terms. * */ @@ -50,9 +54,14 @@ * $ONELINER$ * Changes or evaluated enviromental settings * $SYNTAX$ - * Set [, [, ] ] ) --> xPreviousSetting + * Set( [, [, ] ] ) --> xPreviousSetting * $ARGUMENTS$ - * + * Set Number + * Any expression to assing a value to the seting + * Logical expression + * + * + * * _SET_ALTERNATE | * If enabled, QOUT() and QQOUT() write to the screen and to * a file, provided that a file has been opened or created @@ -678,3 +687,124 @@ * * $END$ */ + +/* $DOC$ + * $COMMANDNAME$ + * SET DEFAULT + * $CATEGORY$ + * Command + * $ONELINER$ + * Establishes the Harbour search drive and directory. + * $SYNTAX$ + * SET DEFAULT TO [] + * $ARGUMENTS$ + * Drive and/or path. + * $DESCRIPTION$ + * This command changes the drive and directory used for reading and + * writting database,index,memory, and alternate files.Specifying no + * parameters with this command will default the operation to the + * current logged drive and directory. + * $EXAMPLES$ + * SET DEFAULT to c:\TEMP + * $STATUS$ + * R + * $COMPLIANCE$ + * This command is Ca-Clipper Compliant. + * $SEEALSO$ + * SET PATH,CURDIR(),SET() + * $END$ + */ + +/* $DOC$ + * $COMMANDNAME$ + * SET WRAP + * $CATEGORY$ + * Command + * $ONELINER$ + * Toggle wrapping the PROMPTs in a menu. + * $SYNTAX$ + * SET WRAP ON/OFF + * SET WRAP () + * $ARGUMENTS$ + * Logical expression for toggle + * $DESCRIPTION$ + * This command toggles the highlighted bars in a @...PROMPT command + * to wrap around in a bottom-to-top and top-to-bottom manner.If the + * value of the logical expression is a logical false (.F.), + * the wrapping mode is set OFF;otherwise,it is set ON. + * $EXAMPLES$ + * See Tests/menutest.prg + * $STATUS$ + * R + * $COMPLIANCE$ + * This command is Ca-Clipper Compliant. + * $SEEALSO$ + * @...PROMPT,MENU TO + * $END$ + */ + +/* $DOC$ + * $COMMANDNAME$ + * SET MESSAGE + * $CATEGORY$ + * Command + * $ONELINER$ + * Extablishes a message row for @...PROMPT command + * $SYNTAX$ + * SET MESSAGE TO [ [CENTER]] + * $ARGUMENTS$ + * Row number to display the message + * $DESCRIPTION$ + * This command is designed to work in conjuntion with the MENU TO and + * @...PROMPT commands.With this command, a row number between 0 and + * MAXROW() may be specified in .This establishes the row on + * witch any message associated with an @...PROMPT command will apear. + * If the value of is 0,all messages will be supressed. + * All messaged will be left-justifies unless the CENTER clause is + * used.In this case,the individual messages in each @...PROMPT command + * will be centered at the designated row (unless is 0).All + * messages are independent;therefor,the screen area is cleared out + * by the centered message will vary based on the length of each + * individual message. + * Specifying no parameters with this command set the row value to 0, + * witch suppresses all messages output. + * The British spelling of CENTRE is also supported. + * $EXAMPLES$ + * See Tests/menutest.prg + * $STATUS$ + * R + * $COMPLIANCE$ + * This command is Ca-Clipper Compliant. + * $SEEALSO$ + * SET(),SET WRAP,@...PROMPT,MENU TO + * $END$ + */ + +/* $DOC$ + * $COMMANDNAME$ + * SET PATH + * $CATEGORY$ + * Command + * $ONELINER$ + * Specifies a search path for opening files + * $SYNTAX$ + * SET WRAP TO [] + * $ARGUMENTS$ + * Search path for files + * $DESCRIPTION$ + * This command specifies the search path for files required by most + * commands and functions not found in the current drive and directory. + * This pertains primarily,but not exclusively, to databases,indexes, + * and memo files,as well as to memory,labels,and reports files. The + * search hiracrchy is: 1 Current drive and directory,2 The SET DEFAULT + * path;3 The SET PATH path. + * $EXAMPLES$ + * SET PATH TO c:\Harbour\Test + * $STATUS$ + * R + * $COMPLIANCE$ + * This command is Ca-Clipper Compliant. + * $SEEALSO$ + * SET DEFAULT,CURDIR(),SET() + * $END$ + */ diff --git a/harbour/source/tools/rtf.prg b/harbour/source/tools/rtf.prg index c763fdaf5b..212109f908 100644 --- a/harbour/source/tools/rtf.prg +++ b/harbour/source/tools/rtf.prg @@ -117,12 +117,12 @@ RETURN Self METHOD WritePar( cPar ) CLASS TRTF cPar:=StrTran(cPar,"{","\{") cPar:=StrTran(cPar,"}","\}") - FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20' + HB_OEMTOANSI(cPar )+CRLF) + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20\b0\i0\li300' + HB_OEMTOANSI(cPar )+CRLF) RETURN Self METHOD WriteParText( cPar ) CLASS TRTF cPar:=StrTran(cPar,"{","\{") cPar:=StrTran(cPar,"}","\}") - FWRITE( Self:nHandle, HB_OEMTOANSI(cPar )+CRLF) + FWRITE( Self:nHandle, HB_OEMTOANSI(cPar )) RETURN Self METHOD EndPar() CLASS TRTF FWRITE( Self:nHandle, '\par' + CRLF ) @@ -133,9 +133,9 @@ METHOD WriteParBold( cPar,lCenter ) CLASS TRTF cPar:=StrTran(cPar,"{","\{") cPar:=StrTran(cPar,"}","\}") if lCenter - FWRITE( Self:nHandle, '\par \pard\qc\cf1\f6\fs30\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) + FWRITE( Self:nHandle, '\par \pard\qc\cf1\f6\fs30\i\b\li300 ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) else - FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs30\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs30\i\b\li300 ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) Endif RETURN Self @@ -146,7 +146,7 @@ METHOD WriteParBoldText( cPar,cText ) CLASS TRTF cText:=StrTran(cText,"{","\{") cText:=StrTran(cText,"}","\}") - FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + ' \b\cf1\f6\fs20\i ' +ALLTRIM(HB_OEMTOANSI(cText)) + CRLF ) + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + ' \b\cf1\f6\fs20\i0\b0\li300 ' +ALLTRIM(HB_OEMTOANSI(cText)) + CRLF ) RETURN Self METHOD WriteTitle( cTitle, cTopic ) CLASS TRTF diff --git a/harbour/utils/hbdoc/genrtf.prg b/harbour/utils/hbdoc/genrtf.prg index cbb350a11d..b871c7a8fa 100644 --- a/harbour/utils/hbdoc/genrtf.prg +++ b/harbour/utils/hbdoc/genrtf.prg @@ -117,6 +117,11 @@ FUNCTION ProcessRtf() LOCAL nReadHandle LOCAL lPar LOCAL lWrite :=.f. + LOCAL lWasLine := .F. + LOCAL nPos,nEpos + LOCAL lIsDataLink := .F. + LOCAL lIsMethodLink := .F. + LOCAL cName LOCAL cDoc := DELIM + "DOC" + DELIM // DOC keyword LOCAL cEnd := DELIM + "END" + DELIM // END keyword LOCAL cFunc := DELIM + "FUNCNAME" + DELIM // FUNCNAME keyword @@ -145,6 +150,7 @@ FUNCTION ProcessRtf() LOCAL cData := DELIM +"DATA"+ DELIM LOCAL cMethod := DELIM +'METHOD' +DELIM LOCAL cClassDoc := DELIM+ "CLASSDOC" + DELIM + LOCAL cTable := DELIM +"TABLE" + DELIM lFirstArg:=.T. lData := .F. lMethod := .F. @@ -234,9 +240,9 @@ FUNCTION ProcessRtf() ProcRtfalso( oRtf, cSeealso ) Endif lDoc := .F. - if i 0 + nMode := D_EXAMPLE + lAddBlank := .T. + + ELSEIF AT( cdatalink, cBuffer ) > 0 IF !lBlankLine oRtf:WritePar( "" ) //:endpar() @@ -420,7 +430,7 @@ FUNCTION ProcessRtf() endif nMode := D_NORMAL lAddBlank := .T. - lEndDatalink:=.T. +// lEndDatalink:=.T. lPar:= .T. ELSEIF AT( cMethodslink, cBuffer ) > 0 @@ -550,15 +560,48 @@ FUNCTION ProcessRtf() IF lAddBlank oRtf:WritePar( "" ) //:endpar() lAddBlank := .F. - ENDIF - IF AT("<",Alltrim(cBuffer))> 0 - nPos := AT("<",ALLTRIM(cBuffer)) - if nPos>0 - oRtf:WriteParBoldText( substr(cBuffer,1,at(">",cbuffer)+1 ),substr(cBuffer,At(">",cBuffer)+1)+" ") - endif + ENDIF + IF AT("_SET_",cBuffer)>0 + nPos:=AT("_SET_",cBuffer) + if nPos<23 + oRtf:WritePar("\line "+cBuffer+ " \line ") + Else + oRtf:WriteParText( " "+ ALLTRIM(cBuffer) +" ") + endif + ELSEIF AT("<",cBuffer)> 0 + nPos := AT("<",cBuffer) + if nPos>0 .and. nPos<12 + nEpos:=AT(">",cBuffer) + oRtf:WriteParBoldText( substr(cBuffer,1,nEpos ),substr(cBuffer,nEpos+1)+" ") + else + oRtf:WriteParText( " "+ ALLTRIM(cBuffer) ) + endif + ELSEIF AT("()",Cbuffer)>0 + nPos:=AT("()",Cbuffer) + nEpos:=AT(")",cBuffer) + if nPos>0 .and. nPos<22 + + oRtf:WriteParBoldText( substr(cBuffer,1,nEpos ),substr(cBuffer,nEpos+1)+" ") + ELSE + oRtf:WriteParText( " "+ ALLTRIM(cBuffer) +" ") + Endif + ELSEIf AT('*',cBuffer)>0 + nPos := AT("*",cBuffer) + oRtf:WritePar(Strtran(cBuffer,"*","")) + lWasLine:=.T. + ELSEIF at("===",cBuffer)>0 .or. at("---",cBuffer)>0 + oRtf:WritePar(cBuffer+" ") + ELSEIF lBlankline + //ortf:endpar() + ortf:writepar('') //:endpar() ELSE - oRtf:WriteParText( ALLTRIM(cBuffer) ) + if lWasLine + oRtf:WritePar(cBuffer+" ") + lWasLine:=.F. + ELSE + oRtf:WriteParText( ALLTRIM(cBuffer) +" " ) + ENDIF ENDIF ELSEIF nMode = D_DATALINK IF LEN( cBuffer ) > LONGLINE @@ -595,19 +638,9 @@ FUNCTION ProcessRtf() LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - if !lBlankLine - if lPar - oRtf:WritePar(cBuffer+" ") - lPar:=.f. - else - oRtf:WriteParText(" "+alltrim(cBuffer)) - endif - Endif - if lBlankline - //ortf:endpar() - ortf:writepar('') //:endpar() - lPar:=.T. - endif + + ProcRtfDesc(cBuffer,lBlankLine,oRtf,@lPar) + ELSEIF nMode = D_EXAMPLE IF LEN( cBuffer ) > LONGLINE write_error( "General", cBuffer, nLineCnt, ; @@ -657,7 +690,7 @@ FUNCTION ProcessRtf() // ENDIF ENDIF - ? filesize(ortf:nhandle) + ENDDO // Close down the input file @@ -742,10 +775,75 @@ FUNCTION ProcStatusRTF( nWriteHandle, cBuffer ) nWriteHandle:WritePar( " Not Started" ) //:endpar() ENDIF RETURN nil - +/* func filesize(cfile) nretval := fseek(cfile,0,2) return nretval +*/ +FUNCTION ProcRtfDesc(cBuffer,lBlankLine,oRtf,lPar) +LOCAL nPos:=0 +LOCAL ePos:=0 + IF StrPos(cBuffer)=12 + nPos := AT(" ",cBuffer) + // ePos := StrPos(cBuffer) + // ? nPos + // inkey(0) + cBuffer:=Substr(cBuffer,3) + oRtf:WritePar(cBuffer+" ") + lPar:=.f. + ELSEIF lPar + oRtf:WritePar(cBuffer+" ") + lPar:=.F. + ELSEIF AT("==",cBuffer)>0 .or. at("--",cBuffer)>0 + lPar:=.T. + oRtf:WritePar(cBuffer+" ") + ELSEIF lBlankLine + oRtf:WritePar("") + lPar:=.T. + ELSE + oRtf:WriteParText(" "+alltrim(cBuffer)) + lPar:=.F. + ENDIF + +RETURN lPar + +/* if !lBlankLine + if lPar + if at("==",cBuffer)>0 .or. at("--",cBuffer)>0 .or. at("*",cBuffer)>0 + if at("*",cBuffer)>0 + cbuffer:=Strtran(cBuffer,"*","") + endif + oRtf:WritePar(cBuffer+" ") + lPar:=.t. + else + oRtf:WritePar(cBuffer+" ") + lPar:=.f. + endif + else + if at("==",cBuffer)>0 .or. at("--",cBuffer)>0 + oRtf:WritePar(cBuffer+" ") + + else + oRtf:WriteParText(" "+alltrim(cBuffer)) + endif + endif + Endif + if lBlankline + oRtf:WritePar("") + lPar:=.T. + endif + +*/ +FUNCTION StrPos(cBuffer) +LOCAL nPos,x,cChar + FOR x:=1 to LEN(cBuffer) + cChar:=SubStr(cBuffer,x,1) + if cChar>=chr(64) .and. cChar <=Chr(90) .or. cChar>=chr(97) .and. cChar <=Chr(122) .or. cChar>=Chr(48) .and. cChar <=chr(57) + nPos=x + Exit + ENDIF + NEXT +return nPos diff --git a/harbour/utils/hbdoc/hrbtools.rsp b/harbour/utils/hbdoc/hrbtools.rsp index a3ed6018a2..2de45eeae6 100644 --- a/harbour/utils/hbdoc/hrbtools.rsp +++ b/harbour/utils/hbdoc/hrbtools.rsp @@ -33,4 +33,4 @@ ..\..\doc\subcodes.txt ..\..\doc\harbext.txt ..\..\doc\gnulice.txt - +..\..\doc\compiler.txt