Fórum Como criar um numero grande sequencial #148185
20/03/2003
0
Tenho um codigo EAN13. Qdo eu reservo um produto, esse codigo q geralmente comeca com 789, tem q se transformar em 441(codigo de produto reservado) somente para controle interno, nao vale para fora da fabrica. Só q esse numero tem q ser gerado automaticamente e nao manualmente e os cinco ultimos viram 00001 e incrementando em 1, ou seja, o segundo 00002, 00003, 00004 e sucessivamente. Se eu souber fazer com os primeiros, farei com os ultimos. Alguém tem idéia?
Paulo
Curtir tópico
+ 0
Responder
Posts
20/03/2003
Aroldo Zanela
Tenho um codigo EAN13. Qdo eu reservo um produto, esse codigo q geralmente comeca com 789, tem q se transformar em 441(codigo de produto reservado) somente para controle interno, nao vale para fora da fabrica. Só q esse numero tem q ser gerado automaticamente e nao manualmente e os cinco ultimos viram 00001 e incrementando em 1, ou seja, o segundo 00002, 00003, 00004 e sucessivamente. Se eu souber fazer com os primeiros, farei com os ultimos. Alguém tem idéia?
Caro Paulo,
Acho que você poderia criar uma tabela para armazenar o contador e usar o exemplo abaixo para a formação do código.
function TForm1.StrZero(Numero, Tamanho: Integer): string; var Valor: String; nLen: Integer; begin Result := ´´; Valor:= IntToStr(Numero); nLen := Length(Valor); if nLen < Tamanho Then Result := StringOfChar(´0´, Tamanho - nLen) + Valor; end; procedure TForm1.Button1Click(Sender: TObject); var a, b: Integer; begin A := 1;B := 1; ShowMessage(EAN13Interno(a,b)); end; function TForm1.EAN13Interno(Seq1, Seq2: Integer): String; begin Result := ´441´+StrZero(Seq1,5)+StrZero(Seq2,5); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)