Impressora termica

Delphi

18/09/2008

Ola pessoal,

comprei uma impressora termica da procomp (diebold) e gostaria de implementar um recibo , mas andei dando uma olhado no site do fabricante e possui um exemplo muito fraco de como usar a impressora no delphi.Gostaria de saber se alguem usa esta impressora ou se tem alguma rotina em canvas (exemplo fabricante usa canvas) que eu possa comecar a implementar alguma coisa no meu sistema.

valeu

ate +


Chmelo

Chmelo

Curtidas 0

Respostas

Nasguone

Nasguone

18/09/2008

Vc sabe se ela utiliza o padrão ZPL ou ZPLII...se sim me post um mail que te envio um exemplo bom...


GOSTEI 0
Chmelo

Chmelo

18/09/2008

Edson,

andei dando uma olhada no manual da impressora e nao achei nada sobre o padrao que voce me passou, mas esta impressora e daquela que emitem aqueles cupons (sem ser Fiscal), e gostaria de saber se tem alguma rotina , ja que no site do fabricante tem um exemplo em canvas so que esta meio confuso de entender.
Nunca usei o canvas para imprimir , e gostaria de algum exemplo que pudesse me orientar como desenvolver a rotina para emissao de um cupom para pedido de mesa.

obrigado..

ate +


GOSTEI 0
Nasguone

Nasguone

18/09/2008

estou te enviando um exemplo para a impressora termica padrão zebra que utiliza a linguagem zplII bem eu escrevo direto na porta com com o componente C-Port 3.10 que e free e funciona muito bem ate a versão 2006.
Onde esta os dm vc pode substituir por uma string qualquer so para fazer seu teste...
Com1.Open;


///////QUADRO NEGRO ETIQUETA PEQUENA
com1.WriteStr(´^FX Quadro negro ^FS´);
com1.WriteStr(´^FO0,0´);
com1.WriteStr(´^GB565,100,250^FS´);
// COD BARRAS
com1.WriteStr(´^FO20,15´);
com1.WriteStr(´^BY2´);
com1.WriteStr(´^BCN,60,N´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+DM.cdEtqGerProd_Serial.AsString+´^FS ´);
// serial DA PEÇA
com1.WriteStr(´^FO20,75´);
com1.WriteStr(´^AEN,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+DM.cdEtqGerProd_Serial.AsString+´^FS´);
///////////veiculo/////////////////////////////////////////
com1.WriteStr(´^FO020,110´);
com1.WriteStr(´^AEN,15,08´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+dm.cdEtqGerVEICULO.AsString+´^FS´);
// peça/cor
com1.WriteStr(´^FO20,135´);
com1.WriteStr(´^AEN,15,08´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+dm.cdEtqGerPART_SHORT.AsString+´ / ´+dm.cdEtqGerColor_Name.AsString+´^FS´);
// Aço/Franja
if dm.cdEtqGerSTEEL.AsString = ´SIM´ then
begin
pecaco := ´PECA COM ACO´;
end;
if dm.cdEtqGerSTEEL.AsString = ´NAO´ then
begin
pecaco := ´PECA SEM ACO´;
end;
com1.WriteStr(´^FO20,165´);
com1.WriteStr(´^AEN,15,08´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+pecaco+´ / ´+dm.cdEtqGerSunBand_Name.AsString+´^FS´);
// Edge
com1.WriteStr(´^FO20,195´);
com1.WriteStr(´^AEN,15,08´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDEDGE:´+DM.cdEtqGerGlassEdge_Name.AsString+´^FS´);
// logo
com1.WriteStr(´^FO20,225´);
com1.WriteStr(´^AEN,15,08´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDT.M:´+TRIM(dm.cdEtqGerLogo_Name.AsString)+´/´+TRIM(dm.cdEtqGerLogo_Desc.AsString)+´^FS´);
/// INICIA ENTRADA DESCRITIVA DA ETQ GRANDE
// DADOS ETIQUETA VEICULO ////////////////////////////////////////////
com1.WriteStr(´^FO520,485´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDPARTNUMBER:´+dm.cdEtqGerPARTNUMBER.AsString+´^FS´);
// DADOS ETIQUETA PEDIDO
com1.WriteStr(´^FO480,485´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+DM.cdEtqgerOrder_Code.AsString+´^FS´);
//////////////emite dados DATA///
com1.WriteStr(´^FO480,705´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+DateToStr(dataconsulta)+´^FS´);
////////////////emite dados TMARK
com1.WriteStr(´^FO445,485´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDT.Mark:´+TRIM(dm.cdEtqgerLogo_Name.AsString)+´-´+TRIM(dm.cdEtqgerLogo_Desc.AsString)+´^FS´);
// RESPONSAVEIS PELA PEÇA
com1.WriteStr(´^FO390,485´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDRESP:_______________________^FS´);
// DADOS ETIQUETA PARTNUMBER
com1.WriteStr(´^FO350,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+dm.cdEtqGerVEICULO.AsString+´^FS´);
// DADOS ETIQUETA PECA TIPO
com1.WriteStr(´^FO310,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDTIPO:´+dm.cdEtqgerPART_SHORT.AsString+´^FS´);
// DADOS ETIQUETA PECA TIPO COM ACO
com1.WriteStr(´^FO310,450´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+pecaco+´^FS´);
// DADOS ETIQUETA EDGE
com1.WriteStr(´^FO270,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDEDGE:´+DM.cdEtqgerGlassEdge_Name.AsString+´^FS´);
// DADOS ETIQUETA COR
com1.WriteStr(´^FO230,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDCOR´+dm.cdEtqgerColor_Name.AsString+´^FS´);
// DADOS ETIQUETA FRANJA
com1.WriteStr(´^FO190,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDFRANJA´+dm.cdEtqgerSunBand_Name.AsString+´^FS´);
///////////////EMITE steel DA PEÇA
com1.WriteStr(´^FO150,265´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FDStell:´+dm.cdETQgerSTEEL.AsString+´^FS´);
//COD BARRAS
com1.WriteStr(´^FO70,500´);
com1.WriteStr(´^BY2´);
com1.WriteStr(´^BCR,100,N´);
com1.WriteStr(´^FN´);
com1.WriteStr(´^FD´+DM.cdEtqgerProd_Serial.AsString+´^FS ´);
// SERIAL CÓD BARRAS;
com1.WriteStr(´^FO25,530´);
com1.WriteStr(´^AER,15,15´);
com1.WriteStr(´^FR´);
com1.WriteStr(´^FD´+DM.cdEtqgerProd_Serial.AsString+´^FS ´);
/////////////ENCERRA ETQ GRANDE PEÇAS NORMAIS
com1.WriteStr(´^PQ1,0,1,Y^XZ´);
Sleep(2500);
com1.Close;

end;


GOSTEI 0
POSTAR