From ca6ba143cd30f1ff1e92ea809eb91819b19540d3 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Tue, 11 Mar 2008 13:04:47 +0000 Subject: [PATCH] 2008-03-11 14:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbtest/rt_trans.prg * cleaned TRANSFORM() tests * harbour/contrib/rddads/ads1.c ! fixed binary number formatting --- harbour/ChangeLog | 7 + harbour/contrib/rddads/ads1.c | 134 +++++--- harbour/utils/hbtest/rt_trans.prg | 501 +++++++++++++++--------------- 3 files changed, 344 insertions(+), 298 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4d87f803ea..0f6a8f2842 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -7,6 +7,13 @@ For example: 2002-12-01 13:30 UTC+0100 Foo Bar */ + +2008-03-11 14:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/utils/hbtest/rt_trans.prg + * cleaned TRANSFORM() tests + + * harbour/contrib/rddads/ads1.c + ! fixed binary number formatting 2008-03-10 09:53 UTC+0100 Belgrano Massimo (mbelgrano/at/deltain.it) * harbour/utils/hbtest/rt_trans.prg ! added news regression test diff --git a/harbour/contrib/rddads/ads1.c b/harbour/contrib/rddads/ads1.c index c99eef9221..0a3ed7cff0 100644 --- a/harbour/contrib/rddads/ads1.c +++ b/harbour/contrib/rddads/ads1.c @@ -1839,7 +1839,6 @@ static ERRCODE adsGetValue( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem ) LPFIELD pField; BYTE * pBuffer = pArea->pRecord; UNSIGNED32 u32Length; - DOUBLE dVal = 0; UNSIGNED32 ulRetVal; HB_TRACE(HB_TR_DEBUG, ("adsGetValue(%p, %hu, %p)", pArea, uiIndex, pItem)); @@ -1882,71 +1881,106 @@ static ERRCODE adsGetValue( ADSAREAP pArea, USHORT uiIndex, PHB_ITEM pItem ) hb_itemPutCL( pItem, ( char * ) pBuffer, pField->uiLen ); break; - /* TODO: clean the code below, Druzus */ - case HB_FT_LONG: - case HB_FT_INTEGER: - case HB_FT_DOUBLE: - case HB_FT_TIME: case HB_FT_DAYTIME: case HB_FT_MODTIME: - case HB_FT_ROWVER: - case HB_FT_AUTOINC: - case HB_FT_CURDOUBLE: + case HB_FT_TIME: u32Length = pArea->maxFieldLen + 1; - if ( pField->uiTypeExtended == ADS_TIMESTAMP || - pField->uiTypeExtended == ADS_MODTIME || - pField->uiTypeExtended == ADS_TIME ) - { - ulRetVal = AdsGetField( pArea->hTable, ADSFIELD( uiIndex ), pBuffer, &u32Length, ADS_NONE ); -/* - ulRetVal = AdsGetFieldRaw( pArea->hTable, ADSFIELD( uiIndex ), pBuffer, &u32Length ); - dVal = (double) *pBuffer; - TraceLog( NULL, "u32Length %d float %f pBuffer: %d \n", u32Length , (double) *pBuffer, (double) *pBuffer ); - TraceLog( NULL, "u32Length %d pBuffer: %s \n", u32Length , pBuffer ); -*/ - } - else - { - ulRetVal = AdsGetDouble( pArea->hTable, ADSFIELD( uiIndex ), &dVal ); - } - + ulRetVal = AdsGetField( pArea->hTable, ADSFIELD( uiIndex ), pBuffer, &u32Length, ADS_NONE ); if( ulRetVal == AE_NO_CURRENT_RECORD ) { memset( pBuffer, ' ', pArea->maxFieldLen + 1 ); pArea->fEof = TRUE; - dVal = 0.0; } + hb_itemPutCL( pItem, ( char * ) pBuffer, u32Length ); + break; - if( pField->uiDec ) + case HB_FT_INTEGER: + { + SIGNED32 lVal = 0; + ulRetVal = AdsGetLong( pArea->hTable, ADSFIELD( uiIndex ), &lVal ); + if( ulRetVal == AE_NO_CURRENT_RECORD ) + { + lVal = 0; + pArea->fEof = TRUE; + } + if( pField->uiTypeExtended == ADS_SHORTINT ) + hb_itemPutNILen( pItem, ( int ) lVal, 6 ); + else + hb_itemPutNLLen( pItem, ( LONG ) lVal, 11 ); + break; + } +#ifndef HB_LONG_LONG_OFF + case HB_FT_AUTOINC: + { + SIGNED64 qVal = 0; + ulRetVal = AdsGetLongLong( pArea->hTable, ADSFIELD( uiIndex ), &qVal ); + if( ulRetVal == AE_NO_CURRENT_RECORD ) + { + qVal = 0; + pArea->fEof = TRUE; + } + hb_itemPutNIntLen( pItem, ( HB_LONG ) qVal, 10 ); + break; + } + case HB_FT_ROWVER: + { + SIGNED64 qVal = 0; + ulRetVal = AdsGetLongLong( pArea->hTable, ADSFIELD( uiIndex ), &qVal ); + if( ulRetVal == AE_NO_CURRENT_RECORD ) + { + qVal = 0; + pArea->fEof = TRUE; + } + hb_itemPutNIntLen( pItem, ( HB_LONG ) qVal, 20 ); + break; + } +#else + case HB_FT_AUTOINC: + case HB_FT_ROWVER: + { + DOUBLE dVal = 0; + + ulRetVal = AdsGetDouble( pArea->hTable, ADSFIELD( uiIndex ), &dVal ); + if( ulRetVal == AE_NO_CURRENT_RECORD ) + { + dVal = 0.0; + pArea->fEof = TRUE; + } + hb_itemPutNLen( pItem, dVal, + pField->uiTypeExtended == HB_FT_AUTOINC ? 10 : 20, 0 ); + } +#endif + case HB_FT_LONG: + case HB_FT_DOUBLE: + case HB_FT_CURDOUBLE: + { + DOUBLE dVal = 0; + + ulRetVal = AdsGetDouble( pArea->hTable, ADSFIELD( uiIndex ), &dVal ); + if( ulRetVal == AE_NO_CURRENT_RECORD ) + { + dVal = 0.0; + pArea->fEof = TRUE; + } + if( pField->uiTypeExtended == ADS_CURDOUBLE || + pField->uiTypeExtended == ADS_DOUBLE ) { hb_itemPutNDLen( pItem, dVal, - ( int ) pField->uiLen - ( ( int ) pField->uiDec + 1 ), - ( int ) pField->uiDec ); + 20 - ( pField->uiDec > 0 ? ( pField->uiDec + 1 ) : 0 ), + ( int ) pField->uiDec ); + } + else if( pField->uiDec ) + { + hb_itemPutNDLen( pItem, dVal, + ( int ) pField->uiLen - ( pField->uiDec + 1 ), + ( int ) pField->uiDec ); } else { - switch ( pField->uiTypeExtended ) - { - case ADS_CURDOUBLE : - case ADS_DOUBLE : - hb_itemPutNDLen( pItem, dVal, - ( int ) pField->uiLen, - ( int ) pField->uiDec ); - break; - /*case ADS_AUTOINC: - hb_itemPutNLen( pItem, dVal, ( int ) 10 , (int) 0 ); - break; */ - case ADS_TIMESTAMP: - case ADS_MODTIME: - case ADS_TIME: - hb_itemPutCL( pItem, ( char * ) pBuffer, u32Length ); - break; - default: - hb_itemPutNLen( pItem, dVal, ( int ) pField->uiLen, 0 ); - } + hb_itemPutNLen( pItem, dVal, ( int ) pField->uiLen, 0 ); } break; - + } case HB_FT_DATE: { SIGNED32 lDate; diff --git a/harbour/utils/hbtest/rt_trans.prg b/harbour/utils/hbtest/rt_trans.prg index f4363bc0b5..99ef1be934 100644 --- a/harbour/utils/hbtest/rt_trans.prg +++ b/harbour/utils/hbtest/rt_trans.prg @@ -56,10 +56,11 @@ #include "rt_vars.ch" FUNCTION Main_TRANS() - LOCAL cOldDate := Set(_SET_DATEFORMAT) - local cOldFixed :=set(_SET_FIXED) - local cOldDecim :=set(_SET_DECIMALS) + LOCAL cOldDate := Set( _SET_DATEFORMAT ) + local cOldFixed := Set( _SET_FIXED ) + local cOldDecim := Set( _SET_DECIMALS ) local dt + /* TRANSFORM() */ TEST_LINE( Transform( NIL , NIL ) , "E BASE 1122 Argument error TRANSFORM A:2:U:NIL;U:NIL F:S" ) @@ -513,273 +514,277 @@ FUNCTION Main_TRANS() TEST_LINE( Transform( .T., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " ) TEST_LINE( Transform( .F., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.,") , " " ) - Set( _SET_DATEFORMAT, cOldDate ) - - TEST_LINE( Transform( "abcd", "@9!*") , "ABCD" ) - TEST_LINE( Transform( "abcd", "@_9!*") , "ABCD" ) - TEST_LINE( Transform( "abcd", "@_9"+chr(9)+"9!9"), "aBc" ) - TEST_LINE( Transform( "abcd", "@!!!" ), "ABCD" ) - TEST_LINE( Transform( "abcd", "@9"), "abcd" ) - - TEST_LINE( Transform( 134.24, "99,999.99") , " 134.24" ) - TEST_LINE( Transform( 134.24, "@E 99,999.99") , " 134,24" ) - TEST_LINE( Transform( -134.24,"@E 99,999.99") , " -134,24" ) - TEST_LINE( Transform( 134.24, "@E99,999.99") , " 134,24" ) - TEST_LINE( Transform( -134.24, "@E99,999.99") , " -134,24" ) - - TEST_LINE( Transform(-7, "@X 9999") , " 7 DB") SET DATE FORMAT TO "MM/DD/YY" - TEST_LINE( Transform(stod("19920509"), "@E") , "09/05/92") - TEST_LINE( Transform(val("3.10"),"@X") , "3.10") - TEST_LINE( Transform(0.80,".9999") , ".8000" ) - TEST_LINE( Transform(-0.80, ".9999") , ".****" ) - TEST_LINE( Transform(12345.123, "@X99") , " 12345.123") - TEST_LINE( Transform(-12345.123, "@X99") , " 12345.123 DB" ) - TEST_LINE( Transform( 123456.78, "@E"), " 123456,78") - TEST_LINE( Transform(0,"@C 9.99"), "0.00") + TEST_LINE( Transform( "abcd", "@9!*" ) , "ABCD" ) + TEST_LINE( Transform( "abcd", "@_9!*" ) , "ABCD" ) + TEST_LINE( Transform( "abcd", "@_9" + chr( 9 ) + "9!9") , "aBc" ) + TEST_LINE( Transform( "abcd", "@!!!" ) , "ABCD" ) + TEST_LINE( Transform( "abcd", "@9" ) , "abcd" ) + + TEST_LINE( Transform( 134.24, "99,999.99" ) , " 134.24" ) + TEST_LINE( Transform( 134.24, "@E 99,999.99" ) , " 134,24" ) + TEST_LINE( Transform( -134.24, "@E 99,999.99" ) , " -134,24" ) + TEST_LINE( Transform( 134.24, "@E99,999.99" ) , " 134,24" ) + TEST_LINE( Transform( -134.24, "@E99,999.99" ) , " -134,24" ) + + TEST_LINE( Transform( 7, "@C 9999" ) , " 7 CR" ) + TEST_LINE( Transform( -7, "@X 9999" ) , " 7 DB" ) + + TEST_LINE( Transform( HB_SToD( "19920509" ), "@E" ) , "09/05/92" ) + + TEST_LINE( Transform( val("3.10"), "@X" ) , "3.10" ) + TEST_LINE( Transform( 0.80, ".9999" ) , ".8000" ) + TEST_LINE( Transform( -0.80, ".9999" ) , ".****" ) + TEST_LINE( Transform( 12345.123, "@X99" ) , " 12345.123" ) + TEST_LINE( Transform( -12345.123, "@X99" ) , " 12345.123 DB" ) + TEST_LINE( Transform( 123456.78, "@E" ) , " 123456,78" ) + TEST_LINE( Transform( 0, "@C 9.99" ) , "0.00" ) + + dt := HB_SToD( "19871231" ) + SET DATE FORMAT TO "MM:DD:YYYY" + TEST_LINE( Transform( dt, "@E" ) , "31:12:1987" ) + SET DATE FORMAT TO "MM:DD:YY" + TEST_LINE( Transform( dt, "@E" ) , "31:12:87" ) + SET DATE FORMAT TO "MM
YY" + TEST_LINE( Transform( dt, "@E" ) , "31<12>87" ) #ifdef __HARBOUR__ - dt:=stod("19871231") - set date format to "MM:DD:YYYY" - TEST_LINE( Transform( dt, "@E") , "31:12:1987" ) - set date format to "DD:MM:YYYY" - TEST_LINE( Transform( dt, "@E") , "31:12:1987") - set date format to "YYYY:MM:DD" - TEST_LINE( Transform( dt, "@E") , "31:12:1987") - set date format to "YYYY:DD:MM" - TEST_LINE( Transform( dt, "@E") , "31:12:1987") - set date format to "YY:MM:DD" - TEST_LINE( Transform( dt, "@E") , "31:12:87") - set date format to "MM:DD:YY" - TEST_LINE( Transform( dt, "@E") , "31:12:87") - set date format to "DD:MM:YY" - TEST_LINE( Transform( dt, "@E") , "31:12:87") - set date format to "" - TEST_LINE( Transform( dt, "@E") , "<31:12.87>") - set date format to "|YY|MM|DD|" - TEST_LINE( Transform( dt, "@E") , "|31|12|87|") - set date format to "MM
YY" - TEST_LINE( Transform( dt, "@E") , "31<12>87") - + /* this are wrongly converted by CA-Cl*pper */ + SET DATE FORMAT TO "DD:MM:YYYY" + TEST_LINE( Transform( dt, "@E" ) , "31:12:1987" ) + SET DATE FORMAT TO "YYYY:MM:DD" + TEST_LINE( Transform( dt, "@E" ) , "31:12:1987" ) + SET DATE FORMAT TO "YYYY:DD:MM" + TEST_LINE( Transform( dt, "@E" ) , "31:12:1987" ) + SET DATE FORMAT TO "YY:MM:DD" + TEST_LINE( Transform( dt, "@E" ) , "31:12:87" ) + SET DATE FORMAT TO "DD:MM:YY" + TEST_LINE( Transform( dt, "@E" ) , "31:12:87" ) + SET DATE FORMAT TO "" + TEST_LINE( Transform( dt, "@E" ) , "<31:12.87>" ) + SET DATE FORMAT TO "|YY|MM|DD|" + TEST_LINE( Transform( dt, "@E" ) , "|31|12|87|" ) #endif - Set( _SET_DATEFORMAT, cOldDate) - TEST_LINE( Transform( -5, "@(Z $###,##9.99") , "( 5.00)" ) - TEST_LINE( Transform( -10, "@)Z $###,##9.99") , "$ (10.00)" ) - TEST_LINE( Transform( -20, "@Z $###,##9.99") , "$ -20.00" ) - TEST_LINE( Transform(100,"9999.") , " 100.") - TEST_LINE( Transform(1.1,"@B!99.99") , "1.1 ") - TEST_LINE( Transform(12.345,"@R 99/99") , " /12") - TEST_LINE( Transform( "1234567890", "@9") , "1234567890") - TEST_LINE( Transform( 1234567890, "@9") , " 1234567890") - TEST_LINE( Transform( 1234, "9 999") , "1 234" ) - TEST_LINE( Transform( 123.123456, "999.99.99.99") , "123.12.45. " ) - TEST_LINE( Transform( 123.123456, "$$$.$$.$$.$$") , "123.12.45. " ) - TEST_LINE( Transform( 123.123456, "***.**.**.**") , "123.12.45. " ) - TEST_LINE( Transform( 99999, "9.999") , "*.***" ) - TEST_LINE( Transform( 99, "*.***") , "*.***" ) - TEST_LINE( Transform( 12345, "9999.") , "****." ) + SET DATE FORMAT TO "MM.DD.YYYY" + TEST_LINE( Transform( dt, "@E" ) , "31.12.1987" ) - TEST_LINE( Transform(-12345.00, "@(") , "( 12345.00)") - TEST_LINE( Transform(-12345.00, "@)") , " (12345.00)") - TEST_LINE( Transform(-123456789.00, "@(") , "(123456789.00)") - TEST_LINE( Transform(-123456789.00, "@)") , "(123456789.00)") - TEST_LINE( Transform(-1234567890, "@(") , "( 1234567890)") - TEST_LINE( Transform(-1234567890, "@)") , " (1234567890)") - TEST_LINE( Transform(-12345, "@( [999999]") , "( 12345])") - TEST_LINE( Transform(-12345, "@) [999999]") , "[(12345])") - TEST_LINE( Transform(-12345, "@( $999999") , "( 12345)") - TEST_LINE( Transform(-12345, "@) $999999") , "$(12345)") - TEST_LINE( Transform(-12345, "@( #999999") , "( 12345)") - TEST_LINE( Transform(-12345, "@) #999999") , " (12345)") - TEST_LINE( Transform(-12345, "@( $99999") , "(12345)") - TEST_LINE( Transform(-12345, "@) $99999") , "(12345)") - TEST_LINE( Transform(-12345, "@( #99999") , "(12345)") - TEST_LINE( Transform(-12345, "@) #99999") , "(12345)") - TEST_LINE( Transform(-12345, "@( 6798^999") , "(7*8^***)") - TEST_LINE( Transform(-12345, "@( 9798^9999") , "(718^2345)") + TEST_LINE( Transform( -5, "@(Z $###,##9.99" ) , "( 5.00)" ) + TEST_LINE( Transform( -10, "@)Z $###,##9.99" ) , "$ (10.00)" ) + TEST_LINE( Transform( -20, "@Z $###,##9.99" ) , "$ -20.00" ) + TEST_LINE( Transform( 100, "9999." ) , " 100." ) + TEST_LINE( Transform( 1.1, "@B!99.99" ) , "1.1 " ) + TEST_LINE( Transform( 12.345, "@R 99/99" ) , " /12" ) + TEST_LINE( Transform( "1234567890", "@9" ) , "1234567890" ) + TEST_LINE( Transform( 1234567890, "@9" ) , " 1234567890" ) + TEST_LINE( Transform( 1234, "9 999" ) , "1 234" ) + TEST_LINE( Transform( 123.123456, "999.99.99.99" ) , "123.12.45. " ) + TEST_LINE( Transform( 123.123456, "$$$.$$.$$.$$" ) , "123.12.45. " ) + TEST_LINE( Transform( 123.123456, "***.**.**.**" ) , "123.12.45. " ) + TEST_LINE( Transform( 99999, "9.999" ) , "*.***" ) + TEST_LINE( Transform( 99, "*.***" ) , "*.***" ) + TEST_LINE( Transform( 12345, "9999." ) , "****." ) - TEST_LINE( Transform( 134.24, "@E99,999.99") , " 134,24" ) - TEST_LINE( Transform( -134.24, "@E99,999.99") , " -134,24" ) - TEST_LINE( Transform(0.80,".9999") , ".8000") - TEST_LINE( Transform(-0.80,".9999") , ".****") - TEST_LINE( Transform(12345.123, "@X99") , " 12345.123") - TEST_LINE( Transform(-12345.123, "@X99") , " 12345.123 DB") - TEST_LINE( Transform( 123456.78, "@E" ) , " 123456,78") - TEST_LINE( Transform(0,"@C 9.99") , "0.00") - TEST_LINE( Transform(1.1,"@B!99.99") , "1.1 ") - TEST_LINE( Transform(-12345, "@) [999999]") , "[(12345])") - TEST_LINE( Transform(-12345, "@) $999999") , "$(12345)") - TEST_LINE( Transform(-12345, "@) *999999") , "*(12345)") - TEST_LINE( Transform(-12345, "@) #999999") , " (12345)") - TEST_LINE( Transform(-12345, "@) *9$9*999]") , "*($12345])") - TEST_LINE( Transform(-12345, "@) *999*999]") , "* (12345])") - TEST_LINE( Transform(-12345, "@) 0999*999]") , "0 (12345])") - TEST_LINE( Transform(-12345, "@) 1999*999]") , "1 (12345])") - TEST_LINE( Transform(-12345, "@) *[99*999]") , "([ 12345])") - TEST_LINE( Transform(-12345, "@) *****999]") , "(**12345])") - TEST_LINE( Transform(-12345, "@) *1***999]") , "(1*12345])") - TEST_LINE( Transform(-12345, "@) * 999999]") , "* (12345])") - TEST_LINE( Transform( -5, "@(Z $###,##9.99") , "( 5.00)" ) - TEST_LINE( Transform( -10, "@)Z $###,##9.99") , "$ (10.00)" ) - TEST_LINE( Transform( -5, "@(Z $999,999.99") , "( 5.00)" ) - TEST_LINE( Transform( -10, "@)Z $999,999.99") , "$ (10.00)" ) - TEST_LINE( Transform( -5, "@(Z 999,999.99") , "( 5.00)" ) - TEST_LINE( Transform( -10, "@)Z 999,999.99") , " (10.00)" ) - TEST_LINE( Transform( -20, "@Z $###,##9.99") , "$ -20.00" ) - TEST_LINE( Transform(0.1,".9") , ".1") - TEST_LINE( Transform(0.0,".9") , ".0") - TEST_LINE( Transform(1,".9") , ".*") - TEST_LINE( Transform(.456,".9") , ".5") - TEST_LINE( Transform(123,"99.-") , "**.-") + TEST_LINE( Transform( -12345.00, "@(" ) , "( 12345.00)" ) + TEST_LINE( Transform( -12345.00, "@)" ) , " (12345.00)" ) + TEST_LINE( Transform(-123456789.00, "@(" ) , "(123456789.00)" ) + TEST_LINE( Transform(-123456789.00, "@)" ) , "(123456789.00)" ) + TEST_LINE( Transform( -1234567890, "@(" ) , "( 1234567890)" ) + TEST_LINE( Transform( -1234567890, "@)" ) , " (1234567890)" ) + TEST_LINE( Transform( -12345, "@( [999999]" ) , "( 12345])" ) + TEST_LINE( Transform( -12345, "@) [999999]" ) , "[(12345])" ) + TEST_LINE( Transform( -12345, "@( $999999" ) , "( 12345)" ) + TEST_LINE( Transform( -12345, "@) $999999" ) , "$(12345)" ) + TEST_LINE( Transform( -12345, "@( #999999" ) , "( 12345)" ) + TEST_LINE( Transform( -12345, "@) #999999" ) , " (12345)" ) + TEST_LINE( Transform( -12345, "@( $99999" ) , "(12345)" ) + TEST_LINE( Transform( -12345, "@) $99999" ) , "(12345)" ) + TEST_LINE( Transform( -12345, "@( #99999" ) , "(12345)" ) + TEST_LINE( Transform( -12345, "@) #99999" ) , "(12345)" ) + TEST_LINE( Transform( -12345, "@( 6798^999" ) , "(7*8^***)" ) + TEST_LINE( Transform( -12345, "@( 9798^9999" ) , "(718^2345)" ) - TEST_LINE( Transform(-123.45,"999,999.99") , " -123.45") - TEST_LINE( Transform(-123456.78,"999,999,999.99") , " -123,456.78") - TEST_LINE( Transform(-123456.78,"$$$,$$$,$$$.$$") , "$$ -123,456.78") - TEST_LINE( Transform(-123456.78,"***,***,***.**") , "***-123,456.78") - TEST_LINE( Transform(123456.78,"@E 888,$$$,$$$.$$") , "888.123.456,78") - TEST_LINE( Transform(123456.78,"@E 888x,$$$,$$$.$$") , "888xx123.456,78") - TEST_LINE( Transform(123456.78,"@E 888x,,$$$,$$$.$$") , "888xxx123.456,78") - TEST_LINE( Transform(123456.78,"@E 8,88x,,$$$,$$$.$$") , "8.88xxx123.456,78") - TEST_LINE( Transform(123456.78,"@E 8,88x,,$$$,,$$$.$$") , "8.88xxx123..456,78") - TEST_LINE( Transform(123456.78,"@E 8,88x,,$$$,,$$$.$$77,7") , "8.88xxx123..456,7877,7") - TEST_LINE( Transform(123456,"@E 8,88x,,$$$,,$$$77,7") , "8.88xxx123..45677,7") - TEST_LINE( Transform(123456,"@E -,999,999") , " -123.456") - TEST_LINE( Transform(12345,"@E -,999,999") , " - 12.345") - TEST_LINE( Transform(12345,"@E -,|999,999") , " -| 12.345") - TEST_LINE( Transform(12345,"@E ^-,|999,999") , "^^-| 12.345") - TEST_LINE( Transform(12345,"@E 1-,|999,999") , "11-| 12.345") - TEST_LINE( Transform(12345,"@E |--,|999,999") , "|---| 12.345") + TEST_LINE( Transform( 134.24, "@E99,999.99" ) , " 134,24" ) + TEST_LINE( Transform( -134.24, "@E99,999.99" ) , " -134,24" ) + TEST_LINE( Transform( 0.80, ".9999" ) , ".8000" ) + TEST_LINE( Transform( -0.80, ".9999" ) , ".****" ) + TEST_LINE( Transform( 12345.123, "@X99" ) , " 12345.123" ) + TEST_LINE( Transform( -12345.123, "@X99" ) , " 12345.123 DB" ) + TEST_LINE( Transform( 123456.78, "@E" ) , " 123456,78" ) + TEST_LINE( Transform( 0, "@C 9.99" ) , "0.00" ) + TEST_LINE( Transform( 1.1, "@B!99.99" ) , "1.1 " ) + TEST_LINE( Transform( -12345, "@) [999999]" ) , "[(12345])" ) + TEST_LINE( Transform( -12345, "@) $999999" ) , "$(12345)" ) + TEST_LINE( Transform( -12345, "@) *999999" ) , "*(12345)" ) + TEST_LINE( Transform( -12345, "@) #999999" ) , " (12345)" ) + TEST_LINE( Transform( -12345, "@) *9$9*999]" ) , "*($12345])" ) + TEST_LINE( Transform( -12345, "@) *999*999]" ) , "* (12345])" ) + TEST_LINE( Transform( -12345, "@) 0999*999]" ) , "0 (12345])" ) + TEST_LINE( Transform( -12345, "@) 1999*999]" ) , "1 (12345])" ) + TEST_LINE( Transform( -12345, "@) *[99*999]" ) , "([ 12345])" ) + TEST_LINE( Transform( -12345, "@) *****999]" ) , "(**12345])" ) + TEST_LINE( Transform( -12345, "@) *1***999]" ) , "(1*12345])" ) + TEST_LINE( Transform( -12345, "@) * 999999]" ) , "* (12345])" ) + TEST_LINE( Transform( -5, "@(Z $###,##9.99" ) , "( 5.00)" ) + TEST_LINE( Transform( -10, "@)Z $###,##9.99" ) , "$ (10.00)" ) + TEST_LINE( Transform( -5, "@(Z $999,999.99" ) , "( 5.00)" ) + TEST_LINE( Transform( -10, "@)Z $999,999.99" ) , "$ (10.00)" ) + TEST_LINE( Transform( -5, "@(Z 999,999.99" ) , "( 5.00)" ) + TEST_LINE( Transform( -10, "@)Z 999,999.99" ) , " (10.00)" ) + TEST_LINE( Transform( -20, "@Z $###,##9.99" ) , "$ -20.00" ) + TEST_LINE( Transform( 0.1, ".9" ) , ".1" ) + TEST_LINE( Transform( 0.0, ".9" ) , ".0" ) + TEST_LINE( Transform( 1, ".9" ) , ".*" ) + TEST_LINE( Transform( .456, ".9" ) , ".5" ) + TEST_LINE( Transform( 123, "99.-" ) , "**.-" ) - TEST_LINE( Transform(12.34,"@E 99'99") , " '12") - TEST_LINE( Transform(12.34,"99,99,11") , " 12,11") - TEST_LINE( Transform(12.34,"@E 99,99,11") , " 12,11") - TEST_LINE( Transform(12.34,"@E 99,") , "12,") - TEST_LINE( Transform(12.34,"@E 9,9") , "1.2") - TEST_LINE( Transform(12.34,"@E ab,cd.ef9,9.99,.--") , "abbcd,ef***,* ,.--") - TEST_LINE( Transform(12.34,"@E ab,cd,ef9,9.99,.--") , "abbcddef1.2,34,.--") - TEST_LINE( Transform(12.34,"@E ,ab,cd,ef9,9.99,.--") , ",abbcddef1.2,34,.--") - TEST_LINE( Transform(12.34,"@E ,,,,99,.99,.--") , ",,,,12.,34,.--") - TEST_LINE( Transform(124.4,"@E ,,,,9,9.99,.--") , ",,,,***,**,.--") - TEST_LINE( Transform( 1.2,"@E ,,,,*,*.**,.--") , ",,,,**1,20,.--") - TEST_LINE( Transform(12.34,"@E ,,,,*,*.**,.--") , ",,,,1.2,34,.--") - TEST_LINE( Transform(12.34,"@E ,,,,*,*.**,.--,--") , ",,,,1.2,34,.--,--") - TEST_LINE( Transform(12.34,"@E ,,,,*,*,.,**") , ",,,,1.2.,,34") - TEST_LINE( Transform(12.34,",,,,*,*,.,**") , ",,,,1,2,..34") - TEST_LINE( Transform(12.34,",,,,*,*,.,*|,*") , ",,,,1,2,..3||4") - TEST_LINE( Transform(12.34,",,,,*,*,.,*,*") , ",,,,1,2,..3,4") - TEST_LINE( Transform(123.345678912,"@E 999.99.99,99.99.") , "123,34,67.89, .") + TEST_LINE( Transform( -123.45, "999,999.99" ) , " -123.45" ) + TEST_LINE( Transform( -123456.78, "999,999,999.99" ) , " -123,456.78" ) + TEST_LINE( Transform( -123456.78, "$$$,$$$,$$$.$$" ) , "$$ -123,456.78" ) + TEST_LINE( Transform( -123456.78, "***,***,***.**" ) , "***-123,456.78" ) + TEST_LINE( Transform( 123456.78, "@E 888,$$$,$$$.$$" ) , "888.123.456,78" ) + TEST_LINE( Transform( 123456.78, "@E 888x,$$$,$$$.$$" ) , "888xx123.456,78" ) + TEST_LINE( Transform( 123456.78, "@E 888x,,$$$,$$$.$$" ) , "888xxx123.456,78" ) + TEST_LINE( Transform( 123456.78, "@E 8,88x,,$$$,$$$.$$" ) , "8.88xxx123.456,78" ) + TEST_LINE( Transform( 123456.78, "@E 8,88x,,$$$,,$$$.$$" ) , "8.88xxx123..456,78" ) + TEST_LINE( Transform( 123456.78, "@E 8,88x,,$$$,,$$$.$$77,7") , "8.88xxx123..456,7877,7" ) + TEST_LINE( Transform( 123456, "@E 8,88x,,$$$,,$$$77,7" ) , "8.88xxx123..45677,7" ) + TEST_LINE( Transform( 123456, "@E -,999,999" ) , " -123.456" ) + TEST_LINE( Transform( 12345, "@E -,999,999" ) , " - 12.345" ) + TEST_LINE( Transform( 12345, "@E -,|999,999" ) , " -| 12.345" ) + TEST_LINE( Transform( 12345, "@E ^-,|999,999" ) , "^^-| 12.345" ) + TEST_LINE( Transform( 12345, "@E 1-,|999,999" ) , "11-| 12.345" ) + TEST_LINE( Transform( 12345, "@E |--,|999,999" ) , "|---| 12.345" ) + + TEST_LINE( Transform( 12.34, "@E 99'99" ) , " '12" ) + TEST_LINE( Transform( 12.34, "99,99,11" ) , " 12,11" ) + TEST_LINE( Transform( 12.34, "@E 99,99,11" ) , " 12,11" ) + TEST_LINE( Transform( 12.34, "@E 99," ) , "12," ) + TEST_LINE( Transform( 12.34, "@E 9,9" ) , "1.2" ) + TEST_LINE( Transform( 12.34, "@E ab,cd.ef9,9.99,.--" ) , "abbcd,ef***,* ,.--" ) + TEST_LINE( Transform( 12.34, "@E ab,cd,ef9,9.99,.--" ) , "abbcddef1.2,34,.--" ) + TEST_LINE( Transform( 12.34, "@E ,ab,cd,ef9,9.99,.--" ) , ",abbcddef1.2,34,.--" ) + TEST_LINE( Transform( 12.34, "@E ,,,,99,.99,.--" ) , ",,,,12.,34,.--" ) + TEST_LINE( Transform( 124.4, "@E ,,,,9,9.99,.--" ) , ",,,,***,**,.--" ) + TEST_LINE( Transform( 1.2, "@E ,,,,*,*.**,.--" ) , ",,,,**1,20,.--" ) + TEST_LINE( Transform( 12.34, "@E ,,,,*,*.**,.--" ) , ",,,,1.2,34,.--" ) + TEST_LINE( Transform( 12.34, "@E ,,,,*,*.**,.--,--" ) , ",,,,1.2,34,.--,--" ) + TEST_LINE( Transform( 12.34, "@E ,,,,*,*,.,**" ) , ",,,,1.2.,,34" ) + TEST_LINE( Transform( 12.34, ",,,,*,*,.,**" ) , ",,,,1,2,..34" ) + TEST_LINE( Transform( 12.34, ",,,,*,*,.,*|,*" ) , ",,,,1,2,..3||4" ) + TEST_LINE( Transform( 12.34, ",,,,*,*,.,*,*" ) , ",,,,1,2,..3,4" ) + TEST_LINE( Transform(123.345678912, "@E 999.99.99,99.99." ) , "123,34,67.89, ." ) #ifdef __HARBOUR__ - TEST_LINE( Transform( 1234567890123456789, "99999999999999999999") , " 1234567890123456789" ) - TEST_LINE( Transform( -1234567890123456789, "99999999999999999999") , "-1234567890123456789" ) + TEST_LINE( Transform( 1234567890123456789, "99999999999999999999" ) , " 1234567890123456789" ) + TEST_LINE( Transform( -1234567890123456789, "99999999999999999999" ) , "-1234567890123456789" ) #else - TEST_LINE( Transform( 1234567890123456789, "99999999999999999999") , " 1234567890123457000" ) - TEST_LINE( Transform( -1234567890123456789, "99999999999999999999") , "-1234567890123457000" ) + TEST_LINE( Transform( 1234567890123456789, "99999999999999999999" ) , " 1234567890123457000" ) + TEST_LINE( Transform( -1234567890123456789, "99999999999999999999" ) , "-1234567890123457000" ) #endif - set(_SET_DATEFORMAT,"YYYY/MM/DD") - TEST_LINE( Transform(12345678,"@D") , "1234/56/78") - set(_SET_DATEFORMAT,"YYYY.MM.DD") - TEST_LINE( Transform(1234.56789,"@D") , "1234.56.9 ") - set(_SET_DATEFORMAT,"YYYY.MM:DD") - TEST_LINE( Transform(1234.56789,"@D"), "1234.56:79") - TEST_LINE( Transform(123.345678912,"@D ") , " 123.34:57") - set(_SET_DATEFORMAT,cOldDate) + SET( _SET_DATEFORMAT, "YYYY/MM/DD" ) + TEST_LINE( Transform( 12345678, "@D" ), "1234/56/78" ) + SET( _SET_DATEFORMAT, "YYYY.MM.DD" ) + TEST_LINE( Transform( 1234.56789, "@D" ), "1234.56.9 " ) + SET( _SET_DATEFORMAT, "YYYY.MM:DD" ) + TEST_LINE( Transform( 1234.56789, "@D" ), "1234.56:79" ) + TEST_LINE( Transform( 123.345678912, "@D" ), " 123.34:57" ) - TEST_LINE( Transform(.t.,"@RE <|,yY#lL,|>") , "99-99-9999T") - TEST_LINE( Transform(.f.,"@RE <|,yY#lL,|>") , "99-99-9999F") - TEST_LINE( Transform(.t.,"@RD <|,yY#lL,|>") , "99-99-9999T") - TEST_LINE( Transform(.f.,"@RD <|,yY#lL,|>") , "99-99-9999F") - TEST_LINE( Transform(.f.,"@DE <|,yY#lL,|>") , "9") - TEST_LINE( Transform("abcdefghij","@S15! ") , "") - TEST_LINE( Transform("abcdefghij","@S0! ") , "") - TEST_LINE( Transform("abcdefghij","@S5! ") , "" ) , "99-99-9999T" ) + TEST_LINE( Transform( .f., "@RE <|,yY#lL,|>" ) , "99-99-9999F" ) + TEST_LINE( Transform( .t., "@RD <|,yY#lL,|>" ) , "99-99-9999T" ) + TEST_LINE( Transform( .f., "@RD <|,yY#lL,|>" ) , "99-99-9999F" ) + TEST_LINE( Transform( .f., "@DE <|,yY#lL,|>" ) , "9" ) - set fixed on - TEST_LINE( Transform( 1234, ) , " 1234" ) - TEST_LINE( Transform( 1234, "" ) , " 1234" ) - TEST_LINE( Transform( 1234, "@" ), " 1234" ) - TEST_LINE( Transform( 1234, "@!"), " 1234" ) - TEST_LINE( Transform( -1234, ), " -1234" ) - TEST_LINE( Transform( -1234, "@" ), " -1234" ) + TEST_LINE( Transform( "abcdefghij", "@S15! " ) , "" ) + TEST_LINE( Transform( "abcdefghij", "@S0! " ) , "" ) + TEST_LINE( Transform( "abcdefghij", "@S5! " ) , "