Fórum Impressão com RDprint e Bematech 4200TH #478026
05/05/2014
0
Olá amigos do fórum,
Sou novato em Delphi e estou desenvolvento para um cliente uma apliacação que imprime Cupom Não fiscal, é apenas para controle interno, porque o cliente ja tem um programa de PDV que emite o Cupom Fiscal.
Estou usando o componente RDPRINT 3.0 e Delphi 7.
ESTE É O CÓDIGO QUE ME FOI PASSADO PELO SUPORTE DA BEMATECH. Que eu gostaria de inserir no mesmo botão de imprssão do Cupom não fiscal, já fiz algumas tentaitivas e em todas elas imprime apenas o texto do cupom perfeitamente mas o LOGOTIPO não.
Sou novato e esse é meu primeiro aplicativo para cupom não fiscal e realmente stou perdido.
Já entrei em contato novamente com a Bematech mas não obtive até o momento nenhuma resposta referente a essa duvida.
Toda e qualquer ajuda será bem vida.
var
Form1: TForm1;
iRetorno : integer;
implementation
function DefineNVBitmap ( count: integer; filenames: array of string ): integer; stdcall; far; external 'MP2032.DLL';
function Define1NVBitmap ( filename : string ): integer; stdcall; far; external 'MP2032.DLL';
function DefineDLBitmap ( filename: string ): integer; stdcall; far; external 'MP2032.DLL';
function ConfiguraModeloImpressora( ModeloImpressora: integer ): integer; stdcall; far; external 'MP2032.DLL';
function ConfiguraTaxaSerial( sTaxa: integer): integer; stdcall; far; external 'MP2032.DLL';
function IniciaPorta( Porta: string ): integer; stdcall; far; external 'MP2032.DLL';
function PrintNVBitmap ( image: integer; mode: integer ): integer; stdcall; far; external 'MP2032.DLL';
function PrintDLBitmap ( mode: integer ): integer; stdcall; far; external 'MP2032.DLL';
function FechaPorta: integer; stdcall; far; external 'MP2032.DLL';
function ComandoTX( BufTrans: string; TamBufTrans: integer ): integer; stdcall; far; external 'MP2032.DLL';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
sPorta : String;
cNomeBitMap: array[1..6] of string;
begin
sPorta := Edit1.Text;
iRetorno := ConfiguraModeloImpressora( 7 );
iRetorno := ConfiguraTaxaSerial( 115200 );
iRetorno := IniciaPorta(pchar(sPorta));
//Carrega BMP na posição 1 da memória.
cNomeBitMap[ 1 ] := 'C:\logo.bmp';
iRetorno := DefineNVBitmap( 1, cNomeBitMap[ 1 ] );
ShowMessage('Retorno do comando: ' + inttostr(iRetorno));
iRetorno := FechaPorta();
end;
procedure TForm1.Button2Click(Sender: TObject);
var
sPorta : String;
sComando : String;
begin
sPorta := Edit1.Text;
iRetorno := ConfiguraModeloImpressora( 7 );
iRetorno := ConfiguraTaxaSerial( 115200 );
iRetorno := IniciaPorta(pchar(sPorta));
//Imprime BMP da posição 1 da memória
sComando := #28 + #112 + #1 + #0;
iRetorno := ComandoTX( sComando, Length( sComando ));
iRetorno := FechaPorta();
end;
end.
ESTE É O CÓDIGO PARA IMPRIMIR O CUPOM
procedure TF_CupomServico.Button1Click(Sender: TObject);
var
subtotal, total : currency;
linha : integer;
traco : string;
begin
total := 0;
Traco := '-------------------------------------------------------';
// Parametros para o CUPOM FISCAL
rdprint1.TamanhoQteLinhas := 1; // Linhas (deve ser 1 quando for CUPOM)
rdprint1.TamanhoQteColunas := 55; // Largura da Bobina aprox. 7 cm (7 / 2.54 * 20)
rdprint1.FonteTamanhoPadrao := s20cpp; // Fonte Comprimido em 20 cpp
rdprint1.OpcoesPreview.Preview := false;
// Cabeçalho do Cupom...
with rdprint1 do
begin
abrir;
impc(02,28,'Nome da Empresa',[Comp12, Negrito]);
impc(03,28,'Endereço',[Comp12]);
impc(04,28,'Cidade',[Comp12]);
impc(05,28,'E-mail',[Comp12]);
impc(06,28,'Site',[Comp12]);
impc(07,28,'Slogan',[Comp12,Negrito]);
impc(08,28,'Tel: ',[Comp12]);
imp (09,01,'Cupom N.Fiscal:' + DBEdit6.Text +
' Data:' + datetimetostr(now));
impf(10,01,'Obs: ' + DBEdit5.Text,[]);
// Dados do Cliente...
imp (11,01,traco);
impc(12,28,'Dados do Cliente',[Comp12, Negrito]);
impf(13,01,DBEdit1.Text,[comp12]);
impf(14,01,DBEdit2.Text,[comp12]);
impf(15,01,DBEdit3.Text,[comp12]);
impf(15,25,DBEdit4.Text,[comp12]);
//impf(15,01,DBEdit5.Text, [comp12]);
// Titulo dos Itens...
imp (17,01,traco);
imp (18,01,' Qte Descrição dos Produtos Unitário Sub-Total');
imp (19,01,traco);
end;
// Imprime itens do pedido...
linha := 20;
fordem.Table1.first;
while not fordem.Table1.eof do
begin
with rdprint1 do
begin
//impval(linha,01,fordem.Table1Descricao.value,[]);
impf (linha,05,fordem.Table1Descricao.value,[]);
//impf (linha,35,table1unidade.VALUE, []);
impval(linha,36,'#,##0.00', fordem.Table1Valor.value,[]);
subtotal := fordem.Table1Valor.value;
total := total + subtotal;
impval(linha,45,'##,##0.00', subtotal, []);
inc(linha);
end;
fordem.Table1.next;
end;
// Parte final do Cupom... (daqui pra frente continuo incrementando a LINHA
with rdprint1 do
begin
// Total...
imp (linha,01,traco);
inc (linha);
imp (linha,01,'Total Geral do Cupom');
impval(linha,40,'###,###,##0.00',total,[]);
// Desconto Global
inc (linha);
imp (linha,01,'(-) Desconto Global');
impval(linha,40,'-##,###,##0.00',strtofloat(desconto.text),[]);
// Total Liquido...
inc (linha);
impf(linha,01,'VALOR A PAGAR R$',[comp12,negrito]);
impval(linha,32,'###,###,##0.00',Total - strtofloat(desconto.text),[comp12,negrito]);
// Final...
inc (linha);
imp (linha,01,traco);
inc (linha);
impc(linha,28,'Obrigado pela preferência',[comp12]);
inc (linha);
inc (linha);
impc(linha,28,'Volte Sempre !',[]);
inc (linha);
inc (linha);
impc(linha,28,'*** SEM VALOR FISCAL ***',[]);
// Avança 7 linhas em Branco...
linha := linha + 7;
imp (linha,01,' '); // Para forçar impressão da página
fechar;
end;
// Restaura valores normais para imprimir Cupom Não Fiscal...
rdprint1.OpcoesPreview.Preview := false;
rdprint1.TamanhoQteLinhas := 1;
end;
Sou novato em Delphi e estou desenvolvento para um cliente uma apliacação que imprime Cupom Não fiscal, é apenas para controle interno, porque o cliente ja tem um programa de PDV que emite o Cupom Fiscal.
Estou usando o componente RDPRINT 3.0 e Delphi 7.
ESTE É O CÓDIGO QUE ME FOI PASSADO PELO SUPORTE DA BEMATECH. Que eu gostaria de inserir no mesmo botão de imprssão do Cupom não fiscal, já fiz algumas tentaitivas e em todas elas imprime apenas o texto do cupom perfeitamente mas o LOGOTIPO não.
Sou novato e esse é meu primeiro aplicativo para cupom não fiscal e realmente stou perdido.
Já entrei em contato novamente com a Bematech mas não obtive até o momento nenhuma resposta referente a essa duvida.
Toda e qualquer ajuda será bem vida.
var
Form1: TForm1;
iRetorno : integer;
implementation
function DefineNVBitmap ( count: integer; filenames: array of string ): integer; stdcall; far; external 'MP2032.DLL';
function Define1NVBitmap ( filename : string ): integer; stdcall; far; external 'MP2032.DLL';
function DefineDLBitmap ( filename: string ): integer; stdcall; far; external 'MP2032.DLL';
function ConfiguraModeloImpressora( ModeloImpressora: integer ): integer; stdcall; far; external 'MP2032.DLL';
function ConfiguraTaxaSerial( sTaxa: integer): integer; stdcall; far; external 'MP2032.DLL';
function IniciaPorta( Porta: string ): integer; stdcall; far; external 'MP2032.DLL';
function PrintNVBitmap ( image: integer; mode: integer ): integer; stdcall; far; external 'MP2032.DLL';
function PrintDLBitmap ( mode: integer ): integer; stdcall; far; external 'MP2032.DLL';
function FechaPorta: integer; stdcall; far; external 'MP2032.DLL';
function ComandoTX( BufTrans: string; TamBufTrans: integer ): integer; stdcall; far; external 'MP2032.DLL';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
sPorta : String;
cNomeBitMap: array[1..6] of string;
begin
sPorta := Edit1.Text;
iRetorno := ConfiguraModeloImpressora( 7 );
iRetorno := ConfiguraTaxaSerial( 115200 );
iRetorno := IniciaPorta(pchar(sPorta));
//Carrega BMP na posição 1 da memória.
cNomeBitMap[ 1 ] := 'C:\logo.bmp';
iRetorno := DefineNVBitmap( 1, cNomeBitMap[ 1 ] );
ShowMessage('Retorno do comando: ' + inttostr(iRetorno));
iRetorno := FechaPorta();
end;
procedure TForm1.Button2Click(Sender: TObject);
var
sPorta : String;
sComando : String;
begin
sPorta := Edit1.Text;
iRetorno := ConfiguraModeloImpressora( 7 );
iRetorno := ConfiguraTaxaSerial( 115200 );
iRetorno := IniciaPorta(pchar(sPorta));
//Imprime BMP da posição 1 da memória
sComando := #28 + #112 + #1 + #0;
iRetorno := ComandoTX( sComando, Length( sComando ));
iRetorno := FechaPorta();
end;
end.
ESTE É O CÓDIGO PARA IMPRIMIR O CUPOM
procedure TF_CupomServico.Button1Click(Sender: TObject);
var
subtotal, total : currency;
linha : integer;
traco : string;
begin
total := 0;
Traco := '-------------------------------------------------------';
// Parametros para o CUPOM FISCAL
rdprint1.TamanhoQteLinhas := 1; // Linhas (deve ser 1 quando for CUPOM)
rdprint1.TamanhoQteColunas := 55; // Largura da Bobina aprox. 7 cm (7 / 2.54 * 20)
rdprint1.FonteTamanhoPadrao := s20cpp; // Fonte Comprimido em 20 cpp
rdprint1.OpcoesPreview.Preview := false;
// Cabeçalho do Cupom...
with rdprint1 do
begin
abrir;
impc(02,28,'Nome da Empresa',[Comp12, Negrito]);
impc(03,28,'Endereço',[Comp12]);
impc(04,28,'Cidade',[Comp12]);
impc(05,28,'E-mail',[Comp12]);
impc(06,28,'Site',[Comp12]);
impc(07,28,'Slogan',[Comp12,Negrito]);
impc(08,28,'Tel: ',[Comp12]);
imp (09,01,'Cupom N.Fiscal:' + DBEdit6.Text +
' Data:' + datetimetostr(now));
impf(10,01,'Obs: ' + DBEdit5.Text,[]);
// Dados do Cliente...
imp (11,01,traco);
impc(12,28,'Dados do Cliente',[Comp12, Negrito]);
impf(13,01,DBEdit1.Text,[comp12]);
impf(14,01,DBEdit2.Text,[comp12]);
impf(15,01,DBEdit3.Text,[comp12]);
impf(15,25,DBEdit4.Text,[comp12]);
//impf(15,01,DBEdit5.Text, [comp12]);
// Titulo dos Itens...
imp (17,01,traco);
imp (18,01,' Qte Descrição dos Produtos Unitário Sub-Total');
imp (19,01,traco);
end;
// Imprime itens do pedido...
linha := 20;
fordem.Table1.first;
while not fordem.Table1.eof do
begin
with rdprint1 do
begin
//impval(linha,01,fordem.Table1Descricao.value,[]);
impf (linha,05,fordem.Table1Descricao.value,[]);
//impf (linha,35,table1unidade.VALUE, []);
impval(linha,36,'#,##0.00', fordem.Table1Valor.value,[]);
subtotal := fordem.Table1Valor.value;
total := total + subtotal;
impval(linha,45,'##,##0.00', subtotal, []);
inc(linha);
end;
fordem.Table1.next;
end;
// Parte final do Cupom... (daqui pra frente continuo incrementando a LINHA
with rdprint1 do
begin
// Total...
imp (linha,01,traco);
inc (linha);
imp (linha,01,'Total Geral do Cupom');
impval(linha,40,'###,###,##0.00',total,[]);
// Desconto Global
inc (linha);
imp (linha,01,'(-) Desconto Global');
impval(linha,40,'-##,###,##0.00',strtofloat(desconto.text),[]);
// Total Liquido...
inc (linha);
impf(linha,01,'VALOR A PAGAR R$',[comp12,negrito]);
impval(linha,32,'###,###,##0.00',Total - strtofloat(desconto.text),[comp12,negrito]);
// Final...
inc (linha);
imp (linha,01,traco);
inc (linha);
impc(linha,28,'Obrigado pela preferência',[comp12]);
inc (linha);
inc (linha);
impc(linha,28,'Volte Sempre !',[]);
inc (linha);
inc (linha);
impc(linha,28,'*** SEM VALOR FISCAL ***',[]);
// Avança 7 linhas em Branco...
linha := linha + 7;
imp (linha,01,' '); // Para forçar impressão da página
fechar;
end;
// Restaura valores normais para imprimir Cupom Não Fiscal...
rdprint1.OpcoesPreview.Preview := false;
rdprint1.TamanhoQteLinhas := 1;
end;
Bruno Rafael
Curtir tópico
+ 0
Responder
Posts
05/05/2014
Bruno Rafael
Alguma dica?
Responder
Gostei + 0
07/05/2014
Bruno Rafael
Alguém que possa me dar uma dica???
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)