Como criar um numero grande sequencial

Delphi

20/03/2003

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

Paulo

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

20/03/2003

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;



GOSTEI 0
POSTAR