2008-08-19 17:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* doc/en/string.txt
   * doc/en/rddord.txt
   * doc/en/treport.txt
   * doc/en/memvar2.txt
   * doc/en/terminal.txt
   * doc/en/rddmisc.txt
   * doc/en/setmode.txt
   * doc/en/rdddb.txt
   * doc/en/tbrowse.txt
   * doc/en/set.txt
   * doc/en/sayget.txt
   * doc/es/treport.txt
   * ChangeLog
   * utils/hbtest/rt_misc.prg
     * More cleanups, formatting (filename casing, CA-Cl*pper, etc).
This commit is contained in:
Viktor Szakats
2008-08-19 15:07:28 +00:00
parent f415036a18
commit 6514d5fb49
14 changed files with 204 additions and 187 deletions

View File

@@ -8,6 +8,23 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-08-19 17:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/en/string.txt
* doc/en/rddord.txt
* doc/en/treport.txt
* doc/en/memvar2.txt
* doc/en/terminal.txt
* doc/en/rddmisc.txt
* doc/en/setmode.txt
* doc/en/rdddb.txt
* doc/en/tbrowse.txt
* doc/en/set.txt
* doc/en/sayget.txt
* doc/es/treport.txt
* ChangeLog
* utils/hbtest/rt_misc.prg
* More cleanups, formatting (filename casing, CA-Cl*pper, etc).
2008-08-19 16:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/en/diskspac.txt
* doc/en/string.txt
@@ -46973,13 +46990,13 @@ e.vc
source/rtl/Makefile
+ Scrollbr.prg and Listbox.prg to dependecie list
+source/rtl/listbox.prg
* Ca-Clipper 5.3 compatible listbox Class
* CA-Cl*pper 5.3 compatible listbox Class
+source/rtl/scrollbr.prg
* Ca-Clipper 5.3 compatible scroll bar Class
* CA-Cl*pper 5.3 compatible scroll bar Class
*source/rtl/checkbox.prg
*small change to isdefcolor function
* Todo.txt
Remove the Ca-clipper 5.3 classes entried
Remove the CA-Cl*pper 5.3 classes entried
2001-09-09 21:00 MEST Martin Vogel <vogel@inttec.de>
@@ -47512,7 +47529,7 @@ e.vc
2001-08-24 22:15 GMT -3 Luiz Rafael Culik <culik@sl.conex.net>
+source/rtl/pushbtn.prg
*Push Button Class Compatible with Ca-Clipper 5.3
*Push Button Class Compatible with CA-Cl*pper 5.3
*hb_slex.bc
makefile.bc
hb_slex.vc
@@ -47762,7 +47779,7 @@ e.vc
2001-08-19 10:40 GMT -3 Luiz Rafael Culik <culik@sl.conex.net>
+source/rdd/dbfuncs.prg
* Code for Ca-Clipper MApper DB function to 10 characters
* Code for CA-Cl*pper MApper DB function to 10 characters
The follow functions were mapped:
DBCLEARFIL(),DBSETDRIVE(),DBSETRELAT(),DBRLOCKLIS(),DBCLOSEARE()
RDDSETDEFA(),DBSELECTAR(),DBUNLOCKAL(),DBCLEARREL(),DBSETFILTE()
@@ -48540,9 +48557,9 @@ e.vc
+include/hbgetcmt.ch
*Include file for Ca-Clippr 5.3 Get Compatible Controls
+source/rtl/radiobtn.prg
*Radio Button Class Compatible with Ca-Clipper 5.3
*Radio Button Class Compatible with CA-Cl*pper 5.3
+source/rtl/radiogrp.prg
*Radio Group Class Compatible with Ca-Clipper 5.3
*Radio Group Class Compatible with CA-Cl*pper 5.3
*tests/tstchbx.prg
*Updated to demostrate the work of RadioButton/RadioGroup Classes
*hb_slex.bc
@@ -48604,9 +48621,9 @@ e.vc
2001-07-20 20:00 GMT -3 Luiz Rafael Culik <culik@sl.conex.net>
+source/rtl/checkbox.prg
*CheckBox Class Compatible with Ca-Clipper 5.3
*CheckBox Class Compatible with CA-Cl*pper 5.3
*source/rtl/getsys.prg
+Added the follow function For compatibility with Ca-Clipper 5.3: GUIReader(),GuiApplyKey(),GuiGetPreValidate(),GuiGetPostValidate()
+Added the follow function For compatibility with CA-Cl*pper 5.3: GUIReader(),GuiApplyKey(),GuiGetPreValidate(),GuiGetPostValidate()
*source/rtl/tget.prg
+Control and Message Data
*Source/rtl/tgetlist.prg

View File

@@ -23,10 +23,10 @@
* This command declares the names of fields <xField> (and <xFieldn> and
* following) with an optional alias identifier as <cDatabase> for each.
* This command allow Harbour to resolve any reference to a field
* specified in the field listby viewing it as a field when it is not
* referenced by an alias.If a field is not listed in this list and it
* is not explicity tagged with an alias indentifier,it may be viewed
* as a memory variable,which may cause run-time errors.This command
* specified in the field list by viewing it as a field when it is not
* referenced by an alias. If a field is not listed in this list and it
* is not explicity tagged with an alias indentifier, it may be viewed
* as a memory variable, which may cause run-time errors. This command
* has no effect on memory variables or on field reference buried within
* a macro expression.
* $EXAMPLES$
@@ -70,31 +70,31 @@
* $RETURNS$
* None
* $DESCRIPTION$
* This command created a LOCAL memory variable or array.The name
* of either is specified in <xVar>.If more then one variable is being
* This command created a LOCAL memory variable or array. The name
* of either is specified in <xVar>. If more then one variable is being
* initialized with the LOCAL command,separate each entry with a comma.
* If a variable or an array is to be assingned a start-up value,that
* expression may be specified in <xInit> and folling.Is Strong type
* expression may be specified in <xInit> and folling. Is Strong type
* compile mode is used, the Compiler will check if the value recived
* matchs the type specified in <xType>.
*
* LOCAL varibles are symbols generated at run time and are resolved
* at compile time.The visibility and life span of a LOCAL variable or
* at compile time. The visibility and life span of a LOCAL variable or
* array is limited to the function or procedure in which it is defined.
*
* No macro expansions are allowed in the LOCAL declaration statement.
*
* No Harbour command other then FUNCTION,PROCEDURE,PUBLIC,PRIVATE,
* PARAMETERS,MEMVAR,STATIC and FIELD,may precede the LOCAL command.
* No Harbour command other then FUNCTION, PROCEDURE, PUBLIC, PRIVATE,
* PARAMETERS, MEMVAR, STATIC and FIELD, may precede the LOCAL command.
*
* LOCAL array reference may not be initialized(i.e.,assigned values)
* on the same command line as the LOCAL command statement.This can be
* LOCAL array reference may not be initialized (i.e., assigned values)
* on the same command line as the LOCAL command statement. This can be
* done later in the program.
*
* LOCAL variables and arrays are not affected by the RELEASE command.
* $EXAMPLES$
* Function Main2()
* Local n , lVar
* Local n, lVar
*
* n := IIF( lVar, 'A', 3 )
* n := 2
@@ -103,7 +103,7 @@
* n := int( seconds() + 2 )
* Return( NIL )
* $TESTS$
* See Tests/testwarn.prg for more examples
* See tests/testwarn.prg for more examples
* $STATUS$
* R
* $COMPLIANCE$
@@ -135,7 +135,7 @@
* variable designated within this list s if it possessed an explicit
* memory variable alias with either the M-> or MEMVAR-> prefix.Only
* those memory variables that do not contain any such explicit are
* affected by this command.Those memory variabls within macro
* affected by this command. Those memory variabls within macro
* expansions are not affected by this command.
*
* The MEMVAR declaration must apear before any executable commands;it
@@ -155,7 +155,7 @@
* ? y
* Return( NIL )
* $TESTS$
* See Tests/testwarn.prg for more examples
* See tests/testwarn.prg for more examples
* $STATUS$
* R
* $COMPLIANCE$

View File

@@ -123,7 +123,7 @@
* in the selected or aliased work area. All fields in that
* database will be given empty data values - character fields
* will be filled with blank spaces,date fields with CTOD('//'),
* numeric fields with 0,logical fields with .F., and memo fields
* numeric fields with 0, logical fields with .F., and memo fields
* with NULL bytes. The header of the database is not updated until
* the record is flushed from the buffer and the contents are
* written to the disk.
@@ -131,7 +131,7 @@
* Under a networking enviroment, DBAPPEND() performs an additional
* operation: It attrmps to lock the newly added record. If
* the database file is currently locked or if a locking assignment
* if made to LASTREC()+1,NETERR() will return a logical true (.T.)
* if made to LASTREC()+1, NETERR() will return a logical true (.T.)
* immediately after the DBAPPEND() function. This function does
* not unlock the locked records.
*
@@ -211,7 +211,7 @@
* DBCLOSEALL() always return NIL
* $DESCRIPTION$
* This function close all open databases and all associated
* indexes.In addition, it closes all format files and moves
* indexes. In addition, it closes all format files and moves
* the work area pointer to the first position
* $EXAMPLES$
* Function Main()
@@ -400,7 +400,7 @@
* $DESCRIPTION$
* This function creates the database file specified as <cDatabase> from the
* multidimensional array <aStruct>. If no file extension is use with <cDatabase>
* the .DBF extension is assumed.
* the .dbf extension is assumed.
* The array specified in <aStruct> must follow a few guidelines when being
* built prior to a call to DBCREATE():
*
@@ -514,7 +514,7 @@
* $DESCRIPTION$
* This function return the expression of the SET FILTER TO command
* for the current or designated work area. If no filter condition
* is present,a NULL string will be returned.
* is present, a NULL string will be returned.
* $EXAMPLES$
* USE Test INDEX Test NEW
* SET FILTER TO Name= "Harbour"
@@ -550,8 +550,8 @@
* This function moves the record pointer in the selected or aliased
* work area to the end of the file. The position of the record pointer
* is affected by the values in the index key or by an active FILTER
* condition.Otherwise,if no index is active or if no filter condition
* is present,the value of the record pointer will be LASTREC().
* condition. Otherwise, if no index is active or if no filter condition
* is present, the value of the record pointer will be LASTREC().
* $EXAMPLES$
* USE Tests
* DBGOTOP()
@@ -584,7 +584,7 @@
* $RETURNS$
* DBGOTO() always returns NIL.
* $DESCRIPTION$
* This function places the record pointer,if working with a .DBF file,
* This function places the record pointer, if working with a .dbf file,
* in selected or aliased work area at the record number specified by
* <xRecordNumber>. The position if not affected by an active index or
* by any enviromental SET condiction.
@@ -592,7 +592,7 @@
* Issuing a DBGOTO(RECNO()) call in a network enviroment will refresh
* the database and index buffers. This is the same as a DBSKIP(0) call.
* The parameter <xRecordNumber> may be something other than a record
* number.In some data formats, for example, the value of <xRecordNumber>
* number. In some data formats, for example, the value of <xRecordNumber>
* is a unique primary key while in other formats,<xRecordNumber> could
* be an array offset if the data set was an array.
* $EXAMPLES$
@@ -634,8 +634,8 @@
* This function moves the record pointer in the selected or aliased
* work area to the top of the file. The position of the record pointer
* is affected by the values in the index key or by an active FILTER
* condition.Otherwise,if no index is active or if no filter condition
* is present,the value of RECNO() will be 1.
* condition. Otherwise, if no index is active or if no filter condition
* is present, the value of RECNO() will be 1.
* $EXAMPLES$
* USE Tests
* DBGOTOP()
@@ -708,7 +708,7 @@
* $DESCRIPTION$
* This function attempts to lock a record which is indentified
* by <xIdentity> in the active data set. If the lock is successful
* the function will return a logical true (.T.) value;otherwise
* the function will return a logical true (.T.) value; otherwise
* a logical false (.F.) will be returned. If <xIdentity> is not
* passed it will be assumed to lock the current active record/data
* item.
@@ -747,7 +747,7 @@
* $DESCRIPTION$
* This function will return an array of locked records in a given
* and active work area. If the return array is an empty array
* (meaning no elements in it),then there are no locked record in that
* (meaning no elements in it), then there are no locked record in that
* work area.
* $EXAMPLES$
* FUNCTION Main()
@@ -790,8 +790,8 @@
* DBRUNLOCK() always returns NIL.
* $DESCRIPTION$
* This function will attempt to unlock the record specified as
* <xIdentity>,which in a .DBF format is the record number. If not
* specified,them the current active record/data item will be
* <xIdentity>, which in a .dbf format is the record number. If not
* specified, them the current active record/data item will be
* unlocked
* $EXAMPLES$
* FUNCTION Main()
@@ -845,7 +845,7 @@
* search from the top of the file.
*
* If the SOFTSEEK flag is on or if <lSoftSeek> is set to a logical true
* (.T.) the value of FOUND() wilI be a logical false and EOF() will be
* (.T.) the value of FOUND() will be a logical false and EOF() will be
* false if there is an item in the index key with a greater value than
* the key expression <expKey>; at this point the record pointer will
* position itself on that record. However, if there is no greater key
@@ -1058,7 +1058,7 @@
* This function returns a multidimensional array. This array has array
* pointers to other arrays,each of which contains the characteristic
* of a field in the active work area. The lenght of this array is based
* in the number of fields in that particular work area.In other words,
* in the number of fields in that particular work area. In other words,
* LEN(DBSTRUCT()) is equal to the value obtained from FCOUNT().
* Each subscript position
* $EXAMPLES$

View File

@@ -714,7 +714,7 @@
* $DESCRIPTION$
* This function returns the position of the record pointer in the
* currently selected ot designated work area.
* If the database file is empty and if the RDD is the traditional .DBF
* If the database file is empty and if the RDD is the traditional .dbf
* file, the value of this function will be 1.
* $EXAMPLES$
* USE Tests NEW

View File

@@ -31,7 +31,7 @@
* <cBagExt> The Rdd extension name.
* $DESCRIPTION$
* This function return th character name of the RDD extension for
* the order bag.This is determined by the active RDD for the selected
* the order bag. This is determined by the active RDD for the selected
* work area.
*
* This function replaces the Indexord() function.
@@ -72,11 +72,11 @@
* ORDBAGNAME() returns the Order bag name
* $DESCRIPTION$
* This function returns the name of the order bag for the specified
* work area. If <nOrder> is specidied,it will represent the position
* in the order list of the target order.If <cOrderName> is specified,
* it will represent the name of the target order.In essence,it will
* work area. If <nOrder> is specidied, it will represent the position
* in the order list of the target order. If <cOrderName> is specified,
* it will represent the name of the target order. In essence, it will
* tell the name of the database (if That Rdd is in use) for a given
* index name or index order number.If <cOrderName> is not specified
* index name or index order number. If <cOrderName> is not specified
* or <nOrder> is 0, the Current active order will be used.
* $EXAMPLES$
* USE Tests VIA "DBFCDX" NEW
@@ -129,7 +129,7 @@
* order.
* <bForCondition> is a code block that defines a FOR condition that
* each record within the scope must meet in order to be processed. If
* a record does not meet the specified condition,it is ignored and the
* a record does not meet the specified condition, it is ignored and the
* next record is processed.Duplicate keys values are not added to the
* index file when a FOR condition is Used.
* $RETURNS$
@@ -175,9 +175,9 @@
* $RETURNS$
* ORDCREATE() always returns NIL.
* $DESCRIPTION$
* This function creates an order for the current work area.It is
* This function creates an order for the current work area. It is
* similar to the DBCREATEINDEX() except that this function allows
* different orders based on the RDD in effect.The name of the file
* different orders based on the RDD in effect. The name of the file
* <cOrderBagName> or the name of the order <cOrderName> are technically
* both considered to be "optional" except that at least one of two
* must exist in order to create the order.
@@ -197,9 +197,9 @@
* If the name <cOrderBagName> is found in the order bag can contain
* a single order,the the name <cOrderBagName> is erased and a new
* order is added to the order list in the current or specified work
* area.On the other hand,if it can contain multiples tags and if
* area.On the other hand, if it can contain multiples tags and if
* <cOrderBagName> does not already exist in the order list,then it is
* added.It is does exist,then the <cOrderBagName> replaces the former
* added. It is does exist,then the <cOrderBagName> replaces the former
* name in the order list in the current or specified work area.
* $EXAMPLES$
* USE TESTS VIA "DBFNDX" NEW
@@ -242,12 +242,12 @@
* This function attempts to remove the order named <cOrderName> from the
* file containing the order bag name <cOrderBagName>. If <cOrderBagName>
* is not specified,then the name of the file will be based on the value
* of the ORDNAME() function.If the extension is not included with the
* of the ORDNAME() function. If the extension is not included with the
* name of the order file,then the extension will be obtained from the
* default extension of the current and active RDD.
*
* The DBFNTX driver do not support multiple order bags;therefore,there
* cannot be an order to "destroy" from a bag.This function only works
* cannot be an order to "destroy" from a bag. This function only works
* for those drivers with support multiple orders bags (e.q. DBFCDX
* and RDDADS drivers).
* $EXAMPLES$
@@ -288,7 +288,7 @@
* an order.
* $DESCRIPTION$
* This function returns a character string that is the expression for
* the FOR condition for the specified order.The order may be specified
* the FOR condition for the specified order. The order may be specified
* if <xOrder> is the name of the order.However,<xOrder> may be an
* numeric which represent the position in the order list of the desired
* Order.
@@ -374,7 +374,7 @@
* <cExtension> Current driver file extension
* $DESCRIPTION$
* This function returns a string that tells what indexes are to be used
* or will be created in the compiled application.The default value is
* or will be created in the compiled application. The default value is
* ".ntx". This is controled by the particular database driver that is
* linked with the application.
* $EXAMPLES$
@@ -412,9 +412,9 @@
* index file
*
* The index key is displayed for an index file that is designated by
* <nOrder>,its position in the USE...INDEX or SET INDEX TO command in
* the currently selected or designated work area.If there is no
* corresnponding index key at the specified order position,a NULL
* <nOrder>, its position in the USE...INDEX or SET INDEX TO command in
* the currently selected or designated work area. If there is no
* corresnponding index key at the specified order position, a NULL
* byte will be returned.
* $EXAMPLES$
* USE TESTS NEW INDEX TEST1

View File

@@ -79,7 +79,7 @@
* also be date data types; if <xVar> is a numeric data type <xStart>
* and <xEnd> must also be numeric data types. If a value fails the
* RANGE test ,a message of OUT OF RANGE will appear in the SCOREBOARD
* area (row = 0, col = 60).The RANGE message may be turned off it the
* area (row = 0, col = 60). The RANGE message may be turned off it the
* SET SCOREBOARD command or SET() function appropriately toggled.
*
* NOTE GET functions/formatting rules:

View File

@@ -841,7 +841,7 @@
* <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
* 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$
@@ -869,7 +869,7 @@
* <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
* 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$
@@ -1006,7 +1006,7 @@
* If ADDITIVE clause is used, then the information will be appended
* to the existing alternate file. Otherwise, a new file will be created
* with the specified name (or an existing one will be overwritten) and
* the information will be appended to the file.The default is to create
* the information will be appended to the file. The default is to create
* a new file.
* A SET ALTERNATE TO command will close the alternate file
* $EXAMPLES$
@@ -1270,9 +1270,9 @@
* <nDecimal> Number of decimals places
* $DESCRIPTION$
* This command establishes the number of decimal places that Harbour
* will display in mathematical calculations,functions,memory variables,
* and fields.Issuing no parameter with this command will the default
* number of decimals to 0.For decimals to be seen,the SET FIXED ON
* will display in mathematical calculations, functions, memory variables,
* and fields. Issuing no parameter with this command will the default
* number of decimals to 0. For decimals to be seen, the SET FIXED ON
* command must be activated.
* $EXAMPLES$
* SET FIXED ON

View File

@@ -30,7 +30,7 @@
* columns specified.
* Note that there are only a real few combination or rows/cols pairs
* that produce the video mode change.
* The followings are availables for D.O.S:
* The followings are availables for DOS:
*
* <table>
* 12 rows x 40 columns 12 rows x 80 columns

View File

@@ -35,7 +35,7 @@
* lAlpha Logical true (.T.) or false (.F.).
* $DESCRIPTION$
* This function return a logical true (.T.) if the first character
* in <cString> is an alphabetic character.If not, the function will
* in <cString> is an alphabetic character. If not, the function will
* return a logical false (.F.).
* $EXAMPLES$
* QOUT( "isalpha( 'hello' ) = ", isalpha( 'hello' ) )
@@ -69,8 +69,8 @@
* lDigit Logical true (.T.) or false (.F.).
* $DESCRIPTION$
* This function takes the caracter string <cString> and checks to
* see if the leftmost character is a digit,from 1 to 9.If so, the
* function will return a logical true (.T.);otherwise, it will
* see if the leftmost character is a digit, from 1 to 9. If so, the
* function will return a logical true (.T.); otherwise, it will
* return a logical false (.F.).
* $EXAMPLES$
* ? ISDIGIT( '12345' ) // .T.
@@ -104,8 +104,8 @@
* lUpper Logical true (.T.) or false (.F.).
* $DESCRIPTION$
* This function takes the caracter string <cString> and checks to
* see if the leftmost character is a uppercased letter.If so, the
* function will return a logical true (.T.);otherwise, it will
* see if the leftmost character is a uppercased letter. If so, the
* function will return a logical true (.T.); otherwise, it will
* return a logical false (.F.).
* $EXAMPLES$
* ? ISUPPER( 'Abcde' ) // .T.
@@ -139,8 +139,8 @@
* lLower Logical true (.T.) or false (.F.).
* $DESCRIPTION$
* This function takes the caracter string <cString> and checks to
* see if the leftmost character is a lowercased letter.If so, the
* function will return a logical true (.T.);otherwise, it will
* see if the leftmost character is a lowercased letter. If so, the
* function will return a logical true (.T.); otherwise, it will
* return a logical false (.F.).
* $EXAMPLES$
* ? islower( 'ABCde' ) // .F.
@@ -214,7 +214,7 @@
* $DESCRIPTION$
* This function searches the string <cString> for the characters in
* the first string <cSearch>. If the substring is not contained within
* the second expression,the function will return 0. The third and fourth
* the second expression, the function will return 0. The third and fourth
* parameters lets you indicate a starting and end offset to search in.
* $EXAMPLES$
* QOUT( "at( 'cde', 'abcdefgfedcba' ) = '" +;
@@ -937,7 +937,7 @@
* of <xVal> will be a blank space. This character may be explicitly
* specified the value of <cFill>.
*
* If the lenght of <xVal> is longer then <nWidth>,this function will
* If the lenght of <xVal> is longer then <nWidth>, this function will
* truncate the string <xVal> from the leftmost side to the lenght of
* <nWidth>.
* $EXAMPLES$
@@ -980,10 +980,10 @@
* This function takes an date,number,or character expression <xVal>
* and attempt to left-justify it within a string of a given width
* expressed as <nWidth>.The default character used to pad left side
* of <xVal> will be an blank space;however,this character may be
* of <xVal> will be an blank space; however, this character may be
* explicitly specified the value of <cFill>.
*
* If the lenght of <xVal> is longer then <nWidth>,this function will
* If the lenght of <xVal> is longer then <nWidth>, this function will
* truncate the string <xVal> from the leftmost side to the lenght of
* <nWidth>.
* $EXAMPLES$
@@ -1026,10 +1026,10 @@
* This function takes an date,number,or character expression <xVal>
* and attempt to right-justify it within a string of a given width
* expressed as <nWidth>.The default character used to pad right side
* of <xVal> will be an blank space;however,this character may be
* of <xVal> will be an blank space;however, this character may be
* explicitly specified the value of <cFill>.
*
* If the lenght of <xVal> is longer then <nWidth>,this function will
* If the lenght of <xVal> is longer then <nWidth>, this function will
* truncate the string <xVal> from the leftmost side to the lenght of
* <nWidth>.
* $EXAMPLES$
@@ -1105,7 +1105,7 @@
* removed.
*
* This function is indentical to RTRIM() and the opposite of LTRIM().
* Together with LTRIM(),this function equated to the ALLTRIM()
* Together with LTRIM(), this function equated to the ALLTRIM()
* function.
* $EXAMPLES$
* ? RTRIM( "HELLO" ) // "HELLO"
@@ -1145,7 +1145,7 @@
* removed.
*
* This function is indentical to RTRIM() and the opposite of LTRIM().
* Together with LTRIM(),this function equated to the ALLTRIM()
* Together with LTRIM(), this function equated to the ALLTRIM()
* function.
* $EXAMPLES$
* ? TRIM( "HELLO" ) // "HELLO"
@@ -1338,13 +1338,13 @@
* <cReturn> Formated string
* $DESCRIPTION$
* This function searches for any occurence of <cLocString> in <cString>
* and replacesit with <cRepString>.If <cRepString> is not specified, a
* and replacesit with <cRepString>. If <cRepString> is not specified, a
* NULL byte will replace <cLocString>.
*
* If <nPos> is used,its value defines the first occurence to be
* replaced.The default value is 1.Additionally,if used,the value of
* If <nPos> is used, its value defines the first occurence to be
* replaced.The default value is 1.Additionally, if used, the value of
* <nOccurences> tell the function how many occurrences of <cLocString>
* in <cString> are to the replaced.The default of <nOccurences> is
* in <cString> are to the replaced. The default of <nOccurences> is
* all occurrences.
* $EXAMPLES$
* ? STRTRAN( "Harbour Power", " ", " " ) // Harbour Power
@@ -1396,8 +1396,8 @@
* and the template string if they are used in conjunction with
* one another.
*
* - Second,if both components make up the value of <cTemplate>,the
* function string must precede the template string.Otherwise,the
* - Second, if both components make up the value of <cTemplate>, the
* function string must precede the template string.Otherwise, the
* function string may appear with out the template string and
* vice versa.
*

View File

@@ -233,7 +233,7 @@
* oTb:SETKEY( K_TAB,{|oTb,nKey| -1})
*
* An default key handler can be declared by specifyin a value of 0
* for <nKey>.It associate code block will be evaluated each time
* for <nKey>. It associate code block will be evaluated each time
* TBrowse:Applykey() is called with an key value that is not contained
* in the dictionary. For example
*

View File

@@ -688,12 +688,12 @@
* $ARGUMENTS$
* None
* $DESCRIPTION$
* This command issue an form-feed command to the printer.If the printer
* This command issue an form-feed command to the printer. If the printer
* is not properly hooked up to the computer,an error will not be
* generated and the command will be ignored.
*
* Once completed,the values of PROW() and PCOL(),the row and column
* indicators to the printer,will be set to 0.Their values,however,may
* indicators to the printer,will be set to 0. Their values,however,may
* be manipulated before or after ussuing an EJECT by using the DEVPOS()
* function.
*
@@ -739,7 +739,7 @@
* $RETURNS$
* <nPosition> Current column position
* $DESCRIPTION$
* This function returns the current cursor column position.The value
* This function returns the current cursor column position. The value
* for this function can range between 0 and MAXCOL().
* $EXAMPLES$
* ? Col()
@@ -770,7 +770,7 @@
* $RETURNS$
* <nPosition> Current screen row position
* $DESCRIPTION$
* This function returns the current cursor row location.The value
* This function returns the current cursor row location. The value
* for this function can range between 0 and MAXCOL().
* $EXAMPLES$
* ? Row()
@@ -802,7 +802,7 @@
* <nPosition> The maximun number of columns possible in current video
* mode
* $DESCRIPTION$
* This function returns the current cursor column position.The value
* This function returns the current cursor column position. The value
* for this function can range between 0 and MAXCOL().
* $EXAMPLES$
* ? MAXCol()
@@ -837,7 +837,7 @@
* <nPosition> The maximun number of rows possible in current video
* mode
* $DESCRIPTION$
* This function returns the current cursor row location.The value
* This function returns the current cursor row location. The value
* for this function can range between 0 and MAXCOL().
* $EXAMPLES$
* ? MAXROW()

View File

@@ -41,7 +41,7 @@
* NIL
* $DESCRIPTION$
* This command prints out the report named <cReportName>, which is a
* standard FRM file. The file extension is not required because FRM
* standard FRM file. The file extension is not required because .frm
* will be assumed. The SET PATH TO and SET DEFAULT TO commands affect
* the search for the file <cReportName>; unless a drive and path are
* specified in <cReportName>, REPORT will search the path specified in

View File

@@ -46,7 +46,7 @@
* $DESCRIPTION$
* Este comando imprime un informe ¢ reporte llamado <cNombreReporte>,
* el cual es un archivo estandar FRM. La extensi¢n del archivo no es
* necesaria porque la extensi¢n .FRM es asumida por defecto.
* necesaria porque la extensi¢n .frm es asumida por defecto.
* Los comandos SET PATH TO y SET DEFAULT TO afectan la b£squeda del
* archivo <cNombreReporte>; a menos que la unidad de disco y el path
* sean especificados en <cNombreReporte>, REPORT buscar  dentro del

View File

@@ -878,98 +878,98 @@ PROCEDURE Main_MISC()
#else
TEST_LINE( TESTFNAME( ": " ) , ":;:;;;" )
#endif
TEST_LINE( TESTFNAME( "C:/WORK/HELLO " ) , "C:/WORK/HELLO;C:/WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO " ) , "C:/WORK/HELLO;C:/WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO " ) , "C:/WORK/HELLO;C:/WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO. " ) , "C:/WORK/HELLO.;C:/WORK/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO.PRG " ) , "C:/WORK/HELLO.PRG;C:/WORK/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO/ " ) , "C:/WORK/HELLO/;C:/WORK/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO/.PRG " ) , "C:/WORK/HELLO/.PRG;C:/WORK/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO/A.PRG " ) , "C:/WORK/HELLO/A.PRG;C:/WORK/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:/WORK/HELLO/A.B.PRG " ) , "C:/WORK/HELLO/A.B.PRG;C:/WORK/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO " ) , "C:WORK/HELLO;C:WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO. " ) , "C:WORK/HELLO.;C:WORK/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO.PRG " ) , "C:WORK/HELLO.PRG;C:WORK/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO/ " ) , "C:WORK/HELLO/;C:WORK/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO/.PRG " ) , "C:WORK/HELLO/.PRG;C:WORK/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO/A.PRG " ) , "C:WORK/HELLO/A.PRG;C:WORK/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK/HELLO/A.B.PRG " ) , "C:WORK/HELLO/A.B.PRG;C:WORK/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO " ) , "C:/WORK.OLD/HELLO;C:/WORK.OLD/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO. " ) , "C:/WORK.OLD/HELLO.;C:/WORK.OLD/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO.PRG " ) , "C:/WORK.OLD/HELLO.PRG;C:/WORK.OLD/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO/ " ) , "C:/WORK.OLD/HELLO/;C:/WORK.OLD/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO/.PRG " ) , "C:/WORK.OLD/HELLO/.PRG;C:/WORK.OLD/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO/A.PRG " ) , "C:/WORK.OLD/HELLO/A.PRG;C:/WORK.OLD/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:/WORK.OLD/HELLO/A.B.PRG " ) , "C:/WORK.OLD/HELLO/A.B.PRG;C:/WORK.OLD/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO " ) , "C:WORK.OLD/HELLO;C:WORK.OLD/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO. " ) , "C:WORK.OLD/HELLO.;C:WORK.OLD/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO.PRG " ) , "C:WORK.OLD/HELLO.PRG;C:WORK.OLD/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO/ " ) , "C:WORK.OLD/HELLO/;C:WORK.OLD/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO/.PRG " ) , "C:WORK.OLD/HELLO/.PRG;C:WORK.OLD/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO/A.PRG " ) , "C:WORK.OLD/HELLO/A.PRG;C:WORK.OLD/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:WORK.OLD/HELLO/A.B.PRG " ) , "C:WORK.OLD/HELLO/A.B.PRG;C:WORK.OLD/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO " ) , "C:.OLD/HELLO;C:.OLD/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO. " ) , "C:.OLD/HELLO.;C:.OLD/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO.PRG " ) , "C:.OLD/HELLO.PRG;C:.OLD/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO/ " ) , "C:.OLD/HELLO/;C:.OLD/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO/.PRG " ) , "C:.OLD/HELLO/.PRG;C:.OLD/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO/A.PRG " ) , "C:.OLD/HELLO/A.PRG;C:.OLD/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:.OLD/HELLO/A.B.PRG " ) , "C:.OLD/HELLO/A.B.PRG;C:.OLD/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO " ) , "//SERVER/WORK/HELLO;//SERVER/WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO. " ) , "//SERVER/WORK/HELLO.;//SERVER/WORK/;HELLO;.;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO.PRG " ) , "//SERVER/WORK/HELLO.PRG;//SERVER/WORK/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO/ " ) , "//SERVER/WORK/HELLO/;//SERVER/WORK/HELLO/;;;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO/.PRG " ) , "//SERVER/WORK/HELLO/.PRG;//SERVER/WORK/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO/A.PRG " ) , "//SERVER/WORK/HELLO/A.PRG;//SERVER/WORK/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "//SERVER/WORK/HELLO/A.B.PRG" ) , "//SERVER/WORK/HELLO/A.B.PRG;//SERVER/WORK/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO " ) , "/SERVER/WORK/HELLO;/SERVER/WORK/;HELLO;;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO. " ) , "/SERVER/WORK/HELLO.;/SERVER/WORK/;HELLO;.;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO.PRG " ) , "/SERVER/WORK/HELLO.PRG;/SERVER/WORK/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO/ " ) , "/SERVER/WORK/HELLO/;/SERVER/WORK/HELLO/;;;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO/.PRG " ) , "/SERVER/WORK/HELLO/.PRG;/SERVER/WORK/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO/A.PRG " ) , "/SERVER/WORK/HELLO/A.PRG;/SERVER/WORK/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "/SERVER/WORK/HELLO/A.B.PRG " ) , "/SERVER/WORK/HELLO/A.B.PRG;/SERVER/WORK/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:/HELLO " ) , "C:/HELLO;C:/;HELLO;;" )
TEST_LINE( TESTFNAME( "C:/HELLO. " ) , "C:/HELLO.;C:/;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:/HELLO.PRG " ) , "C:/HELLO.PRG;C:/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:/HELLO/ " ) , "C:/HELLO/;C:/HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:/HELLO/.PRG " ) , "C:/HELLO/.PRG;C:/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:/HELLO/A.PRG " ) , "C:/HELLO/A.PRG;C:/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:/HELLO/A.B.PRG " ) , "C:/HELLO/A.B.PRG;C:/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:/work/hello " ) , "C:/work/hello;C:/work/;hello;;" )
TEST_LINE( TESTFNAME( "C:/work/hello " ) , "C:/work/hello;C:/work/;hello;;" )
TEST_LINE( TESTFNAME( "C:/work/hello " ) , "C:/work/hello;C:/work/;hello;;" )
TEST_LINE( TESTFNAME( "C:/work/hello. " ) , "C:/work/hello.;C:/work/;hello;.;" )
TEST_LINE( TESTFNAME( "C:/work/hello.prg " ) , "C:/work/hello.prg;C:/work/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:/work/hello/ " ) , "C:/work/hello/;C:/work/hello/;;;" )
TEST_LINE( TESTFNAME( "C:/work/hello/.prg " ) , "C:/work/hello/.prg;C:/work/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:/work/hello/a.prg " ) , "C:/work/hello/a.prg;C:/work/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:/work/hello/a.b.prg " ) , "C:/work/hello/a.b.prg;C:/work/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "C:work/hello " ) , "C:work/hello;C:work/;hello;;" )
TEST_LINE( TESTFNAME( "C:work/hello. " ) , "C:work/hello.;C:work/;hello;.;" )
TEST_LINE( TESTFNAME( "C:work/hello.prg " ) , "C:work/hello.prg;C:work/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:work/hello/ " ) , "C:work/hello/;C:work/hello/;;;" )
TEST_LINE( TESTFNAME( "C:work/hello/.prg " ) , "C:work/hello/.prg;C:work/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:work/hello/a.prg " ) , "C:work/hello/a.prg;C:work/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:work/hello/a.b.prg " ) , "C:work/hello/a.b.prg;C:work/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello " ) , "C:/work.old/hello;C:/work.old/;hello;;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello. " ) , "C:/work.old/hello.;C:/work.old/;hello;.;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello.prg " ) , "C:/work.old/hello.prg;C:/work.old/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello/ " ) , "C:/work.old/hello/;C:/work.old/hello/;;;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello/.prg " ) , "C:/work.old/hello/.prg;C:/work.old/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello/a.prg " ) , "C:/work.old/hello/a.prg;C:/work.old/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:/work.old/hello/a.b.prg " ) , "C:/work.old/hello/a.b.prg;C:/work.old/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "C:work.old/hello " ) , "C:work.old/hello;C:work.old/;hello;;" )
TEST_LINE( TESTFNAME( "C:work.old/hello. " ) , "C:work.old/hello.;C:work.old/;hello;.;" )
TEST_LINE( TESTFNAME( "C:work.old/hello.prg " ) , "C:work.old/hello.prg;C:work.old/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:work.old/hello/ " ) , "C:work.old/hello/;C:work.old/hello/;;;" )
TEST_LINE( TESTFNAME( "C:work.old/hello/.prg " ) , "C:work.old/hello/.prg;C:work.old/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:work.old/hello/a.prg " ) , "C:work.old/hello/a.prg;C:work.old/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:work.old/hello/a.b.prg " ) , "C:work.old/hello/a.b.prg;C:work.old/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "C:.old/hello " ) , "C:.old/hello;C:.old/;hello;;" )
TEST_LINE( TESTFNAME( "C:.old/hello. " ) , "C:.old/hello.;C:.old/;hello;.;" )
TEST_LINE( TESTFNAME( "C:.old/hello.prg " ) , "C:.old/hello.prg;C:.old/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:.old/hello/ " ) , "C:.old/hello/;C:.old/hello/;;;" )
TEST_LINE( TESTFNAME( "C:.old/hello/.prg " ) , "C:.old/hello/.prg;C:.old/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:.old/hello/a.prg " ) , "C:.old/hello/a.prg;C:.old/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:.old/hello/a.b.prg " ) , "C:.old/hello/a.b.prg;C:.old/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "//server/work/hello " ) , "//server/work/hello;//server/work/;hello;;" )
TEST_LINE( TESTFNAME( "//server/work/hello. " ) , "//server/work/hello.;//server/work/;hello;.;" )
TEST_LINE( TESTFNAME( "//server/work/hello.prg " ) , "//server/work/hello.prg;//server/work/;hello;.prg;" )
TEST_LINE( TESTFNAME( "//server/work/hello/ " ) , "//server/work/hello/;//server/work/hello/;;;" )
TEST_LINE( TESTFNAME( "//server/work/hello/.prg " ) , "//server/work/hello/.prg;//server/work/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "//server/work/hello/a.prg " ) , "//server/work/hello/a.prg;//server/work/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "//server/work/hello/a.b.prg" ) , "//server/work/hello/a.b.prg;//server/work/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "/server/work/hello " ) , "/server/work/hello;/server/work/;hello;;" )
TEST_LINE( TESTFNAME( "/server/work/hello. " ) , "/server/work/hello.;/server/work/;hello;.;" )
TEST_LINE( TESTFNAME( "/server/work/hello.prg " ) , "/server/work/hello.prg;/server/work/;hello;.prg;" )
TEST_LINE( TESTFNAME( "/server/work/hello/ " ) , "/server/work/hello/;/server/work/hello/;;;" )
TEST_LINE( TESTFNAME( "/server/work/hello/.prg " ) , "/server/work/hello/.prg;/server/work/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "/server/work/hello/a.prg " ) , "/server/work/hello/a.prg;/server/work/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "/server/work/hello/a.b.prg " ) , "/server/work/hello/a.b.prg;/server/work/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "C:/hello " ) , "C:/hello;C:/;hello;;" )
TEST_LINE( TESTFNAME( "C:/hello. " ) , "C:/hello.;C:/;hello;.;" )
TEST_LINE( TESTFNAME( "C:/hello.prg " ) , "C:/hello.prg;C:/;hello;.prg;" )
TEST_LINE( TESTFNAME( "C:/hello/ " ) , "C:/hello/;C:/hello/;;;" )
TEST_LINE( TESTFNAME( "C:/hello/.prg " ) , "C:/hello/.prg;C:/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:/hello/a.prg " ) , "C:/hello/a.prg;C:/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:/hello/a.b.prg " ) , "C:/hello/a.b.prg;C:/hello/;a.b;.prg;" )
#ifdef __PLATFORM__UNIX
TEST_LINE( TESTFNAME( "C:HELLO " ) , "C:HELLO;;C:HELLO;;" )
TEST_LINE( TESTFNAME( "C:HELLO. " ) , "C:HELLO.;;C:HELLO;.;" )
TEST_LINE( TESTFNAME( "C:HELLO.PRG " ) , "C:HELLO.PRG;;C:HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:hello " ) , "C:hello;;C:hello;;" )
TEST_LINE( TESTFNAME( "C:hello. " ) , "C:hello.;;C:hello;.;" )
TEST_LINE( TESTFNAME( "C:hello.prg " ) , "C:hello.prg;;C:hello;.prg;" )
#else
TEST_LINE( TESTFNAME( "C:HELLO " ) , "C:HELLO;C:;HELLO;;" )
TEST_LINE( TESTFNAME( "C:HELLO. " ) , "C:HELLO.;C:;HELLO;.;" )
TEST_LINE( TESTFNAME( "C:HELLO.PRG " ) , "C:HELLO.PRG;C:;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "C:hello " ) , "C:hello;C:;hello;;" )
TEST_LINE( TESTFNAME( "C:hello. " ) , "C:hello.;C:;hello;.;" )
TEST_LINE( TESTFNAME( "C:hello.prg " ) , "C:hello.prg;C:;hello;.prg;" )
#endif
TEST_LINE( TESTFNAME( "C:HELLO/ " ) , "C:HELLO/;C:HELLO/;;;" )
TEST_LINE( TESTFNAME( "C:HELLO/.PRG " ) , "C:HELLO/.PRG;C:HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "C:HELLO/A.PRG " ) , "C:HELLO/A.PRG;C:HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "C:HELLO/A.B.PRG " ) , "C:HELLO/A.B.PRG;C:HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "//HELLO " ) , "//HELLO;//;HELLO;;" )
TEST_LINE( TESTFNAME( "//HELLO. " ) , "//HELLO.;//;HELLO;.;" )
TEST_LINE( TESTFNAME( "//HELLO.PRG " ) , "//HELLO.PRG;//;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "//HELLO/ " ) , "//HELLO/;//HELLO/;;;" )
TEST_LINE( TESTFNAME( "//.PRG " ) , "//.PRG;//;.PRG;;" )
TEST_LINE( TESTFNAME( "//A.PRG " ) , "//A.PRG;//;A;.PRG;" )
TEST_LINE( TESTFNAME( "//A.B.PRG " ) , "//A.B.PRG;//;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "/HELLO " ) , "/HELLO;/;HELLO;;" )
TEST_LINE( TESTFNAME( "/HELLO. " ) , "/HELLO.;/;HELLO;.;" )
TEST_LINE( TESTFNAME( "/HELLO.PRG " ) , "/HELLO.PRG;/;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "/HELLO/ " ) , "/HELLO/;/HELLO/;;;" )
TEST_LINE( TESTFNAME( "/HELLO/.PRG " ) , "/HELLO/.PRG;/HELLO/;.PRG;;" )
TEST_LINE( TESTFNAME( "/HELLO/A.PRG " ) , "/HELLO/A.PRG;/HELLO/;A;.PRG;" )
TEST_LINE( TESTFNAME( "/HELLO/A.B.PRG " ) , "/HELLO/A.B.PRG;/HELLO/;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "HELLO " ) , "HELLO;;HELLO;;" )
TEST_LINE( TESTFNAME( "HELLO. " ) , "HELLO.;;HELLO;.;" )
TEST_LINE( TESTFNAME( "HELLO.PRG " ) , "HELLO.PRG;;HELLO;.PRG;" )
TEST_LINE( TESTFNAME( "HELLO/ " ) , "HELLO/;HELLO/;;;" )
TEST_LINE( TESTFNAME( ".PRG " ) , ".PRG;;.PRG;;" )
TEST_LINE( TESTFNAME( "A.PRG " ) , "A.PRG;;A;.PRG;" )
TEST_LINE( TESTFNAME( "A.B.PRG " ) , "A.B.PRG;;A.B;.PRG;" )
TEST_LINE( TESTFNAME( "C:hello/ " ) , "C:hello/;C:hello/;;;" )
TEST_LINE( TESTFNAME( "C:hello/.prg " ) , "C:hello/.prg;C:hello/;.prg;;" )
TEST_LINE( TESTFNAME( "C:hello/a.prg " ) , "C:hello/a.prg;C:hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "C:hello/a.b.prg " ) , "C:hello/a.b.prg;C:hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "//hello " ) , "//hello;//;hello;;" )
TEST_LINE( TESTFNAME( "//hello. " ) , "//hello.;//;hello;.;" )
TEST_LINE( TESTFNAME( "//hello.prg " ) , "//hello.prg;//;hello;.prg;" )
TEST_LINE( TESTFNAME( "//hello/ " ) , "//hello/;//hello/;;;" )
TEST_LINE( TESTFNAME( "//.prg " ) , "//.prg;//;.prg;;" )
TEST_LINE( TESTFNAME( "//a.prg " ) , "//a.prg;//;a;.prg;" )
TEST_LINE( TESTFNAME( "//a.b.prg " ) , "//a.b.prg;//;a.b;.prg;" )
TEST_LINE( TESTFNAME( "/hello " ) , "/hello;/;hello;;" )
TEST_LINE( TESTFNAME( "/hello. " ) , "/hello.;/;hello;.;" )
TEST_LINE( TESTFNAME( "/hello.prg " ) , "/hello.prg;/;hello;.prg;" )
TEST_LINE( TESTFNAME( "/hello/ " ) , "/hello/;/hello/;;;" )
TEST_LINE( TESTFNAME( "/hello/.prg " ) , "/hello/.prg;/hello/;.prg;;" )
TEST_LINE( TESTFNAME( "/hello/a.prg " ) , "/hello/a.prg;/hello/;a;.prg;" )
TEST_LINE( TESTFNAME( "/hello/a.b.prg " ) , "/hello/a.b.prg;/hello/;a.b;.prg;" )
TEST_LINE( TESTFNAME( "hello " ) , "hello;;hello;;" )
TEST_LINE( TESTFNAME( "hello. " ) , "hello.;;hello;.;" )
TEST_LINE( TESTFNAME( "hello.prg " ) , "hello.prg;;hello;.prg;" )
TEST_LINE( TESTFNAME( "hello/ " ) , "hello/;hello/;;;" )
TEST_LINE( TESTFNAME( ".prg " ) , ".prg;;.prg;;" )
TEST_LINE( TESTFNAME( "a.prg " ) , "a.prg;;a;.prg;" )
TEST_LINE( TESTFNAME( "a.b.prg " ) , "a.b.prg;;a.b;.prg;" )
TEST_LINE( TESTFNAME( " " ) , ";;;;" )
TEST_LINE( TESTFNAME( "/ " ) , "/;/;;;" )
TEST_LINE( TESTFNAME( "// " ) , "//;//;;;" )