Impressão Cheques (VDOPrinter)
Pessoal,
Estou utilizando o VDOPrinter para fazer um programinha de emissão de cheques em formulário continuo. Estou com 2 duvidas em relação ao componente e se for possível, gostaria de uma ajuda.
É o seguinte, imagine que mandei imprimir 2 cheques, quando eu imprimo o primeiro e ele vai imprimir o segundo, a impressora não está dando aquele espaço entre o primeiro e segundo cheques. Queria saber qual é a propriedade que tenho que alterar.
Outro detalhe, quando termino de imprimir 4 folhas de cheque, a impressora da um salto para outra pagina, ele não para no momento que terminou de imprimir a quarta folha, ele salta uma pagina e depois para.
Obrigado
Estou utilizando o VDOPrinter para fazer um programinha de emissão de cheques em formulário continuo. Estou com 2 duvidas em relação ao componente e se for possível, gostaria de uma ajuda.
É o seguinte, imagine que mandei imprimir 2 cheques, quando eu imprimo o primeiro e ele vai imprimir o segundo, a impressora não está dando aquele espaço entre o primeiro e segundo cheques. Queria saber qual é a propriedade que tenho que alterar.
Outro detalhe, quando termino de imprimir 4 folhas de cheque, a impressora da um salto para outra pagina, ele não para no momento que terminou de imprimir a quarta folha, ele salta uma pagina e depois para.
Obrigado
Leandrosl
Curtidas 0
Respostas
Thalesoli
18/12/2007
Você por acaso contou a quantidade de linhas q cada folha de cheque tem?
se contou, configure na propriedade Paper a propriedade Lines com este valor.
ai dará certo o salto da folha.
espero ter ajudado
falow
se contou, configure na propriedade Paper a propriedade Lines com este valor.
ai dará certo o salto da folha.
espero ter ajudado
falow
GOSTEI 0
Leandrosl
18/12/2007
Ok [b:f4e50f38a0]thalesoli[/b:f4e50f38a0], sua dia ajudou muito, agora ele não está saltando para uma outra pagina. Mas ainda continuo com o problema para saltar entre um cheque e outro, no final do for estou colocando um NewLine(9), mas acontece que a partir do segundo em diante, os cheques não ficam alinhados, apenas o primeiro. Tentei colocar o NewLine(8) mas acontece a mesma coisa, por acaso não existe uma outra forma ?
GOSTEI 0
Thalesoli
18/12/2007
nao me lembro qual o comando q faz mas as impressoras matriciais tem um comando chamando tear off q coloca o papel no ponto para corte. ai vc tem q pressionar novamente o tear off da impressora para realinhar o papel..
de uma olhada na net.. mas ate onde eu usei.. se vc contar as linha qvc necessita, e pressionar o tear off da propria impressora, não da erro nao.
falow
de uma olhada na net.. mas ate onde eu usei.. se vc contar as linha qvc necessita, e pressionar o tear off da propria impressora, não da erro nao.
falow
GOSTEI 0
Microbios
18/12/2007
LeandroSl,
Eu tenho um programinha que imprime cheques usando o VDO!!!
(falando nisso, cadê o VINÌCIUUUSSS!? :P :P )
Eu fiz somando linhas ao final de cada cheque para a impressão no segundo e assim consecutivamente... no meu a impressora não pula a página como você citou. Vai direto até acabar, daí sim.. dar o TEAR OFF que o colega citou...
O exemplo, não é nada GENIAL mas pra mim funcionou 100¬
Eu tenho um programinha que imprime cheques usando o VDO!!!
(falando nisso, cadê o VINÌCIUUUSSS!? :P :P )
Eu fiz somando linhas ao final de cada cheque para a impressão no segundo e assim consecutivamente... no meu a impressora não pula a página como você citou. Vai direto até acabar, daí sim.. dar o TEAR OFF que o colega citou...
O exemplo, não é nada GENIAL mas pra mim funcionou 100¬
{Coloca a Tabela no Primeiro Registro}
dmD.tblCheques.First;
With dmD.Prn do
begin
{Informa ao Spool do Windows o Título do Relatório}
Title := ´Emissão dos Cheques´;
{Início de Impressão Em Modo DOS}
BeginDoc;
While not dmD.tblCheques.Eof do
begin
dmD.MudaSalto(2);{LineSpacing := ls8lpp}
dmD.MudaFonte(4);
Print(60,Format(´¬M´,[dmD.tblCheques.FieldByName(´ValorCheque´).AsCurrency]),True);
dmD.Prn.NewLine(1);
dmD.MudaFonte(2); {fsCondensed;}
Print(10,Copy(dmD.tblCheques.FieldByName(´Favorecido´).AsString,0,16),false);
cExtenso := Extenso(dmD.tblCheques.FieldByName(´ValorCheque´).AsCurrency,200);
cExtenso1 := Copy(cExtenso,0,87);
cExtenso2 := copy(cExtenso,113,100);
Print(45,cExtenso1,True);
dmD.Prn.NewLine(1);
Print(32,cExtenso2,True);
dmD.Prn.NewLine(1);
dmD.MudaFonte(1);
dmD.Estilo(2);
Print(19,dmD.tblCheques.FieldByName(´Favorecido´).AsString,True);
dmD.Estilo(1); {[]}
dmD.MudaFonte(2); {fsCondensed;}
Print(10,dmD.tblCheques.FieldByName(´DataEmissao´).AsString,False);
dmD.Prn.NewLine(2);
dmD.MudaFonte(1);
Print(43,´São João Nepomuceno, ´,False);
Print(60,IntToStr(Dia),False);
Print(65,MesExtenso(Mes,False),False);
Print(77,IntToStr(Ano),True);
dmD.MudaFonte(2); {fsCondensed;}
dmD.Prn.NewLine(7);
Print(10,Format(´¬M´,[dmD.tblCheques.FieldByName(´ValorCheque´).AsCurrency]),True);
dmD.Prn.NewLine(6);
dmD.tblCheques.Next;
If dmD.tblCheques.Eof then
begin
dmD.Prn.EndDoc();
dmD.MudaSalto(1); {Prn.LineSpacing := ls6lpp;}
end;
end;
end;
GOSTEI 0