Moderador: Moderadores
Vale a pena abandonar o tradicional ANSI ?
hb_StrToUtf8( sData, sCodepageIN )
Translates sData from a codepage sCodepageIN to utf8
hb_Utf8ToStr( sData, sCodepageOUT )
Translates sData from utf8 to a sCodepageOUT codepage
Kapiaba, dá um erro de execução: "Argument Error". Já tinha tentado algo assim de um exemplo e deu também.
REQUEST HB_CODEPAGE_UTF8EX, HB_CODEPAGE_PT850, HB_CODEPAGE_PTISO, HB_LANG_PT
hb_cdpSelect( "UTF8EX" )
STATIC FUNCTION Carregar_Nomes()
LOCAL wData1 := Frm_RemessaCCN.DatePicker_1.Value
DBSELECTAR("CLIENTES")
IF ! DBSEEK(DTOS(wData1))
WHILE ! EOF()
IF DATACAD >= wData1
EXIT
ENDIF
DBSKIP()
END
ENDIF
WHILE ! EOF()
IF DATACAD == wData1
hb_cdpSelect( "PTISO" )
HB_LangSelect( "PT" )
msginfo('entrou: '+CLIENTES->NOME)
cNome := HB_StrToUTF8(CLIENTES->NOME, "PT")
msginfo('virou: '+cnome)
Frm_RemessaCCN.Grid_2.AddItem( { CLIENTES->MATRIC, ; // 1
cNome, ; // 2
CLIENTES->CPF } ) // 3
hb_cdpSelect( "UTF8EX" )
ENDIF
DBSKIP()
END
RETURN NIL
IF DATACAD == wData1
hb_cdpSelect( "PTISO" )
HB_LangSelect( "PT" )
msginfo('entrou: '+CLIENTES->NOME)
cNome := HB_StrToUTF8(CLIENTES->NOME, "PT")
msginfo('virou: '+cnome)
Frm_RemessaCCN.Grid_2.AddItem( { CLIENTES->MATRIC, ; // 1
cNome, ; // 2
CLIENTES->CPF } ) // 3
hb_cdpSelect( "UTF8EX" )
ENDIF
IF DATACAD == wData1
//hb_cdpSelect( "PTISO" )
//HB_LangSelect( "PT" )
msginfo('entrou: '+CLIENTES->NOME)
cNome := HB_StrToUTF8(CLIENTES->NOME, "PT850") // <<<==== Mude para PT850 a CodePage aqui
msginfo('virou: '+cnome)
Frm_RemessaCCN.Grid_2.AddItem( { CLIENTES->MATRIC, ; // 1
cNome, ; // 2
CLIENTES->CPF } ) // 3
//hb_cdpSelect( "UTF8EX" )
ENDIF
WHILE ! EOF()
// Cliente sem CPF não será enviado, pois será rejeitado //
//IF EMPT(ALLTRIM(CLIENTES->CPF))
// DBSKIP()
// LOOP
//ENDIF
////
IF DATACAD == wData1
//hb_cdpSelect( "PTISO" )
//HB_LangSelect( "PT" )
msginfo('entrou: '+CLIENTES->NOME)
cNome := HB_StrToUTF8(HB_AnsiToOem(CLIENTES->NOME), "PT850")
msginfo('virou: '+cnome)
Frm_RemessaCCN.Grid_2.AddItem( { CLIENTES->MATRIC, ; // 1
cNome, ; // 2
CLIENTES->CPF } ) // 3
//hb_cdpSelect( "UTF8EX" )
ENDIF
DBSKIP()
END
Itamar M. Lins Jr. escreveu:Vai ficar para traz, pq todo mundo está usando UTF8 até a Microsoft, ninguém usa mais ansi, é tudo UTF8. Essas coisas antigas, só para compatibilidade.
Mas... e como fica no programa, até agora não entendi, no que se refere a apenas usar, ou ter que ficar convertendo toda hora.
hb_cdpSelect( "UTF8EX" )
HB_LangSelect( "PT" )
REQUEST HB_CODEPAGE_UTF8EXEste comando instrui o compilador a carregar as funções da CodePage UTF8EX com suporte a caracteres latinos.
hb_cdpSelect("UTF8EX")Esta função instrui o sistema a usar a CodePage UTF8EX a partir desse ponto em diante no sistema. Até aqui tudo bem, entendido, e nenhuma confusão.
REQUEST HB_LANG_PTEste comando instrui o compilador a carregar as funções de suporte de MENSAGENS INTERNAS DO HARBOUR para o idioma em português.
HB_LangSelect("PT")Esta função define que o sistema ao exibir mensagens internas do Harbour, como as mensagens de erro por exemplo, que sejam apresentadas no idioma português.
Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes