* Makefile
* config/*
* contrib/*
* doc/*
* extras/*
* include/*
* lib/*
* package/*
* src/*
* tests/*
* utils/*
* removed empty lines left after removed '$' + 'Id' + '$' identifiers
64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
#ifndef __HARBOUR__
|
|
#define hb_ntos( n ) LTrim( Str( n ) )
|
|
#endif
|
|
|
|
PROCEDURE Main()
|
|
|
|
LOCAL oError := ErrorNew()
|
|
|
|
LOCAL a := { 3, 2, 1 }
|
|
LOCAL b := { 10 }
|
|
LOCAL c := { 2, .T., "B", NIL, { 1 }, {|| b }, oError, Date(), 1, .F., "A", NIL, Date() - 1, { 0 }, {|| a }, oError }
|
|
|
|
? "Original...:", aDump( a )
|
|
? "ASort......:", aDump( ASort( AClone( a ) ) )
|
|
? "ASort.block:", aDump( ASort( AClone( a ), , , {| x, y | x < y } ) )
|
|
?
|
|
? "Original...:", aDump( b )
|
|
? "ASort......:", aDump( ASort( AClone( b ) ) )
|
|
? "ASort.block:", aDump( ASort( AClone( b ), , , {| x, y | x < y } ) )
|
|
?
|
|
? "Original...:", aDump( c )
|
|
? "ASort......:", aDump( ASort( AClone( c ) ) )
|
|
? "ASort.block:", aDump( ASort( AClone( c ), , , {| x, y | xToStr( x ) < xToStr( y ) } ) )
|
|
?
|
|
|
|
RETURN
|
|
|
|
FUNCTION aDump( a )
|
|
|
|
LOCAL cStr := ""
|
|
LOCAL n := Len( a )
|
|
LOCAL i
|
|
|
|
FOR i := 1 TO n
|
|
cStr += AllTrim( xToStr( a[ i ] ) ) + " "
|
|
NEXT
|
|
|
|
RETURN cStr
|
|
|
|
FUNCTION xToStr( xValue )
|
|
|
|
LOCAL cType := ValType( xValue )
|
|
|
|
DO CASE
|
|
CASE cType == "C" .OR. cType == "M"
|
|
RETURN xValue
|
|
CASE cType == "N"
|
|
RETURN hb_ntos( xValue )
|
|
CASE cType == "D"
|
|
RETURN DToC( xValue )
|
|
CASE cType == "L"
|
|
RETURN iif( xValue, ".T.", ".F." )
|
|
CASE cType == "U"
|
|
RETURN "NIL"
|
|
CASE cType == "A"
|
|
RETURN "{.}"
|
|
CASE cType == "B"
|
|
RETURN "{|| }"
|
|
CASE cType == "O"
|
|
RETURN "[O]"
|
|
ENDCASE
|
|
|
|
RETURN xValue
|