Adição Automatica numerica
Amigos gostaria de saber como fazer com que meu relatório quando precinado o botão ´adicionar´ seja automaticamente somado o numero do último relatório +1 e apereça em uma edit ou Label, e isso subsequentemente a cada vez que adiciono um novo Relatório.
Quero fazer isso para que os usuarios não coloquem numeros aleatórios e venha a perder a rastreabilidade do registro.
Agradeço muito pela ajuda
Sandro
Quero fazer isso para que os usuarios não coloquem numeros aleatórios e venha a perder a rastreabilidade do registro.
Agradeço muito pela ajuda
Sandro
Roldan111
Curtidas 0
Respostas
Marconi
04/06/2003
Sandro
Voce pode fazer de um forma simples.
Crie uma tabela só para controlar isto. A tabela somente terá um registro, com o último valor entrado. A cada nova geração voce captura o número anterior, soma +1 e também atualiza esta tabela.
A campo deve ser númerico, mas voce pode trabalhar com o nome do relatório em string. Para isto eu recuperei do Clipper uma função muito útil que não existia no Delphi.
Ela gera uma string a partir de um número (valor) no tamanho (tam), com zeros à esquerda. Se o tamanho não for suficiente ela gera caracteres ´*´.
Function TForm1.StrZero(valor,tam:Int64):string;
begin
result:=IntToStr(valor);
if length(result)> tam then result:=StringOfChar(´*´,tam);
while length(result)<tam do result:=´0´+result;
end;
......
numero:=controle[´num´]+1;
ProximoRelatorio:=´Rel´+StrZero(num,5);
Controle.edit;
Controle[´num´]:=numero;
Controle.post;
....
....
Se o número for 101 o ProximoRelatorio será ´Rel00101´
Espero ter ajudado
Marconi
Voce pode fazer de um forma simples.
Crie uma tabela só para controlar isto. A tabela somente terá um registro, com o último valor entrado. A cada nova geração voce captura o número anterior, soma +1 e também atualiza esta tabela.
A campo deve ser númerico, mas voce pode trabalhar com o nome do relatório em string. Para isto eu recuperei do Clipper uma função muito útil que não existia no Delphi.
Ela gera uma string a partir de um número (valor) no tamanho (tam), com zeros à esquerda. Se o tamanho não for suficiente ela gera caracteres ´*´.
Function TForm1.StrZero(valor,tam:Int64):string;
begin
result:=IntToStr(valor);
if length(result)> tam then result:=StringOfChar(´*´,tam);
while length(result)<tam do result:=´0´+result;
end;
......
numero:=controle[´num´]+1;
ProximoRelatorio:=´Rel´+StrZero(num,5);
Controle.edit;
Controle[´num´]:=numero;
Controle.post;
....
....
Se o número for 101 o ProximoRelatorio será ´Rel00101´
Espero ter ajudado
Marconi
GOSTEI 0