Preencher campo da tabela com zero
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
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
Curtidas 0
Respostas
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
08/12/2007
Vc pode me dar um exemplo ?
Obrigado
Obrigado
GOSTEI 0
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.
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
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
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