impressão direta

23/12/2005

0

olá galera!

estou precisando de uma procedure para imprimir cupons. Estou enviando a que eu uso porem ao final de uma pagina A4 ela para de imprimir. Será que alguém aí tem uma solução?

Primeiro a procedure envia tudo para um memo, simulando um cupom.
Depois ela chama outra procedure para imprimir na impressora.

//Procedure do Botão Gravar
procedure TfCupons.btGravarClick(Sender: TObject);
var cont, numpag,i: integer;
begin
cont:= 1;
numpag := 1;

VerificaCampos;

//Avisa sobre a ação gravar
if Application.MessageBox(´O Copum será gravado e impresso.´+ #13+´O registro ficará bloqueado para efetuar qualquer operação.´+13+´Deseja Continuar???´,´Atenção´,36)=7 then
CancelaCupons

else
//Se confirmada a opção gravar, grava o cupom...
GravaCupons;
//...inseri linhas no memo1...
Memo1.Lines.Clear;
Memo1.Lines.Add(´CUPOM Nº.: ´+DBEdit1.Text+´-´+DModule.tbFavorecidoCodFavorecido.Value+´-´+DBEdit2.Text+´ TIPO: ´+DBComboBox1.Text);
Memo1.Lines.Add(DModule.tbCFCNomeCFC.Value);
Memo1.Lines.Add(´Fone: ´+DModule.tbCFCTelefoneCFC.Value+´ Fax: ´+DModule.tbCFCFaxCFC.Value);
Memo1.Lines.Add(´Código: ´+DModule.tbAlunosCodigoAluno.AsString);
Memo1.Lines.Add(´Nome: ´+DModule.tbAlunosNomeAluno.Value);
Memo1.Lines.Add(´Identidade: ´+DModule.tbAlunosCIAluno.Value+´ - CPF: ´+DModule.tbAlunosCPFAluno.Value);
Memo1.Lines.Add(´Produto: ´+DModule.tbCuponsProduto.Value);
Memo1.Lines.Add(´Quantidade: ´+DBEdit5.Text);
Memo1.Lines.Add(´Unitário: ´+DBEdit6.Text);
Memo1.Lines.Add(´Desconto: ´+DBEdit8.Text);
Memo1.Lines.Add(´----------------------------------´);
Memo1.Lines.Add(´TOTAL: ´+DBEdit7.Text);
Memo1.Lines.Add(´´);
Memo1.Lines.Add(´Reconheço o débito acima:____________________________________´);
Memo1.Lines.Add(´´);
Memo1.Lines.Add(´#´);
Memo1.Lines.Add(´´);
//...até contagem da variável cont ser maior que Qtd...
while cont <= DModule.tbCuponsQtd.Value do
begin
Memo1.Lines.Add(´CUPOM Nº.: ´+DBEdit1.Text+´-´+DModule.tbFavorecidoCodFavorecido.Value+´-´+DBEdit2.Text+´ ´+IntToStr(numpag)+´ de ´+DModule.tbCuponsQtd.AsString);
Memo1.Lines.Add(DModule.tbCFCNomeCFC.Value);
Memo1.Lines.Add(´Fone: ´+DModule.tbCFCTelefoneCFC.Value+´ Fax: ´+DModule.tbCFCFaxCFC.Value);
Memo1.Lines.Add(´ ´);
Memo1.Lines.Add(´Código: ´+DModule.tbAlunosCodigoAluno.AsString);
Memo1.Lines.Add(´Nome: ´+DModule.tbAlunosNomeAluno.Value);
Memo1.Lines.Add(´Identidade: ´+DModule.tbAlunosCIAluno.Value);
Memo1.Lines.Add(´ ´);
Memo1.Lines.Add(´Produto: ´+DModule.tbCuponsProduto.Value);
Memo1.Lines.Add(´ ´);
Memo1.Lines.Add(´__________________________________´);
Memo1.Lines.Add(´ ´+DModule.tbCFCNomeCFC.Value+´ ´);
Memo1.Lines.Add(´É OBRIGATORIO A APRESENTAÇÃO DESTE´);
Memo1.Lines.Add(´ ´);
Memo1.Lines.Add(´=========================================´);
Memo1.Lines.Add(´´);
cont := cont + 1;
numpag := numpag + 1;

ImprimeCupons;
end;
end;

//Procedure para imprimir na impressora
procedure TfCupons.ImprimeCupons;
var i:Integer;
begin
with Printer do
begin
BeginDoc;
for i := 0 to Memo1.Lines.Count do
Canvas.TextOut(110,110 + (i * Canvas.TextHeight(Memo1.Lines.Strings[i])),Memo1.Lines.Strings[i]);

EndDoc;
end;
end;


Marcellomm

Marcellomm

Responder

Posts

24/12/2005

Edilcimar

leia isto
http://forum.clubedelphi.net/viewtopic.php?t=70693


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar