Como colocar mascara p/ numeros no EDIT?

Delphi

03/04/2003

Caros, gostaria de saber como que faço para usar o componente Edit da seguinte forma:
- Aceitar só números;
- Que os números saiam numa formatação ex.: (999,999.99);
- Os números ao serem digitados sair na direita do edit;
- Que o valor digitado saia para uma variável numérica.

Programo em clipper e a forma de fazer este processo é muito simples, será que no delphi ficou mais complicado?

Aproveitando a deixa, gostaria saber se tem algum componente que faça retangulos mas que os valores não sejam por pixels e sim por uma medida fracionária. Ex.: (metro, centimetro, milimetro... ).


Certo de ser respondido, desde já obrigado.

Pedro Arcanjo.


Anonymous

Anonymous

Curtidas 0

Respostas

Porttime

Porttime

03/04/2003

[color=green:6dc9a8d7d5]no evento OnExit do Edit1 coloque ´Faz formatação 1,100.00´[/color:6dc9a8d7d5]

edit1.Text:= FormatFloat(´#,,0.00´, StrtoFloat(edit1.Text));

[color=blue:6dc9a8d7d5]no on exit coloque o abaixo p/ ñ aceitar de A a Z[/color:6dc9a8d7d5]

if (key in [´a´..´z´]) or (key in [´A´..´Z´]) then
key:=0;


[color=red:6dc9a8d7d5]Para valor sair em Numerico[/color:6dc9a8d7d5]
procedure TForm1.Edit1Exit(Sender: TObject);
var
valor:real; // Variavel Numerica
begin

edit1.Text:= FormatFloat(´,,0.00´, StrtoFloat(edit1.Text));
valor:=strtofloat(edit1.text);

end;


[color=darkblue:6dc9a8d7d5]Espero ter ajudado.

BlZ

Flw[/color:6dc9a8d7d5]


GOSTEI 0
André Batista

André Batista

03/04/2003

Segui seus conselhos Porttime, mas me surgiu outro problema, se o valor for maior que 1000,00 ele apresenta erro que diz:
Is not a valid floating point value
como se o valor não fosse float, será que pode me ajudar??
GOSTEI 0
André Batista

André Batista

03/04/2003

Bem, alterei um pouco a mascara e a principio resolveu, ficou desta forma, se estiver errado, me corrijam

edit1.Text:= FormatFloat(´0.00´, StrtoFloat(edit1.Text));
valor:=strtofloat(edit1.text);

Espero ter ajudado, assim como fui
GOSTEI 0
G3x

G3x

03/04/2003

Uma maneira simples de resolver este problema, dependendo da sua necessidade e claro seria substituir o edit por um MaskEdit da Guia Aditional, ele tem uma propriedade chamada EditMask onde vc pode formatar facilmente a mascara.
GOSTEI 0
Carla Batista

Carla Batista

03/04/2003

Opa G3x,

Excelente sugestão :) . Ficaria com menos código para implementar :)
GOSTEI 0
POSTAR