Ir para conteúdo
  • Cadastre-se

dev botao

Como tratar virgula na string da ESCPOS


  • Este tópico foi criado há 2843 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá, 

Boa tarde.

Estou utilizando uma impressora DARUMA DR700 (porta serial) no componente ESCPOS para imprimir um cupom não fiscal.

A impressão é abortada quando se encontra uma virgula dentro da string.

Segue o valor da string:

</zera></linha_simples>
</zera></ce>CUPOM NÃO FISCAL</lf>
</zera></ae></fn></linha_simples>
Cliente:EUSTAQUIO MAURICIO GONTIJO</lf>
Endereço:RUA JOSINA MARCIANO</lf>
Condição:60 dias</lf>
Vendedor:ACCACIO FERREIRA DA SILVA</lf>
</linha_dupla>
Produto</lf>
Qtde          R$Unit.                R$Total</lf>
</linha_dupla>
</lf>COLCHA CASAL CETIM ALEGRA 1 BABADO</lf>
15,00000   R$43,00000   R$645,00000</lf>
COLCHA CASAL CETIM FLORENCE 1 BABADO</lf>
15,00000   R$43,00000   R$645,00000</lf>
COLCHA CASAL OXFORD CORACAO INGLES 1B</lf>
15,00000   R$43,00000   R$645,00000</lf>
COLCHA CASAL CETIM EXUBERANTE</lf>
15,00000   R$43,00000   R$645,00000</lf>
</zera></ad>Total Produtos R$:2.580,00</lf>
Desconto (%):0,000     R$0,00</lf>
TOTAL CUPOM R%:2.580,00</lf>
</lf>
</lf>
</zera></ae></fn>Ass.:________________________________________</lf>
</lf>
</lf>
</fn>O SENHOR E MEU PASTOR, NADA ME FALTARA...SL 23</lf>
</lf>
</lf>
</fn>Methodus Tecnologia e Sistemas </lf>
</lf>
</lf>
</corte_parcial>

A impressão é abortada logo após o número 15 da linha em negrito acima.

Link para o comentário
Compartilhar em outros sites

Eu estou passando da seguinte forma.

assim carrego a string:

            sComando = "</zera></linha_simples>";
            sComando += "</zera></ce>CUPOM NÃO FISCAL</lf>";
            sComando += "</zera></ae></fn></linha_simples>";
            sComando += "Emissão:" + txt_Data_Emissao.Value.ToString() + "Orçamento:" + ntxt_ID_Mov_Estoque.Text + "</lf>";
            sComando += "</linha_simples>";
            sComando += "Cliente : " + parceiro.Parceiro + "</lf>";
            sComando += "Endereço: " + parceiro.Endereco + "</lf>";
            sComando += "Condição: " + cbo_Condicao.Text + "</lf>";
            sComando += "Vendedor: " + cbo_Vendedor.Text + "</lf>";
            sComando += "</linha_dupla>";
            sComando += "<n><i>Produto</lf>";
            sComando += "Qtde          R$Unit.                R$Total</n></i></lf>";
            sComando += "</linha_dupla>";
            for (int i = 0; i < (dg_Produtos.RowCount); i++)
            {
               
                sComando += dg_Produtos.Rows.Cells["Nome_Produto"].Value + "</lf>";
                sComando += String.Format("{0:#,##0.00}", dg_Produtos.Rows.Cells["Quantidade"].Value).Replace(",",".");
                sComando += "         R$" + String.Format("{0:#,##0.00}", dg_Produtos.Rows.Cells["Preco_Unitario"].Value).Replace(",", ".");
                sComando += "         R$" + String.Format("{0:#,##0.00}", dg_Produtos.Rows.Cells["TTProduto"].Value).Replace(",", ".");
                sComando += "</lf>";
                sComando += "</linha_simples>";
            }
            sComando += "</zera></ad><n>Total Produtos R$:" + ctxt_Sub_Total.Text.Replace(",", ".") + "</lf>";
            sComando += "Desconto (%):" + ntxt_DescontoP.Text.Replace(",", ".") + "     R$" + ctxt_DescontoV.Text.Replace(",", ".") + "</lf>";
            sComando += "TOTAL CUPOM R$:" + ctxt_Total_Geral.Text.Replace(",", ".") + "</n></lf></lf></lf></lf>";
            sComando += "</zera></ae></fn>Ass.:________________________________________</lf></lf></lf>";
            sComando += "</linha_simples>";
            sComando += "</fn><c><i>" + empresa.Mensagem + "</lf></lf></lf>";
            sComando += "</linha_simples>";
            sComando += "</fn>Methodus Tecnologia e Sistemas 32-98847-3655</i></c></lf>";
            sComando += "</linha_simples>";
            sComando += "</corte_parcial>";
 

o comando para o componente eu passo assim:

sRet = NG_Globais.Envia_Comando_Acbr("ESCPOS.imprimir(" + sComando + ")");

Como teste eu usei o Replace()para substituir a virgula por ponto, e funcionou, mas para números na casa dos milhares vai ficar estranho.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2843 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.