Fórum Impressoras Mecaf #227217

20/04/2004

0

E ai galera Delphiana!!!

Alguem já trabalhou com a impressora termica Mecaf? o Modelo é o IM402T

Se alguem tiver algum exemplo em Delphi eu agradeceria.

No site da empresa só tem exemplo em VB

Desde já agradeço a atenção de todos!!


Kandrus

Kandrus

Responder

Posts

21/04/2004

Ant.carlos/sp

Fragmento de Rotina, v c t ajuda.
T+

ANT.CARLOS/SP

--------------------- F I M ---------------------


unit Form1;

interface

uses Printers;


procedure TFrm_Movbalcao.Imprimir();
begin

Printer.Orientation := poPortrait; //poLandscape;

Qtde_Linha := (Query2.RecordCount*2)+32;

Linha := StrToInt(FormatFloat(´000000´,(Qtde_linha*44)));

Printer.BeginDoc;

WITH Printer do Begin
Canvas.Font.Name := ´Draft 12cpi´;
Canvas.Font.Size := 10;
Canvas.TextOut(005,000,´***** PANIFICADORA LISBOA LTDA *****´);
Canvas.TextOut(005,020,´ Telefone: (14) 3541-5888 ´);
Canvas.TextOut(005,040,´Data: ´+DateToStr(Date)+´ Horas: ´+TimeToStr(Time));
Canvas.TextOut(005,060,´--------------------------------------´);
Canvas.TextOut(005,080,´Cliente: ´+IntToStr(DMPDV.Tb_MovbalcaoCodcli.value)+´-´+DMPDV.Tb_MovbalcaoNomcli.value);
Canvas.TextOut(005,100,´NUMERO CARTAO: ´+Ncartao+´ - ´+DMPDV.Tb_MovbalcaoCondpgto.value);
Canvas.TextOut(005,120,´--------------------------------------´);
Canvas.TextOut(005,140,´Descricao´);
Canvas.TextOut(005,160,´Quantidade Unid Vr.Unitario Sub-Total´);
Canvas.TextOut(005,180,´--------------------------------------´);
End;
Linha := 180;

Query2.First;
While not Query2.Eof do Begin
Unimed := ´UN´;
IF Query2Cadastrado.value = True Then Begin
IF DMPROD.Tb_PesqProd.FindKey([Query2Codprod.value]) Then Begin
Unimed := DMPROD.Tb_PesqProdUnimed.value;
IF DMUNM.Tb_PesqUmed.FindKey([DMPROD.Tb_PesqProdUnimed.value]) Then Begin
IF DMUNM.Tb_PesqUmedCdecim.value = ´S´ Then
Qtde := FormatCurr(´#0.000´,Query2Qtde.value)
Else
Qtde := FormatCurr(´#00´,Query2Qtde.value);
End Else Begin
Qtde := FormatCurr(´0.000´,Query2Qtde.value)
End;
End Else Begin
Qtde := FormatCurr(´0.000´,Query2Qtde.value)
End;
End Else Begin
Qtde := FormatCurr(´0.000´,Query2Qtde.value);
End;

For i := Length(Qtde) to 8 do
Qtde := ´ ´+Qtde;
Qtde := Qtde+´ ´+Unimed;
Vlunit := FormatCurr(´,0.00´,Query2Preco.value);
For i := Length(Vlunit) to 12 do
Vlunit := ´ ´+Vlunit;
SubTotal:= FormatCurr(´,0.00´,(Query2Qtde.value*Query2Preco.value));
For i := Length(SubTotal) to 12 do
SubTotal := ´ ´+SubTotal;

Linha := Linha+20;
Printer.Canvas.TextOut(10,Linha,Query2Descricao.value);
Linha := Linha+20;
Printer.Canvas.TextOut(001,Linha,Qtde);
Printer.Canvas.TextOut(148,Linha,Vlunit);
Printer.Canvas.TextOut(260,Linha,Subtotal);

Query2.Next ;
END;
Linha := Linha+20;
Printer.Canvas.TextOut(260,Linha,´ ===========´);

IF Query1Vldesc.value > 0 Then Begin
SubTotal:= FormatCurr(´R$ #,0.00´,(Query1Vldesc.value*-1));
For i := Length(SubTotal) to 12 do
SubTotal := ´ ´+SubTotal;
Linha := Linha+20;
Printer.Canvas.TextOut(80,Linha,´Vr. Desconto = >´);
Printer.Canvas.TextOut(260,Linha,SubTotal);
Linha := Linha+20;
Printer.Canvas.TextOut(260,Linha,´ ===========´);
End;
Linha := Linha+20;
SubTotal:= FormatCurr(´R$ ,0.00´,(Query1Vltotal.value));
For i := Length(SubTotal) to 12 do
SubTotal := ´ ´+SubTotal;
Printer.Canvas.TextOut(80,Linha, ´TOTAL A PAGAR =>´);
Printer.Canvas.TextOut(260,Linha,SubTotal);

Linha := Linha + 60;
Printer.Canvas.TextOut(80,Linha, ´___________________________´);
Linha := Linha+20;
Printer.Canvas.TextOut(80,Linha, ´ Cliente ´);

Linha := Linha+40;
Printer.Canvas.TextOut(80,Linha, ´ Vendedor: ´+Query1Nome.value);

Printer.EndDoc;
Screen.Cursor := CrDefault;
End;


Responder

Gostei + 0

28/04/2004

Kandrus

Valew pela dica vou testar


Responder

Gostei + 0

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

Aceitar