Mascara na Variavel

Delphi

26/07/2018

Bom Dia Galera assim estou tentando colocar uma mascara em uma variável que vai receber uma id de um banco de dados exemplo
produto x = codigo 3
produto y = codigo 10
produto k = codigo 125

o que eu quero e que minha variável receba o código do produto x e antes dele coloque 00 então a variável vai ficar 003, se receber o produto y vai ficar 010 e se receber o produto k fica 125 normal tem como fazer isso no delphi
Abner Carvalho

Abner Carvalho

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

26/07/2018

Você pode utilizar a função Format para adicionar zeros a esquerda de uma variável inteira.

Exemplo:

var
   Numero: Integer;
begin
   Numero:= 3;
   Edit1.text:= Format('%3.3d',[Numero]); // resulta '003';
end;


Veja este link:
http://www.delphibasics.co.uk/RTL.asp?Name=format
GOSTEI 2

Mais Respostas

Raimundo Pereira

Raimundo Pereira

26/07/2018

Bom dia!

1.

function TForm1.Valida_Mask(Valor_Origem: string): string;
Var Valor_Conv:integer;
begin
try
Valor_Conv:=StrToInt(Valor_Origem);
if Valor_Conv<10 then
Result:='00'+Valor_Origem;

if Valor_Conv>9 then
Result:='0'+Valor_Origem;

if Valor_Conv>99 then
Result:=Valor_Origem;

except
ShowMessage('Você deve informar um valor válido');
Result:='0';
end;
end;

Chame a função no onkeypress ou onde desejar.


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if Edit1.Text<>'' then
begin
Edit1.Text:=Valida_Mask(Edit1.Text);
end;
end;
end;
GOSTEI 1
Raimundo Pereira

Raimundo Pereira

26/07/2018

Fiz uma alteração na função usando a sugestão do Natanael:


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
Edit1.text:= Valida_Mask(Edit1.Text);
end;
end;

function TForm1.Valida_Mask(Valor_Origem: string): string;
var Numero:integer;
begin
try
Numero:=StrToInt(Valor_Origem);
Result:=Format('%3.3d',[Numero]);
except
ShowMessage('Você deve informar um valor válido');
Result:='';
end;
end;
GOSTEI 1
Abner Carvalho

Abner Carvalho

26/07/2018

Obrigado Natanael Ferreira e P2 Técnico, pela ajuda me ajudaram muito.
GOSTEI 0
POSTAR