FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Bug in Harbour Descend()
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Bug in Harbour Descend()
Posted: Wed Oct 19, 2022 12:40 PM
For me run OK

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Bug in Harbour Descend()
Posted: Wed Oct 19, 2022 01:18 PM
Code (fw): Select all Collapse
#include "Fivewin.ch"

REQUEST HB_LANG_IT
REQUEST HB_CODEPAGE_ITWIN, HB_CODEPAGE_IT850

FUNCTION MAIN()

   LOCAL cFile

   HB_CDPSELECT( "IT850" )
   HB_LANGSELECT( "IT" )

   HB_SETTERMCP( "ITWIN", "ITWIN", .T. )

   HB_CDPSELECT( "UTF8" )
   HB_SETCODEPAGE( "UTF8" )

   IF FILE( "ENRICO.txt" )

      ERASE "ENRICO.txt"

   ENDIF

   // MEMOWRIT( "ENRICO.txt", HB_OemToAnsi( "àèéìòù" ) )

   MEMOWRIT( "ENRICO.txt", "àèéìòù" )

   cFile := "ENRICO.txt"

   WinExec( "Notepad.exe " + cFile )

RETURN NIL

// fin / end


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Bug in Harbour Descend()
Posted: Wed Oct 19, 2022 02:17 PM
cnavarro wrote:For me run OK


Code (fw): Select all Collapse
#include "Fivewin.ch"


FUNCTION MAIN()

    HB_SETCODEPAGE( "UTF8" )

    ? HB_MEMOWRIT( "àèéìòù.txt", "àèéìòù" )

    RETURN NIL


Result: .F., and no file written. :-)
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Bug in Harbour Descend()
Posted: Wed Oct 19, 2022 02:20 PM
karinha wrote:
Code (fw): Select all Collapse
MEMOWRIT( "ENRICO.txt", "àèéìòù" )


It doesn't work with this:

Code (fw): Select all Collapse
MEMOWRIT( "àèéìòù.txt", "àèéìòù" )
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Bug in Harbour Descend()
Posted: Wed Oct 19, 2022 05:21 PM
A workaroud that seems to work fine:

Code (fw): Select all Collapse
#include "Fivewin.ch"


REQUEST HB_CODEPAGE_ITWIN

#xtranslate DESCEND( STR( <nVal>[, <nLen>][, <nDec>] ) ) => Str( 999999999999999 - <nVal> )
#xtranslate DESCEND( DTOS( <dVal> ) ) => Str( Descend( <dVal> ) )


FUNCTION MAIN()

    LOCAL aData[ 8 ]

    LOCAL i

    HB_SETCODEPAGE( "ITWIN" )

    aData[ 1 ] = { "TEST1", 3107.77 }
    aData[ 2 ] = { "TEST2", 852.07 }
    aData[ 3 ] = { "TEST3", 191.00 }
    aData[ 4 ] = { "TEST4", 148.68 }
    aData[ 5 ] = { "TEST5", 44.73 }
    aData[ 6 ] = { "TEST6", 15.24 }
    aData[ 7 ] = { "TEST7", 255.65 }
    aData[ 8 ] = { "TEST8", 44.88 }

    ASORT( aData, , , { | aItem1, aItem2 | Descend( Str( aItem1[ 2 ], 10, 2 ) ) + aItem1[ 1 ] < Descend( Str( aItem2[ 2 ], 10, 2 ) ) + aItem2[ 1 ] } )

    FOR i = 1 TO LEN( aData )
        ? aData[ i, 1 ], aData[ i, 2 ]
    NEXT

    ? MEMOWRIT( "àèéìòù.txt", "àèéìòù" )

    RETURN NIL

Continue the discussion