BEMATECH MP20-MI ALINHAR ITENS UPGRADE

MARCELOZ 16/12/2010 11:09:42
#359664
Carissimos
Não estou conseguindo alinhar os itens na Bematech 20MI
meu código esta assim!
If vModeloImpressoraImp = [Ô]MP20-MI[Ô] Then

If vAcaoImp = 1 Then

sBuffer = [Ô] [Ô] & vMinhaEmpresa + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)
sBuffer = [Ô] [Ô] & Format(Date, [Ô]dd/mm/yyyy[Ô]) + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)

If iRetorno = 0 Then

MsgBox [Ô]Problemas na impressão do texto.[Ô] + Chr(10) + [Ô]Possíveis causas: Impressora desligada, off-line ou sem papel[Ô], vbInformation + vbOKOnly

End If

Exit Sub

ElseIf vAcaoImp = 2 Then

sBuffer = RowCountGrid2 & [Ô] [Ô] & _
GridProd(RowCountGrid2).vDescricao & [Ô] [Ô] & _
GridProd(RowCountGrid2).vTipoQuantidade & [Ô] [Ô] & _
GridProd(RowCountGrid2).vQuantidade & [Ô] [Ô] & _
GridProd(RowCountGrid2).vValorUnitario + Chr(13) + Chr(10)

iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)

If iRetorno = 0 Then

MsgBox [Ô]Problemas na impressão do texto.[Ô] + Chr(10) + [Ô]Possíveis causas: Impressora desligada, off-line ou sem papel[Ô], vbInformation + vbOKOnly
Exit Sub

End If

ElseIf vAcaoImp = 3 Then

sBuffer = [Ô]Total Geral: R$ [Ô] & vTotalGeral + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)
sBuffer = [Ô]Troco: R$ [Ô] & vTroco + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)
sBuffer = [Ô]-----------------------[Ô] + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)

[ô]sBuffer = vMP20MensagemRodapeCupom & vCodigoPainelImp + Chr(13) + Chr(10)
sBuffer = [Ô]Pedido n°: [Ô] & vNumeroPedidoPainel2 + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)
sBuffer = vMP20MensagemRodapeCupom + Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)
sBuffer = Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)

Dim R As Integer

For R = 1 To vMP20PularLinhas

sBuffer = Chr(13) + Chr(10)
iRetorno = FormataTX(sBuffer, 3, 0, 0, 0, 0)

Next

If iRetorno = 0 Then

MsgBox [Ô]Problemas na impressão do texto.[Ô] + Chr(10) + [Ô]Possíveis causas: Impressora desligada, off-line ou sem papel[Ô], vbInformation + vbOKOnly
Exit Sub

End If

End If

End If

o comprovante impresso esta em anexo
eu gostaria de alinhar os numero valores

como que eu faço?
obrigado
TECLA 22/12/2010 21:15:24
#360259
Posta uma imagem da saída na impressora.
MARCELOZ 09/01/2011 11:58:24
#361666
alguem pode me auxiliar?
EMANUEL 09/01/2011 14:11:33
#361671
Amigo,

Para alinhar eu utilizo a funcao LEN, e MID tipo:

Verifico o tamanho da descricao, e defino um tamnho padrao, tipo: Se a descricao for menor que 20 caractreres, eu adiciono espacos ate completar 20 ou mais, e na impressao, eu pego atraves do MID(descricao,1,20), entao toda a descricao vai ter o tamanho 20.

A mesma coisa eu faco para o Valor do item, ou seja, usando o LEN,
pq vai contecer do precos ser, 2,50 ou 2,00, ou 10,90

entao vc checa o tamnho do item e conforme o taamnho, vc da um espaco a mais ou a menos, para ficar alinhado.
2,50
2,00
10,50

bem, espero ter ajudado.. e qualquer coisa, estamos ai.
MARCELOZ 11/01/2011 21:36:27
#361939
Cara, sem querer abusar
tem como você escrever um exemplo ai da aplicação dessas funções LEN e MID
obrigado duplamente
MITOWORLD 08/06/2011 13:21:27
#376171
Boa tarde!!

Estou com o mesmo problema com a impressora mp 20 mi, não consigo alinhar os campos em baixo de campos. Tentei alinhar usando o Len e MID, porem sem sucesso, alguém poderia me ajuda, abaixo o codigo fonte:

ElseIf vAcaoImp = 2 Then

sBuffer = RowCountGrid2 & [Ô] [Ô] & _
Mid(GridProd(RowCountGrid2).vDescricao, 1, 20) & [Ô] [Ô] & _
GridProd(RowCountGrid2).vTipoQuantidade & [Ô] [Ô] & _
GridProd(RowCountGrid2).vQuantidade & [Ô] [Ô] & _
GridProd(RowCountGrid2).vValorUnitario + Chr(13) + Chr(10)
Tópico encerrado , respostas não são mais permitidas