See changelog 20000303 17:50

This commit is contained in:
Luiz Rafael Culik
2000-03-03 20:45:53 +00:00
parent 6130958f7d
commit e4fbc06b47
10 changed files with 555 additions and 315 deletions

View File

@@ -1,3 +1,18 @@
20000303-17:50 GMT-3 Luiz Rafael Culik <culik@sl.conex.net>
*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 <info@szelvesz.hu>
* include/*.api
! Changed header filenames to the new ones.

View File

@@ -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 <xUserFunc> is omitted, two more keys are active:
*
* Esc - Terminate BROWSE()
* Enter - Terminate BROWSE()
* Esc - Terminate BROWSE()
* Enter - Terminate BROWSE()
*
*
* When DBEDIT() execute <xUserFunc> it pass the following arguments:
* nMode and the index of current record in <acColumns>. If <acColumns>
@@ -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.

View File

@@ -11,7 +11,7 @@
*
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
* 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( <cFile>, [<nMode>] ) --> nHandle
* FOPEN( <cFile>, [<nMode>] ) --> nHandle
* $ARGUMENTS$
* <cFile> Name of file to open
* <nMode> 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.
*
* <cFile> Name of file to open
* <nMode> 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$
* <nHandle> a DOS file handle
* $DESCRIPTION$
* This function opens a file expressed as <cFile> and returns a DOS
* file handle to be used with other low-level file functions.The
* value of <nMode> 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 <nAttribute> 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$
* <nBytesWritten> the number of bytes successfully written.
* $DESCRIPTION$
* This function writes the contents of <cBuffer> to the file designa-
* ted by its file handle <nHandle>. If used, <nBytes> is the number of
* This function writes the contents of <cBuffer> to the file designated
* by its file handle <nHandle>. If used, <nBytes> is the number of
* bytes in <cBuffer> 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 <nHandle> 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( [<cDrive>] ) --> cPath
* $ARGUMENTS$
* <cDir> OS drive letter
* $RETURNS$
* <cPath> Name of directory
* $DESCRIPTION$
* This function yields the name of the current OS directory on a
* specified drive.If <cDrive> 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$
*/

View File

@@ -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(<CN>) -><CNR>
* ISBIN(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* .T. IF THE STRING IS BYNARY
* .F. IF NOT
* <cNr> .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(<CN>) -><CNR>
* ISOCTAL(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* .T. IF THE STRING IS OCTAL
* .F. IF NOT
* <cNr> .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(<CN>) -><CNR>
* ISDEC(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* .T. IF THE STRING IS DECIMAL
* .F. IF NOT
* <cNr> .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(<CN>) -><CNR>
* ISHEXA(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> STRING TO BE CHECKED
* <cN> STRING TO BE CHECKED
* $RETURNS$
* .T. IF THE STRING IS HEXA
* .F. IF NOT
* <cNr> .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(<CN>) -><CNR>
* DECTOBIN(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an decimal value
* to an binary value.
* This function converts a string <cN> 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(<CN>) -><CNR>
* DECTOOCTAL(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an decimal value
* to an octal value.
* This function converts a string <cN> 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(<CN>) -><CNR>
* DECTOHEXA(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an decimal value
* to an hexadecimal value.
* This function converts a string <cN> 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(<CN>) -><CNR>
* BIntODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an binary value
* to a numeric decimal value.
* This function converts a string <cN> 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(<CN>) -><CNR>
* OCTALTODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an octal value
* to a numeric decimal value.
* This function converts a string <cN> 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(<CN>) -><CNR>
* HEXATODEC(<cN>) -><cNr>
* $ARGUMENTS$
* <CN> NUMBER TO BE CONVERTED
* <cN> NUMBER TO BE CONVERTED
* $RETURNS$
* <CNR> NUMBER CONVERTED
* <cNr> NUMBER CONVERTED
* $DESCRIPTION$
* This function converts a string <CN> from an hexadecimal value
* to a numeric decimal value.
* This function converts a string <cN> from an hexadecimal value
* to a numeric decimal value.
* $EXAMPLES$
*
* $SEEALSO$

View File

@@ -168,7 +168,7 @@
* ALL
* $FILES$
* $SEEALSO$
* TTroff(), TRtf(), THtml(), TOs2()
* TTroff(),TRtf(),THtml(),TOs2()
* $END$
*/

View File

@@ -4,93 +4,80 @@
/* $DOC$
* $FUNCNAME$
* CD()
* CD()
* $CATEGORY$
* DOS
* DOS
* $ONELINER$
* Change the Current Directory
* Change the Current Directory
* $SYNTAX$
* CD(<NDIR>)
* CD(<cDir>) --> lSuccess
* $ARGUMENTS$
* <NDIR> DIR TO BE CHANGED
* <cDir> DIR TO BE CHANGED
* $RETURNS$
* .T. IF SUCEFUL
* .F. IF NOT
*
* <lSucess> .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(<cDir>) -> <lSucess>
* $ARGUMENTS$
* <cDir> DIRECTORY TO BE CREATED
* $RETURNS$
* <lSucess> .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(<cDir>) --> <lSucess>
* $ARGUMENTS$
* <cDir> DIR TO BE DELETED
* $RETURNS$
* <lSucess> .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(<NDIR>)
* $ARGUMENTS$
* <NDIR> 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(<NDIR>)
* $ARGUMENTS$
* <NDIR> 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$
*/

View File

@@ -20,6 +20,10 @@
* Documentation for: SETTYPEAHEAD()
* Documentation for: __XHELP()
*
* Copyright 2000 Luiz Rafael Culik <Culik@sl.conex.net>
* 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<nSet> [, <xNewSetting> [, <xOption> ] ] ) --> xPreviousSetting
* Set(<nSet> [, <xNewSetting> [, <xOption> ] ] ) --> xPreviousSetting
* $ARGUMENTS$
* <nSet> <xNewSetting> <xOption>
* <nSet> Set Number
* <xNewSetting> Any expression to assing a value to the seting
* <xOption> Logical expression
*
* <nSet> <xNewSetting> <xOption>
*
* _SET_ALTERNATE <lFlag> | <cOnOff>
* 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 [<cPath>]
* $ARGUMENTS$
* <cPath> 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 (<lWrap>)
* $ARGUMENTS$
* <lWrap> 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 <lWrap> 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 [<nRow> [CENTER]]
* $ARGUMENTS$
* <nRow> 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 <nRow>.This establishes the row on
* witch any message associated with an @...PROMPT command will apear.
* If the value of <nRow> 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 <nRow> 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 [<cPath>]
* $ARGUMENTS$
* <cPath> 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$
*/

View File

@@ -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

View File

@@ -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<nfiles
oRtf:EndPage()
endif
nMode := D_IGNORE
ENDIF
@@ -399,9 +405,13 @@ FUNCTION ProcessRtf()
oRtf:WriteParBold( " Description" )
oRtf:WritePar('') //:endpar()
nMode := D_NORMAL
lAddBlank := .T.
lPar:= .T.
ELSEIF AT( cTable, cBuffer ) > 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

View File

@@ -33,4 +33,4 @@
..\..\doc\subcodes.txt
..\..\doc\harbext.txt
..\..\doc\gnulice.txt
..\..\doc\compiler.txt