[firebase-br] RES: Pegar Código

renato wulf jr renatus em centris.com.br
Seg Jul 30 14:46:35 -03 2012


João,

Se me permite, no lugar onde vc usa o while pra definir a quantidade de
zeros, utilize a função StringOfChar.

Ex.:

StringOfChar('x', 3) = 'xxx'


Renato

Em 30 de julho de 2012 12:40, João Marcos <unixkiller em gmail.com> escreveu:

> Bem, como as minhas chaves são strings, a função abaixo gera o ID e
> preenche já com a quantidade de zeros que você queira.
> Gero o código antes de inserir, nunca tive problemas.
>
> function TDM.geraCodigo(AGenerator: string; tam : integer): string;
> var
>  zeros : string;
>  ct : integer;
> begin
>  ct:=0;
>
>  while ct < tam do
>  begin
>   zeros:=zeros+'0';
>   ct:=ct+1;
>  end;
>  with TIBQuery.Create(Application) do
>  try
>    DataBase    := dbrestaurante;
>    Transaction := transacao;
>    SQL.Text := 'select gen_id(' + AGenerator + ', 1) from rdb$database';
>    Open;
>    result:=Formatfloat(zeros,Fields[0].AsInteger);
>  finally
>    Free;
>  end;
> end;
>
>



Mais detalhes sobre a lista de discussão lista