Jump to content


- - - - -

Etq. Codigo De Barras Zebra Tlp 2844










6 respostas a este tópico

#1 PaulinhoFeix

    Membro

  • Membros
  • PipPip
  • 34 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 24 August 2010 - 07:50 AM

ola amigos, não estou conseguindo imprimir codigo de barras de 4 digitos, na impressora Zebra TLP 2844, tentei com o compoente ACBrETQ, mais tambem não deu certo, alguem pode me dar um exemplo.

#2 Daniel Simões

    Membro - Top

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7155 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 24 August 2010 - 09:10 AM

E qual foi o problema ? por favor forneça dados precisos sobre o erro...

#3 PaulinhoFeix

    Membro

  • Membros
  • PipPip
  • 34 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 24 August 2010 - 10:48 AM

Obrigado pela sua atenção, Daniel Simões.
Bom vamos la, tente varios exemplos mais não tive exito.
1º exemplo:
var
F: TextFile;
i: Integer;
vqtd: Integer;
begin
AssignFile(F, 'LPT1');
Rewrite(F);

Writeln(F, 'N');
Writeln(F, 'Q20,110');
Writeln(F, 'D15');

vqtd := 0;
vqtd := StrToInt(Edit4.Text);

For i := 1 to vqtd do
Begin

Writeln(F, 'A5,8,0,1,1,2,N,Edit1.Text'); <--Nome do Produto
Writeln(F, 'A5,40,0,1,1,2,N,Edit2.Text'); <--Preço
Writeln(F, 'B5,70,0,E30,2,4,70,B,Edit3.Text'); <-- ID do Produto

Writeln(F, 'A290,8,0,1,1,2,N,Edit1.Text');
Writeln(F, 'A290,40,0,1,1,2,N,Edit2.Text');
Writeln(F, 'B290,70,0,E30,2,4,70,B,Edit3.Text');

Writeln(F, 'A570,8,0,1,1,2,N,"TOMATE PAULISTA KG"'); <--Desta forma funciona
Writeln(F, 'A570,40,0,1,1,2,N,"Gs: 15.000"');
Writeln(F, 'B570,70,0,E30,2,4,70,B,"788574520056"'); <--se eu mudar este codigo para 4 digitos não funciona tipo 2001 etc..
End;

Writeln(F, 'P1');
CloseFile(F);
----------------------------------------------------------
2º exemplo:
Var
vetq: TSTringList;
s, c, c1: String;
pi, pf, i: integer;
f: textfile;
begin
vetq := TSTringList.create;
vetq.clear;

// Cabeçalho da Etiqueta
vetq.Add('Q320,019');
vetq.Add('q831');
vetq.Add('rN');
vetq.Add('S4');
vetq.Add('D7');
vetq.Add('ZT');
vetq.Add('JB');
vetq.Add('OD');
vetq.Add('R56,0');
vetq.Add('N');

// Coluna 1
vetq.Add('A227,103,2,2,1,1,N,"[DESCRICAO]"');
vetq.Add('A105,45,2,3,1,1,N,"[PRECO]"');
vetq.Add('A146,151,2,3,1,1,N,"[CODBARRAS]"');
vetq.Add('B57,154,0,2,2,5,72,N,"[CODBARRAS]"');

// Coluna 2
vetq.Add('A467,103,2,2,1,1,N,"[DESCRICAO]"');
vetq.Add('A345,45,2,3,1,1,N,"[PRECO]"');
vetq.Add('A386,151,2,3,1,1,N,"[CODBARRAS]"');
vetq.Add('B297,154,0,2,2,5,72,N,"[CODBARRAS]"');

// Coluna 3
vetq.Add('A707,103,2,2,1,1,N,"[DESCRICAO]"');
vetq.Add('A585,45,2,3,1,1,N,"[PRECO]"');
vetq.Add('A626,151,2,3,1,1,N,"[CODBARRAS]"');
vetq.Add('B537,154,0,2,2,5,72,N,"[CODBARRAS]"');
// Rodapé da Etiqueta
vetq.Add('P1');

// substitui as variáveis delimitadas por [] pelo conteúdo do campo
for i := 0 to vetq.count - 1 do
begin
s := vetq.strings[i];
pi := pos('[', s);
pf := pos(']', s);
while pi > 0 do
begin
c := copy(s, pi + 1, pf - pi - 1);
c1 := cdsProducto.FieldByName('ID').AsString;
c1 := cdsProducto.FieldByName('PRODUCTO').AsString;
c1 := cdsProducto.FieldByName('PRECIO').AsString;
s := StringReplace(s, '[' + c + ']', c1, [rfReplaceAll]);
pi := pos('[', s);
pf := pos(']', s);
end;
vetq.strings[i] := s;
end;

// gera arquivo texto com o conteúdo que será enviado para a impressora
vetq.SaveToFile('c:\etiqueta.txt');

// criar um arquivo .bat para enviar o arquivo texto gerado para a impressora atraves da porta LPT1
// usando o comando type do DOS
if not FileExists('C:\PRINTLBL.BAT') then
begin
AssignFile(f, 'C:\PRINTLBL.BAT');
try
Rewrite(f);
Writeln(f, 'TYPE C:\ETIQUETA.TXT > LPT1');
finally
CloseFile(f);
end
end;

ShellExecute(0, 'Open', PChar('C:\PRINTLBL.BAT'), nil, nil, Ord(SW_HIDE));

// Para usar USB tem que compartilhar a impressora e enviar o arquivo para o compartilhamento
// Ex: Type c:\etiqueta.txt > \\computador\impressora

Desta forma o a impresora só imprime o Codigo.
c := copy(s, pi + 1, pf - pi - 1);
c1 := cdsProducto.FieldByName('ID').AsString;
c1 := cdsProducto.FieldByName('PRODUCTO').AsString;
c1 := cdsProducto.FieldByName('PRECIO').AsString;
s := StringReplace(s, '[' + c + ']', c1, [rfReplaceAll]);
pi := pos('[', s);
pf := pos(']', s);
não sei como fazer esta parte..
----------------------------------------------------------------------------
3º exemplo:
with ACBrETQ do
begin
Modelo := TACBrETQModelo(cbModelo.ItemIndex);
Porta := cbPorta.Text;
Avanco := StrToInt(eAvanco.Text);
Ativar;

ImprimirTexto(orNormal, 2, '1', '2', 0180, 0015, 'BISCOITO REC 335G');
ImprimirTexto(orNormal, 2, '1', '1', 0140, 0015, 'CHOC BRANCO');
ImprimirBarras(orNormal, 'F', '2', '2', 0020, 0010, '7896003701685', 070);

ImprimirTexto(orNormal, 2, '1', '2', 0180, 0315, 'BISCOITO RECH 335G');
ImprimirTexto(orNormal, 2, '1', '1', 0140, 0315, 'CHOC BRANCO');
ImprimirBarras(orNormal, 'F', '2', '2', 0020, 0315, '7896003701685', 070);

ImprimirTexto(orNormal, 2, '1', '2', 0180, 0620, 'BISCOITO RECH 335G');
ImprimirTexto(orNormal, 2, '1', '1', 0140, 0620, 'CHOC BRANCO');
ImprimirBarras(orNormal, 'F', '2', '2', 0020, 0620, '7896003701685', 070);

Imprimir(StrToInt(eCopias.Text));
Desativar;
end;
Desta forma com o compoenete nem executa a impressão

não sei como resolver esta situação.
Obrigado pela atenção

#4 Daniel Simões

    Membro - Top

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7155 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 24 August 2010 - 11:16 AM

Se for usar o ACBrETQ... primeiro faça testes com o Demo (na pasta Exemplos)...

teste varias opções na "Porta"

#5 PaulinhoFeix

    Membro

  • Membros
  • PipPip
  • 34 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 24 August 2010 - 12:14 PM

Daniel Simões, eu usei o demo e fiz varios teste, e não tive exito, so uma pergunta este componente soporta esta impressora?

#6 PaulinhoFeix

    Membro

  • Membros
  • PipPip
  • 34 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 24 August 2010 - 02:40 PM

Amigo deu certo uma parte, no formato EAN13, funciona perfeita mente, porem quando vou tentar imprimir no formato de 4 digito, não aparece o codigo de barra, como posso resolver isto.
exemplo:
var
F: TextFile;
vqtd, i: Integer;
begin
vqtd := StrToInt(Edit4.Text);

For i := 1 to vqtd do
begin
AssignFile(F, 'LPT1');
Rewrite(F);

Writeln(F, 'N');
Writeln(F, 'Q20,110');
Writeln(F, 'D15');

Writeln(F, 'A5,8,0,1,1,2,N,"' + Edit1.Text + '"'); <--Nome do Produto
Writeln(F, 'A5,40,0,1,1,2,N,"' + Edit2.Text + '"'); <--Preço
Writeln(F, 'B5,70,0,E30,2,4,70,B,"' + Edit3.Text + '"'); <-- ID do Produto o que devo alterar aqui?????

Writeln(F, 'A290,8,0,1,1,2,N,"' + Edit1.Text + '"');
Writeln(F, 'A290,40,0,1,1,2,N,"' + Edit2.Text + '"');
Writeln(F, 'B290,70,0,E30,2,4,70,B,"' + Edit3.Text + '"');

Writeln(F, 'A570,8,0,1,1,2,N,"' + Edit1.Text + '"');
Writeln(F, 'A570,40,0,1,1,2,N,"' + Edit2.Text + '"');
Writeln(F, 'B570,70,0,E30,2,4,70,B,"' + Edit3.Text + '"');
Writeln(F, 'P1');
CloseFile(F);
end;

#7 Daniel Simões

    Membro - Top

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7155 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 24 August 2010 - 02:58 PM

View PostPaulinhoFeix, on 24 August 2010 - 12:14 PM, said:

Daniel Simões, eu usei o demo e fiz varios teste, e não tive exito, so uma pergunta este componente soporta esta impressora?
R1: Claro que SIM... já havia lhe respondido isso em outro tópico...

R2: Use outro tipo de código, EAN13 (obviamente) exige 13 dígitos





1 usuário(s) esta(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)