Linguagem EPL-2 - Zebra TLP 2844

Delphi

31/05/2005

Srs, algum de vcs sabem como utilizar a linguagem EPL utilizada nas impressoras de código de barras ZEBRA TLP 2844? Preciso desenvolver uma aplicação que gere uma etiqueta com códigos de barras para serem impressas nesta impressora. Não sei nem por onde começar, adoraria se alguém pudesse me dar uma dica.

Programalista.


Programalista

Programalista

Curtidas 0

Melhor post

Lindomar.des

Lindomar.des

31/05/2005

Colega,

Utilizo o seguinte código para imprimir etq de código de barras, 3 carreiras, em impressoras zebra:

Como vc poderá notar utilizo o componeente TComport para cominicação com a zebra. Utilizo um string grid onde é adicionados os produtos e qtd que o usuário deseja imprimir.

[/code]
procedure TfrmEtiquetas.EtiquetaProdutoBarrasSerial;
var
Qtd, i: Integer;
begin
ComPort1.Open;
for i := 1 to stringgrid1.rowcount - 1 do
begin
if stringgrid1.Cells[3, i] <> EmptyStr then
begin
if TipoImpressoraEtq = ´ZEBRA´ then
begin
ComPort1.WriteStr(´^XA´);
Qtd := Trunc(strtoint(stringgrid1.Cells[3, i]) / 3);
if Qtd < 3 then
Qtd := 3;
ComPort1.WriteStr(´^PQ´ + Trim(IntToStr(Qtd)) + ´,,,N´);
ComPort1.WriteStr(´^FO05,30^ADN,20,01^FD´ +
AbreviaNome(Trim(stringgrid1.Cells[2, i])) + ´^FS´);
ComPort1.WriteStr(´^FO30,60^BY2,,100^BEN,080,Y,N^FD´ +
stringgrid1.Cells[1, i] + ´^FS´);
ComPort1.WriteStr(´^FO283,30^ADN,20,01^FD´ +
AbreviaNome(Trim(stringgrid1.Cells[2, i])) + ´^FS´);
ComPort1.WriteStr(´^FO308,60^BY2,,100^BEN,080,Y,N^FD´ +
stringgrid1.Cells[1, i] + ´^FS´);
ComPort1.WriteStr(´^FO563,30^ADN,20,01^FD´ +
AbreviaNome(Trim(stringgrid1.Cells[2, i])) + ´^FS´);
ComPort1.WriteStr(´^FO588,60^BY2,,100^BEN,080,Y,N^FD´ +
stringgrid1.Cells[1, i] + ´^FS´);
ComPort1.WriteStr(´^XZ´);
end;
end;
end;
ComPort1.Close;
LimparGrid;
end;


função abrevia nome utilizada no exemplo:


function AbreviaNome(Nome: string): string;
var
Nomes: array[1..20] of string;
i, TotalNomes: Integer;
begin
Nome := Trim(Nome);
Result := Nome;
{Insere um espaço para garantir que todas as letras sejam testadas}
Nome := Nome + #32;
{Pega a posição do primeiro espaço}
i := Pos(32, Nome);
if i > 0 then
begin
TotalNomes := 0;
{Separa todos os nomes}
while i > 0 do
begin
Inc(TotalNomes);
Nomes[TotalNomes] := Copy(Nome, 1, i - 1);
Delete(Nome, 1, i);
i := Pos(32, Nome);
end;
if TotalNomes > 2 then
begin
{Abreviar a partir do segundo nome, exceto o último.}
for i := 2 to TotalNomes - 1 do
begin
{Contém mais de 3 letras? (ignorar de, da, das, do, dos, etc.)}
if Length(Nomes[i]) > 3 then
{Pega apenas a primeira letra do nome e coloca um ponto após.}
Nomes[i] := Nomes[i][1] + ´.´;
end;
Result := ´´;
for i := 1 to TotalNomes do
Result := Result + Trim(Nomes[i]) + #32;
Result := Trim(Result);
end;
end;
end;



GOSTEI 1

Mais Respostas

Programalista

Programalista

31/05/2005

Ok, muito obrigado Lindomar.

Sua dica já foi de grande ajuda, vou desenvolver e qualquer outra dúvida eu posto aqui.

Valeu.


GOSTEI 0
POSTAR