Ola!
Não tem dificuldade, apenas precisamos saber em que CP o texto foi criado.
Código: Selecionar todos
REQUEST HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850
PROCEDURE Main
LOCAL cTexto := ""
set(_SET_CODEPAGE,"PTISO")
? cTexto := "MAÇÃ"
set(_SET_CODEPAGE,"CP437")
? cTexto
set(_SET_CODEPAGE,"UTF8")
? cTexto
set(_SET_CODEPAGE,"CP850")
? cTexto
Inkey(0)
RETURN
Precisamos, se assim desejar converter as letras de origem, para a CP destino. As telas é a mesma coisa até na impressora é assim.
UTF8 é apenas uma PICTURE com mais opções. E tem o UTF8EX(extendido)
Código: Selecionar todos
...
oPrn:CharSet(WIN_OEM_CHARSET) //oPrn:CharSet(255)
...
HB_CDPSelect("PT850")
...
If lMatricial
oPrn:TextoutAt(nCol,,'*---------------------------------------+----------------------------------*',.t.)
oPrn:TextoutAt(nCol,,'| F A T U R A / D U P L I C A T A |Para Uso da Instituicao Financeira|',.t.)
oPrn:TextoutAt(nCol,,'|-----------+------+----------+---------| |',.t.)
...
Else
oPrn:SetPos(nCol)
oPrn:TextoutAt(nCol,,'ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»',.t.)
oPrn:TextoutAt(nCol,,'º F A T U R A / D U P L I C A T A ºPara Uso da Instituicao Financeiraº',.t.)
oPrn:TextoutAt(nCol,,'ÌÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍ͹ º',.t.)
Imprime as linhas duplas as mesmas do clipper, na impressora.
Saudações,
Itamar M. Lins Jr.