Ajuda - Busca - Membros - Calendário
Versão Completa: (Resolvido) Código de Barras.
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Predes
alguém possui um complemento de Código de barras pra delphi 5 gratuito??
preciso gerar uma etiqueta de acordo com um resultado e imprimir esse código na etiqueta
achei um Barcode do Juergen Schlottke porem é shareware e toda vez q abro meu Delphi ou executo o programa ele me da uma msgm pra fazer update etc...
Se alguém puder ajudar preciso urgente!
Micheus
QUOTE(Predes @ 11/02/2009 - 12:24) *
alguém possui um complemento de Código de barras pra delphi 5 gratuito??
preciso gerar uma etiqueta de acordo com um resultado e imprimir esse código na etiqueta
achei um Barcode do Juergen Schlottke porem é shareware e toda vez q abro meu Delphi ou executo o programa ele me da uma msgm pra fazer update etc...
Se alguém puder ajudar preciso urgente!
Predes, acho que uma solução rápida passa pelo uso de Fontes true-type, mas neste tópico você também encontra dicas de componentes: Código de Barras 3 de 9


Abraços
Predes
Obrigado Micheus, atendeu perfeitamente, agora pra não ficar criando outro tópicos sobre este meu projeto, caso possam me ajudar ficarei agradecido, a duvida agora é a seguinte:

Tenho um campo sequencia onde ele incia no "1" e a cada leitura acresce 1.
Fiz da seguinte maneira (não sei se a melhor pois é meu primeiro projeto, aceito sugestões).

if (LblStatus.caption <> '') and QrLeitura.FieldValues['sequencia']=null then Se não Tiver nenhum Registro recebe 1
begin
cont:=1;
QrLeitura.Append;
QrLeitura.FieldValues ['Cracha']:=Dblogin.text;
QrLeitura.FieldValues ['data']:=now;
QrLeitura.FieldValues ['Produto']:=DbProdutos.Text;
QrLeitura.Fieldvalues ['medida']:=SttPeso.caption;
QrLeitura.FieldValues ['Status']:=LblStatus.Caption;
QrLeitura.FieldValues ['Funcionario']:=DbOpe.Text;
QrLeitura.FieldValues ['sequencia']:=cont;
QrLeitura.Post;
QrLeitura.close;
QrLeitura.open;
end
else if (LblStatus.Caption <> '')and (QrLeitura.FieldValues['sequencia']<>null) then
begin
cont:=QrLeitura.FieldValues['sequencia'];
QrLeitura.Append;
QrLeitura.FieldValues ['Cracha']:=Dblogin.text;
QrLeitura.FieldValues ['data']:=now;
QrLeitura.FieldValues ['Produto']:=DbProdutos.Text;
QrLeitura.Fieldvalues ['medida']:=SttPeso.caption;
QrLeitura.FieldValues ['Status']:=LblStatus.Caption;
QrLeitura.FieldValues ['Funcionario']:=DbOpe.Text;
QrLeitura.FieldValues ['sequencia']:=cont+1;
QrLeitura.Post;
QrLeitura.close;
QrLeitura.open;
end
end;

A intenção era se já tivesse registro no campo Sequencia a variavel CONT receberia esse valor e acresceria 1, e isto está acontecendo, porem ele sempre acresce 1 no primeiro registro (que é 1) então os próximos sempre ficam 1 + 1.
Como faço pra a variavel CONT receber o Ultimo registro do campo Sequencia ao invés do Primeiro?
Obrigado mais uma vez!
Jhonas
Se interessar .... outros tipos de codigos de barras

http://superdownloads.uol.com.br/lista/cod...c234o4s1y1.html

abraço
Predes
QUOTE(Jhonas @ 12/02/2009 - 11:48) *
Se interessar .... outros tipos de codigos de barras

http://superdownloads.uol.com.br/lista/cod...c234o4s1y1.html

abraço


Obrigado Jhonas.
Se alguém puder me ajudar na questão acima, estou precisando urgente!
Como faço pra a variavel CONT receber o Ultimo registro do campo Sequencia ao invés do Primeiro?
Jhonas
fica assim

CODE
if (LblStatus.caption <> '') and QrLeitura.FieldValues['sequencia']=null then Se não Tiver nenhum Registro recebe 1
begin

cont:=1;

QrLeitura.Append;
QrLeitura.Edit;

QrLeitura.FieldValues ['Cracha']:=Dblogin.text;
QrLeitura.FieldValues ['data']:=now;
QrLeitura.FieldValues ['Produto']:=DbProdutos.Text;
QrLeitura.Fieldvalues ['medida']:=SttPeso.caption;
QrLeitura.FieldValues ['Status']:=LblStatus.Caption;
QrLeitura.FieldValues ['Funcionario']:=DbOpe.Text;
QrLeitura.FieldValues ['sequencia']:=cont;
QrLeitura.Post;
QrLeitura.close;
QrLeitura.open;
end
else if (LblStatus.Caption <> '')and (QrLeitura.FieldValues['sequencia']<>null) then
begin

QrLeitura.Last; // ultimo registro

cont:=QrLeitura.FieldValues['sequencia'];  // cont recebe o valor do ultimo registro

QrLeitura.Append;
QrLeitura.Edit;

QrLeitura.FieldValues ['Cracha']:=Dblogin.text;
QrLeitura.FieldValues ['data']:=now;
QrLeitura.FieldValues ['Produto']:=DbProdutos.Text;
QrLeitura.Fieldvalues ['medida']:=SttPeso.caption;
QrLeitura.FieldValues ['Status']:=LblStatus.Caption;
QrLeitura.FieldValues ['Funcionario']:=DbOpe.Text;
QrLeitura.FieldValues ['sequencia']:=cont+1; // o valor de cont é somado
QrLeitura.Post;
QrLeitura.close;
QrLeitura.open;
end
end;


abraço
Predes
Simples assim?
laugh.gif
Muito obrigado Jhonas funcionou perfeitamente, agora se não for pedir d+ existe alguma função igual ao FormatDateTime one eu consigo por exemplo do ano YYYY extrair só YY, queria receber em outro campo o valor "sequencia" que é inteiro (1,2,3) queria q ficasse (001,002,003) tentei receber num formato de um mask edit mais não consegui!
Mais realmente vocês já me ajudaram muito, obrigado + uma vez!
Jhonas
QUOTE

existe alguma função igual ao FormatDateTime one eu consigo por exemplo do ano YYYY extrair só YY
voce pode mudar as propriedade regionais do windows no formato da data que deseja dd/mm/aa ai não precida mudar nada no programa

outra solução é copiar parte da string do ano

exemplo

CODE
procedure TForm1.Button1Click(Sender: TObject);
var
  Present: TDateTime;
  Ano, Mes, Dia: Word;
begin
  Present:= Now;

  DecodeDate(Present, Ano, Mes, Dia);

  Label1.Caption := 'Hoje é dia  ' + IntToStr(Dia) + ' do mês '
    + IntToStr(Mes) + ' do ano ' + copy(IntToStr(Ano),3,2); // ultimos 2 digitos do ano

end;


QUOTE

queria receber em outro campo o valor "sequencia" que é inteiro (1,2,3) queria q ficasse (001,002,003) tentei receber num formato de um mask edit mais não consegui!


exemplo

CODE
procedure TForm1.Edit1Exit(Sender: TObject);
begin
    Edit1.Text := FormatFloat('000',StrToFloat(Edit1.Text));
end;


outro exemplo

CODE
procedure TForm1.Button1Click(Sender: TObject);
var n : integer;
begin
   n := 2;
   Edit1.Text := FormatFloat('000',StrToFloat(inttostr(n)));
end;



abraço
Micheus
QUOTE(Predes @ 13/02/2009 - 09:00) *
existe alguma função igual ao FormatDateTime one eu consigo por exemplo do ano YYYY extrair só YY
Predes, a função FormatDateTime, faz "qualquer" coisa com a data - basta que use a formatação correta.

Se você fizer FormatDateTime('yy', date), terá a o ano com dois dígitos.

Usando o exemplo do Jhonas, você pode obter o mesmo resutado fazendo:
Label1.Caption := FormatDateTime('"Hoje é dia" dd "do mês" mm "do ano" yy', date);
As aspas duplas delimitam o texto que contém caracteres de formatação da função - isso evita conversões errôneas.

Abraços
Predes
Mais uma vez acertaram em cheio...vlw Jhonas vlw Micheus funcionou perfeitamente!
Predes
Gente voltei a esse projeto e surgiu uma necessidade do seguinte:
Esse campo sequencia é zerado diariamente, porem o usuario alterna entre produtos varias vezes por dia ou seja
o produto1 já esta na sequencia 16, o usuario muda para produto2 q a sequencia ainda é 0, quando ele voltar para o produto1 ele tem q continuar a partir do 16, e tem q ser assim com todos items, se fosse só com 2 ficaria facil porem são varios produtos tenho que armazenar a sequencia de cada um pra poder continuar de onde parou.
eu estou usando um DBEdit para selecionar o item!

Mais uma vez preciso da ajuda de voces!
desde já agradeço
Jhonas
QUOTE
Gente voltei a esse projeto e surgiu uma necessidade do seguinte:
Esse campo sequencia é zerado diariamente, porem o usuario alterna entre produtos varias vezes por dia ou seja
o produto1 já esta na sequencia 16, o usuario muda para produto2 q a sequencia ainda é 0, quando ele voltar para o produto1 ele tem q continuar a partir do 16, e tem q ser assim com todos items, se fosse só com 2 ficaria facil porem são varios produtos tenho que armazenar a sequencia de cada um pra poder continuar de onde parou.
eu estou usando um DBEdit para selecionar o item!


Crie um campo de controle para esta finalidade

neste exemplo seria o campo item

Venda Nº ------ item ------ Produto
0001------------ 1 ------ AAAA
0001------------ 2 ------ BBBB

0002------------ 1 ------ CCCC
0002------------ 2 ------ DDDD
0002------------ 3 ------ AAAA
0002------------ 4 ------ EEEE

0003------------ 1 ------ FFFF

Ao chamar uma das vendas, a sequencia continuará a partir do ultimo item dessa venda

abraço
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.