quarta-feira, 29 de julho de 2009

Problemas com separador de casas decimais

Tendo em vista que muitos programadores tem problemas com a conversão de dados de string para float e vice-versa, quando há necessidade de trabalhar com a configuração do windows no simbolo decimal com ponto ao invês de virgula, resolvi compartilhar uma função que uso em meus projetos para resolver esse problema.




Nesta função é vasculhado todos os componentes TEdit's do formulario ativo e caso o usuário tenha digitado uma virgula (,), o caracter é alterado para ponto automáticamente.

Segue a função:

procedure AlterVirgulaPonto(auxForm:TForm;var Key: Char);
var i : Integer;
begin
for i := 0 to auxForm.ComponentCount -1 do
begin
if auxForm.Components[i] is TEdit then
begin
with auxForm do
begin
if key in [',','.'] then
key := decimalseparator;
end;
end;
end;
end;

Após criado a função, basta chama-la no evento OnKeyPress do formulario.

Até a próxima...

Nenhum comentário:

Postar um comentário