Preencher campo da tabela com zero

Delphi

08/12/2007

Pessoal,

Imagine que tenho um campo da tabela do tipo int, o comprimento é 7. No momento que busco o valor na tabela, preciso que o valor seje retornado dessa forma. Ex:

0000001 ou 0000023

Pensei em colocar o campo sendo do tipo char, mas o problema é que o número é autoincremento então seria necessário que o tipo seja int. Preciso que este valor seja retornado dessa forma, isso porque estou desenvolvendo um sistema para gerar arquivos txt e mandar para um orgão do governo federal e o layout do arquivo tem que ser dessa forma. Alguém teria alguma ideia ?

Obs: O banco de dados que estou utilizando é o MySQL

Obrigado


Leandrosl

Leandrosl

Curtidas 0

Respostas

Edilcimar

Edilcimar

08/12/2007

use uma variável string pegue o valor numérico jogue na variável e preencha com zeros à esquerda


GOSTEI 0
Leandrosl

Leandrosl

08/12/2007

Vc pode me dar um exemplo ?

Obrigado


GOSTEI 0
Gilson.pontes

Gilson.pontes

08/12/2007

Amigo, não sei como vc vai implementar aí no seu caso, mas utilizo as função abaixo:

function CplStrEsq(n, t: integer): string;
i: integer;
begin
Result := IntToStr(n);
i := length(Result);
while (i < t) do
begin
Result := ´0´ + Result; // adiciona um zero à esquerda
inc(i);
end;
end;

onde ´n´ é o inteiro autoincrementado,
´t´ é o tamanho da string que vc quer gerar,
e ´i´ é uma variável interna da função que vai determinar a inclusão de zeros à esquerda enquanto i<t.

abraço.


GOSTEI 0
Leandrosl

Leandrosl

08/12/2007

Ok pessoal, resolvi esse problema da seguinte forma:

Variavel:=FormatFloat(´000000#´,StrToInt(Edit1.Text));

Aproveitando o tópico, alguém sabe me dizer como eu pego os espaços vazios de um campo da tabela ?

Ex:

Tenho um campo do comprimento 30. Imagine que nesse campo eu utilize apenas 10 caracteres, então sobraram 20. Eu estava precisando pegar o conteudo do campo e os espaçoes em brancos que sobraram. Existe alguma função do delphi que me retona isso ?

O banco que estou utilizando é o MySQL.

Obrigado


GOSTEI 0
POSTAR