PULAR ALGUMAS LINHAS COM O PRINTER.PRINT

WEBIER 06/08/2010 16:16:53
#349651
seguinte, fiz um cupom de venda para ser impresso numa impressora termica nao-fiscal (bematech MP-4000 TH)
ela imprime o cupom e logo apos acabar uma guilhotinha interna da impressora corta o cupom no fim... ai basta pegar e entregar ao cliente

até ai tudo beleza... funcionou redondinho...

ai a dona desse estabecimento, para economizar... comprou uma outra impressora só que sem essa guilhotina... ou seja, quando ela acaba de imprimir o cupom, tenho q apertar o botão para subir o papel até ver ele todo e depois puxar com a mao para a serrilhar corta o papel...e por fim entregar ao cliente

ela quer que quando acabe de imprimir o cupom, o sistema mesmo suba o papel até o ponto certo de destacar o cupom...

ai pensei em colocar na programação para saltar algumas linhas em branco no fim do cupom...

o cupom nao tem tamanho definido... pode ser 1 produto ou 100...

alguem tem alguma outra ideia ou melhor... COMO FAÇO PARA SALTAR UMA LINHA EM BRANCO USANDO O PRINTER ?

vou colocar aqui somente o final do codigo da impressão do cupom:
        Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô])) / 2); [Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô]
Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]Obrigado pela preferência[Ô])) / 2); [Ô]Obrigado pela preferência[Ô]


Close #1
.EndDoc
MOREIRA 06/08/2010 17:13:14
#349663
Resposta escolhida
simples assim...

Print #1, [Ô][Ô]
Print #1, [Ô][Ô]

Pula 2 linhas
WEBIER 06/08/2010 22:26:03
#349685
eu coloquei assim:

        Printer.Print Tab((40 - Len([Ô]Obrigado pela preferência[Ô])) / 2); [Ô]Obrigado pela preferência[Ô]

Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]

Close #1
.EndDoc


e ele tah dar o espaço antes da impressão e nao no final da impressão.

como devo fazer?
MOREIRA 06/08/2010 22:30:32
#349686
Veja como eu uso.............

veja se te ajuda....

Sub Fecha_Cupom()
On Error GoTo Trataerro
Dim Linha As String
Linha = Mid(Linha, 50 - Len(TxtValor_Pago.Text))
Open [Ô]LPT1[Ô] For Output As #1
Print #1, Chr$(27) & Chr(15)
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(5); [Ô]TOTAL A PAGAR[Ô]; Tab(38); Spc(10 - Len(LblValor_Compra.Caption)); LblValor_Compra.Caption
Print #1, Spc(5); LblForma_Pagamento.Caption; Tab(38); Spc(10 - Len(TxtValor_Pago.Text)); TxtValor_Pago.Text
Print #1, Spc(5); [Ô]T R O C O [Ô]; Tab(38); Spc(10 - Len(LblValor_Troco.Caption)); LblValor_Troco.Caption
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Tab(10); [Ô] Obrigado Pela Preferencia[Ô]
Print #1, Spc(4); [Ô] Aqui voce encotra os menores precos da Cidade[Ô]
Print #1, Tab(10); [Ô] Volte Sempre ! [Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô]Sistemas Comerciais (00) 0000-00000::e-mail :wwwwww@wwwww.com[Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Close #1
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema, Impressora Inoperante[Ô]
End Sub
JESUEL.OLIVEIRA 06/08/2010 22:35:08
#349687
Amigo,

eu tive este mesmo problema só que o papel não parava onde eu queria usando printer, passei a usar print tenho o controle total de salto de impressora e tudo mais, pois quando você da um EndDoc ele imprimi o documento gerenciamento do windows pelo print vai via SERIAL ai o negócio fica bom.

tente

  
Printer.Print [Ô] [Ô]
WEBIER 07/08/2010 09:29:38
#349694
pior q sou leigo em PRINT....

como ficaria esse código usando o comando Print:

Private Sub Imprimir_Cupom()
Call ABRIR_BD_SEM_DATA1
SQL_Empresa = [Ô]SELECT TOP 1 * FROM EMPRESA ORDER BY FANTASIA[Ô]
Set Rs_Empresa = BD.OpenRecordset(SQL_Empresa)

Open [Ô]\\balcao    ermica[Ô] For Output As #1
With Printer
.ScaleMode = vbCentimeters
.FontName = [Ô]courier new[Ô]

Fonte 8, False, False
Printer.Print String(40, [Ô]-[Ô])
Fonte 10, True, False
Printer.Print Tab((35 - Len(Rs_Empresa!FANTASIA)) / 2); Rs_Empresa!FANTASIA [ô]Esse /2 é p/ centralizar
Fonte 10, False, False
Printer.Print Tab((35 - Len(Rs_Empresa!RAZAO)) / 2); Rs_Empresa!RAZAO
Fonte 8, False, False
Printer.Print Rs_Empresa!ENDERECO & [Ô], [Ô] & Rs_Empresa!cidade & [Ô]-[Ô] & Rs_Empresa!estado
Printer.Print [Ô]FONE: [Ô]; Rs_Empresa!TELEFONE
Fonte 8, False, False
Printer.Print [Ô]CNPJ:[Ô]; Rs_Empresa!CNPJ & [Ô] IE:[Ô] & Rs_Empresa!IE
Printer.Print [Ô] [Ô]

Fonte 10, True, False
Printer.Print Tab(10); [Ô]CUPOM DE VENDA[Ô]

Fonte 8, False, False
Printer.Print Tab(2); Format(Date, [Ô]dd/mm/yy[Ô]); [Ô] [Ô]; Format(Time, [Ô]hh:mm[Ô]); [Ô] [Ô]; [Ô]CÓD:[Ô]; Format(txtCodPedido.Text, [Ô]000000[Ô])

If txtCodPedido.Text = [Ô][Ô] Then Exit Sub
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM PEDIDOS_ITENS WHERE COD_PEDIDO = [Ô] & txtCodPedido.Text & [Ô] ORDER BY CODIGO DESC[Ô]
Set RS = BD.OpenRecordset(SQL)


Fonte 8, False, False
Printer.Print String(40, [Ô]-[Ô])
Printer.Print Tab(0); [Ô]DESCRIÇÃO[Ô];
Printer.Print Tab(20); [Ô]PREÇO[Ô];
Printer.Print Tab(26); [Ô]QTDE[Ô];
Printer.Print Tab(35); [Ô]TOTAL[Ô]
Printer.Print String(40, [Ô]-[Ô])

RS.MoveFirst [ô]movimenta o ponteiro para o primeiro registro

Do While Not RS.EOF [ô]

[ô]---------------imprime os dados da tabela----------------------------
Printer.Print Tab(0); RS([Ô]DESCRICAO[Ô]);
Printer.Print Tab(19); Format$(Format$(RS([Ô]PRECO[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô]);
Printer.Print Tab(26); Format$(Format$(RS([Ô]QUANTIDADE[Ô]), [Ô]0.000[Ô]), [Ô]@@@@@@@[Ô]);
Printer.Print Tab(33); Format$(Format$(RS([Ô]TOTAL[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô])

RS.MoveNext [ô]vai para o proximo registro

Loop

Printer.Print String(40, [Ô]-[Ô])

Fonte 8, False, False
Printer.Print Tab(0); Tab(20); [Ô]Total: [Ô];

Fonte 10, True, False
Printer.Print Tab(25); Format$(Format$(txtTotalGeral.Text, [Ô]0.00[Ô]), [Ô]@@@@@@@@[Ô])

Printer.Print

Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô])) / 2); [Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô]
Fonte 8, False, False
Printer.Print Tab((40 - Len([Ô]Obrigado pela preferência[Ô])) / 2); [Ô]Obrigado pela preferência[Ô]

Close #1
.EndDoc
End With
End Sub
MOREIRA 07/08/2010 10:56:43
#349695
CARO WEBiER, aí vai meu projeto completo... agora é só adaptar ao seu trabalho, boa sorte...

Sub Cabecalho()
On Error GoTo Trataerro
Open [Ô]LPT1[Ô] For Output As #1
Print #1, Chr$(27) & Chr(15)
Print #1, Spc(0); [Ô] COMERCIAL LOPES [Ô]
Print #1, Spc(0); [Ô] CNPJ: 00.000.0000-00 I.E:000000000 [Ô]
Print #1, Spc(0); [Ô] Rua Joaquim Reis N.32, Fone(00)0000-0000 [Ô]
Print #1, Spc(0); [Ô] xxxxx = xxxxxx - xxxxx - Maranhao [Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); Date; Spc(5); Time; Spc(2); [Ô]Nº Cupom[Ô]; Spc(3); Numero_Cupom
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô] C U P O M [Ô]
Print #1, Spc(0); [Ô]Usuario :[Ô]; Spc(2); Usuario
Print #1, Spc(0); [Ô]Itns|CODIGO | DESCRICAO DO PRODUTO [Ô]
Print #1, Spc(0); [Ô] QTD. R$ VALOR UNIT. TOTAL R$[Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Close #1
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema, Impressora Inoperante[Ô]
End Sub



Public Sub Imprimi_Cupom()
On Error GoTo Trataerro
Dim Alinha As String * 12
[ô]--------
Cabecalho
[ô]--------
Open [Ô]LPT1[Ô] For Output As #1
Set rst = New ADODB.Recordset
Sql = [Ô]Select * From Tbl_Itens_Venda Where Num_Cupom =[ô][Ô] & Numero_Cupom & [Ô][ô] And Num_Caixa = [ô][Ô] & Numero_Caixa & [Ô][ô]And Status = [ô]Aberto[ô][Ô]
rst.Open Sql, Conexao, 3

Do While Not rst.EOF = True
Print #1, Spc(0); Format(rst!Itens, [Ô]000[Ô]); Spc(1); Format(rst!Codigo_Barra, [Ô]00000000000000[Ô]); Spc(1); Mid(rst!Nome_DoProduto, 1, 30)
Print #1, Spc(9); Format(rst!Quantidade, [Ô]###,##0.000[Ô]); Spc(3); [Ô]X[Ô]; Spc(3); Format(Format(rst!Valor_Unitario, [Ô]###,##0.00[Ô]), [Ô]@@@@@@@@@@@[Ô]); Spc(4); [Ô]=[Ô]; Spc(9); Right(Space(9) & Format(rst!valor_total, [Ô]###,##0.00[Ô]), 10)

rst.MoveNext
Loop
Close #1
[ô]----------
Fecha_Cupom
[ô]----------
Itens = 0
[ô]----------
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema, Impressora Inoperante[Ô]
End Sub


Sub Fecha_Cupom()
On Error GoTo Trataerro
Dim Linha As String
Linha = Mid(Linha, 50 - Len(TxtValor_Pago.Text))
Open [Ô]LPT1[Ô] For Output As #1
Print #1, Chr$(27) & Chr(15)
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(5); [Ô]TOTAL A PAGAR[Ô]; Tab(38); Spc(10 - Len(LblValor_Compra.Caption)); LblValor_Compra.Caption
Print #1, Spc(5); LblForma_Pagamento.Caption; Tab(38); Spc(10 - Len(TxtValor_Pago.Text)); TxtValor_Pago.Text
Print #1, Spc(5); [Ô]T R O C O [Ô]; Tab(38); Spc(10 - Len(LblValor_Troco.Caption)); LblValor_Troco.Caption
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Tab(10); [Ô] Obrigado Pela Preferencia[Ô]
Print #1, Spc(4); [Ô] Aqui voce encotra os menores precos da Cidade[Ô]
Print #1, Tab(10); [Ô] Volte Sempre ! [Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô]Sistemas Comerciais (000) 0000-0000::e-mail [Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Close #1
Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema, Impressora Inoperante[Ô]
End Sub

WEBIER 10/08/2010 13:58:50
#349893
Mudei meu codigo todo para o Print, conforme foi pedido anteriormente...

olha o codigo ai:
Private Sub Imprimir_Cupom()
On Error GoTo Trataerro
Call ABRIR_BD_SEM_DATA1
SQL_Empresa = [Ô]SELECT TOP 1 * FROM EMPRESA ORDER BY FANTASIA[Ô]
Set Rs_Empresa = BD.OpenRecordset(SQL_Empresa)

Open [Ô]\\balcao    ermica[Ô] For Output As #1
Print #1, Chr$(27) & Chr(15)
Print #1, Spc(0); [Ô] [Ô]
Print #1, Spc(0); Rs_Empresa!FANTASIA
Print #1, Spc(0); Rs_Empresa!RAZAO
Print #1, Spc(0); Rs_Empresa!ENDERECO & [Ô], [Ô] & Rs_Empresa!cidade & [Ô]-[Ô] & Rs_Empresa!estado
Print #1, Spc(0); [Ô]FONE: [Ô]; Rs_Empresa!TELEFONE
Print #1, Spc(0); Rs_Empresa!CNPJ & [Ô] IE:[Ô] & Rs_Empresa!IE
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); Date; Spc(5); Time; Spc(2); [Ô]Nº Cupom[Ô]; Spc(3); Format(txtCodPedido.Text, [Ô]000000[Ô])
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô] C U P O M [Ô]
Print #1, Spc(0); [Ô]Usuario :[Ô]; Spc(2);
Print #1, Spc(0); [Ô]DESCRICA[Ô]; Spc(2); [Ô]PREÇO[Ô]; Spc(4); [Ô]QUANT[Ô]; Spc(6); [Ô]TOTAL[Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]

If txtCodPedido.Text = [Ô][Ô] Then Exit Sub
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT * FROM PEDIDOS_ITENS WHERE COD_PEDIDO = [Ô] & txtCodPedido.Text & [Ô] ORDER BY CODIGO DESC[Ô]
Set RS = BD.OpenRecordset(SQL)

Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]

RS.MoveFirst
Do While Not RS.EOF [ô]
Print #1, Spc(0); RS([Ô]DESCRICAO[Ô]); Spc(2); Format$(Format$(RS([Ô]PRECO[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô]); Spc(4); Format$(Format$(RS([Ô]QUANTIDADE[Ô]), [Ô]0.000[Ô]), [Ô]@@@@@@@[Ô]); Spc(6); Format$(Format$(RS([Ô]TOTAL[Ô]), [Ô]0.00[Ô]), [Ô]@@@@@@@[Ô])
RS.MoveNext
Loop

Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô]TOTAL: [Ô]; Spc(6); Format$(Format$(txtTotalGeral.Text, [Ô]0.00[Ô]), [Ô]@@@@@@@@[Ô])
Print #1, [Ô][Ô]
Print #1, Spc(0); [Ô]ESTE CUPOM NÃO TEM VALOR FISCAL[Ô]
Print #1, Spc(0); [Ô]Obrigado pela preferência[Ô]
Close #1

Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema, Impressora Inoperante[Ô]
End Sub


só q quando coloco pra imprimir dar imprime um monte de coisas doidas... como se a impressora tivesse desconfigurada.

coloquei esse mesmo codigo usando o PRINTER.PRINTE e imprime blz

o q pode ser?
LG.MOURA 10/08/2010 14:34:27
#349897
Pode usar um array:

for i = 1 to 5 [ô] para 5 linhas
Printer.Print [Ô][Ô]
next

WEBIER 10/08/2010 23:34:36
#349935
conseguir resolver meu problema... eba!

tem como mudar tamanho de fonte, negrito, sublinhado e etc no Print ?
WEBIER 12/08/2010 18:26:05
#350116
alguem?
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas