Salto de página no formulário razão
Moderador: Moderadores
-
Marcio_Carneiro
- Usuário Nível 2

- Mensagens: 70
- Registrado em: 07 Abr 2008 15:37
- Localização: Santo Antônio de Pádua - RJ
Salto de página no formulário razão
Olá, amigos
Estou imprimindo em formulário razão.
Antes de imprimir dou comando para configurar o tamanho 33 linhas
Ejeto a página
Depois de imprimir volto para tamanho 66.
O problema: ao ejetar a cabeça de impressão para no meio da página seguinte, e quando dou novamente comando
de impressão, ele avança para o início da mesma página, e quando chega lá, vai para a página seguinte.
Onde posso estar errando?;
O comando que estou dando é: chr(27)+"C"+Chr(33) <----- trinta e três linhas
Estou imprimindo em formulário razão.
Antes de imprimir dou comando para configurar o tamanho 33 linhas
Ejeto a página
Depois de imprimir volto para tamanho 66.
O problema: ao ejetar a cabeça de impressão para no meio da página seguinte, e quando dou novamente comando
de impressão, ele avança para o início da mesma página, e quando chega lá, vai para a página seguinte.
Onde posso estar errando?;
O comando que estou dando é: chr(27)+"C"+Chr(33) <----- trinta e três linhas
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Salto de página no formulário razão
Olá Marcio,
Por favor, esclareça as seguintes dúvidas para que possamos ajudar:
Quanto ao posicionamento do carro, vc pode fazer este controle, mas forneça estas informações primeiro para sabermos por onde começar.
Por favor, esclareça as seguintes dúvidas para que possamos ajudar:
Branco ou pré-impresso? Se for branco, o layout vc está montando, ai tem mais código envolvido, não só os de impressão.Marcio_Carneiro escreveu:Estou imprimindo em formulário razão.
Vc está fazendo isso após a impressão de cada formulário? Não deveria ser apenas quando encerrasse todas impressões?Marcio_Carneiro escreveu:Depois de imprimir volto para tamanho 66.
Para setar o tamanho da página, se impressora epson ou compatível está correto, este é o comando.Marcio_Carneiro escreveu:O comando que estou dando é: chr(27)+"C"+Chr(33) <----- trinta e três linhas
Quanto ao posicionamento do carro, vc pode fazer este controle, mas forneça estas informações primeiro para sabermos por onde começar.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Salto de página no formulário razão
Já verificou se a impressora não está configurada para efetuar o salto no picote...
Tem impressoras que estão com esta configuração ativa..
Tente também um setprc(0,0) no início da impressão
Rubens
Tem impressoras que estão com esta configuração ativa..
Tente também um setprc(0,0) no início da impressão
Rubens
"Eu e minha casa servimos ao Senhor e você
"
-
Marcio_Carneiro
- Usuário Nível 2

- Mensagens: 70
- Registrado em: 07 Abr 2008 15:37
- Localização: Santo Antônio de Pádua - RJ
Salto de página no formulário razão
Obrigado pela atenção:
Respondendo as perguntas: o formulário é branco, sem marcação.
Ora utilizo prow(), ora informo a linha para imprimir.
Na minha lx 810 está dando certo, o erro ocorre principalmente na lx 300
A minha rotina de impressão:
Segue as rotinas (simplificadas) que utilizo:
Respondendo as perguntas: o formulário é branco, sem marcação.
Ora utilizo prow(), ora informo a linha para imprimir.
Na minha lx 810 está dando certo, o erro ocorre principalmente na lx 300
A minha rotina de impressão:
Segue as rotinas (simplificadas) que utilizo:
Código: Selecionar todos
* imprimindo a lista
If (modelo # 1)
Tam_Folha(33)
If (modelo = 0)
CPI(12)
EndIf
EndIf
Nome_Relat("Lista P/Entrega")
If (modelo = 0)
Do_Relat("Info_Relat",.F.)
Else
Do_Relat("Info_Relat", .F.)
EndIf
If (modelo # 1)
Tam_Folha(66)
If (modelo = 0)
CPI(10)
EndIf
EndIf
Do Relat
///
* Imprime a linha superior do relat¢rio.
linha = 1
@linha, 0 Say linha1
* imprime o relat¢rio e finaliza
eject
* apos o eject ele para no meio da p gina do formul rio
e quando vou imprimir um outro relat¢rio ele avan‡a para o in¡cio da folha
e avan‡a para outra folha( o que est dando erro)
Tam_Folha(33)
If (FalhaImpressora())
Return
EndIf
Set Device To Print
*1
@0, 1 Say SubStr(borda, 1, 1) + Replicate(SubStr(borda, 2, 1), 37) + ;
SubStr(borda, 12, 1) + Replicate(SubStr(borda, 2, 1), 38) + ;
SubStr(borda, 3, 1)
Procedure Tam_Folha
Parameters quantidade_
If (comandos_ativados)
Private ypos_ := PRow(), xpos_ := PCol(), dev := Set(_SET_DEVICE)
ErrorBlock({|erro| ErroImpressora(erro)})
Set Device To Print
Begin Sequence
If (quantidade_ = Nil)
quantidade_ = 66
EndIf
@Prow(), Pcol() say chr(27)+"2"+chr(27)+"C"+chr(quantidade_)
End Sequence
Set(_SET_DEVICE, dev)
SetPrc(ypos_, xpos_)
RestauraErro()
EndIf
Return
Procedure CPI
Parameters atual
If (comandos_ativados)
Private dev := Set(_SET_DEVICE), xpos_ := PCol(), ypos_ := PRow()
ErrorBlock({|erro| ErroImpressora(erro)})
Set Device To Print
Begin Sequence
If (PCount() = 0)
@PRow(), PCol() Say Chr(27) + "M"
ElseIf (atual = 12)
@PRow(), PCol() Say Chr(27) + "M"
Else
@PRow(), PCol() Say Chr(27) + "P"
EndIf
End Sequence
Set(_SET_DEVICE, dev)
SetPrc(ypos_, xpos_)
RestauraErro()
EndIf
Return
Editado pela última vez por Toledo em 21 Jul 2011 19:56, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Salto de página no formulário razão
Olá Marcio,
Como é formulário branco, nas linhas 54 a 56 do código vc está iniciando a montagem do layout. Provavelmente, vc o fecha na linha 33 do formulário, estou correto?
Seu código está um pouco confuso, nas linhas 33 e 34 do código, vc imprime na linha 1 do formulário, mas seu layout inicia na linha 54 do código. Entendo que seu problema é outro, é o problema do salto de página, mas adianto que se vc tiver fechando o layout na linha 33 do formulário, vc não pode usar o EJECT, já que a linha seguinte será a linha 0 do próximo formulário.
Leve em conta a dica do colega Rubens, e coloque antes do inicio da impressão, um SetPrc( 0, 0 ) também, e responda a minha pergunta acima, ela é importante para entendermos o que pode estar ocorrendo.
Como é formulário branco, nas linhas 54 a 56 do código vc está iniciando a montagem do layout. Provavelmente, vc o fecha na linha 33 do formulário, estou correto?
Seu código está um pouco confuso, nas linhas 33 e 34 do código, vc imprime na linha 1 do formulário, mas seu layout inicia na linha 54 do código. Entendo que seu problema é outro, é o problema do salto de página, mas adianto que se vc tiver fechando o layout na linha 33 do formulário, vc não pode usar o EJECT, já que a linha seguinte será a linha 0 do próximo formulário.
Leve em conta a dica do colega Rubens, e coloque antes do inicio da impressão, um SetPrc( 0, 0 ) também, e responda a minha pergunta acima, ela é importante para entendermos o que pode estar ocorrendo.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
Marcio_Carneiro
- Usuário Nível 2

- Mensagens: 70
- Registrado em: 07 Abr 2008 15:37
- Localização: Santo Antônio de Pádua - RJ
-
Marcio_Carneiro
- Usuário Nível 2

- Mensagens: 70
- Registrado em: 07 Abr 2008 15:37
- Localização: Santo Antônio de Pádua - RJ
Salto de página no formulário razão
Respondendo a outra pergunta: este prg onde faço referência a linha 0 é de outro programa, digo, módulo. O primeiro é feito utilizando o relat. e o segundo imprimo diretamente.
-
SandroBelarmino
- Usuário Nível 3

- Mensagens: 464
- Registrado em: 04 Set 2007 16:11
- Localização: Pedreira-SP
Salto de página no formulário razão
Marcio
Dê uma olhada no prg que eu anexei, eu costumava usar conforme o código abaixo e funcionava em qualquer epson.
Dê uma olhada no prg que eu anexei, eu costumava usar conforme o código abaixo e funcionava em qualquer epson.
- Anexos
-
imp_raz.prg- (279 Bytes) Baixado 191 vezes
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Salto de página no formulário razão
Olá Sandro,
Vi os controles de impressora que vc passou. O problema me parece que isto está acontecendo pq ele está avançando para o próximo formulário, pelo menos é o que me parece.
Olá Márcio,
Vi os controles de impressora que vc passou. O problema me parece que isto está acontecendo pq ele está avançando para o próximo formulário, pelo menos é o que me parece.
Olá Márcio,
Como vc está fazendo impressão em todo o formulário, coloque por segurança o SetPrc( 0, 0 ) antes de iniciar a impressão, e remova o EJECT e faça um teste. Veja o que acontece e reporte, ok?Marcio_Carneiro escreveu:Sim, finalizo na linha 33
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)