Problemas com máscaras de entrada

Delphi

04/06/2005

Por favor, alguém sabe como solucionar aquele erro que dá nas máscaras de entrada, quando não se preenche todos os espaços?
Por exemplo:
tenho uma máscara para data ( / / ), fui no campo e errei ao preencher, assim: 04/06/0 . Um erro ocorrerá. Tem como fazer esse erro não ser gerado, pois daí eu poderia dar uma msg ao usuario q ele digitou errado, mas sem o erro.

VLW


Sérgio Gobbo

Sérgio Gobbo

Curtidas 0

Respostas

Edilcimar

Edilcimar

04/06/2005

try
data := datetostr(maskedit1.text);
except
showmessage(´mané isto não é uma data válida´);
maskedit1.setfocus;
end;


GOSTEI 0
Marco Salles

Marco Salles

04/06/2005

´mané isto não é uma data válida´


andou um pouco afastado e voltou quente....

Mas acho que o amigo [b:8dbb2a535e]junior_gobbo [/b:8dbb2a535e], quer evitar aquele tipo de erro automatico gerado pelo delphi

e o seguinte amigo ... Tente trocar todos os Zeros da sua mascara por nove .. Com exeção ao Ultimo zero que não tem a ver com este problema

Tipo isto

!99/99/0000;1;_ Por isto !99/99/9999;1;_



GOSTEI 0
Sérgio Gobbo

Sérgio Gobbo

04/06/2005

Ae Marco Salles... deu certo com data, mas e qdo c usa alfanumerico, por exemplo, um RG: 999.999.999-A. Como eu faria para evitar esse erro colocando a mascara do ultimo caracter como alfanumerico?

VLW


GOSTEI 0
Marco Salles

Marco Salles

04/06/2005

Como eu faria para evitar esse erro colocando a mascara do ultimo caracter como alfanumerico?


999.999.999-a;1;_


Voce ja testou colocar a mascara acima na propriedade EditMask do MaskEdit ::: Não funcionou :?: :?: :?:


Importante :

[b:676ff63492]P:s Para ver a diferença da Mascara com o final Um da mascara com o final zero , ate mesmo em nivel de projeto voce ve a diferença[/b:676ff63492]

Coloque a mascara com o final 1 e va no objecto Inspector e veja a propriedade Text Com esta
Agora mude o valor da mascara na propriedade MaskEdit para o Final Zero e volte na propriedade Text a nivel de Projeto e Veja se observa alguma alteração

Na verdade quando se escolhe mascara com final 1 voce esta salvando as literais e leas acompanhama a propriedade text do maskedit



GOSTEI 0
Marco Salles

Marco Salles

04/06/2005

Amigo , ao reler este topico , pode ser que eu causei alguma duvida em voce

Qaundo disse na primeira mensagem

Tente trocar todos os Zeros da sua mascara por nove .. Com exeção ao Ultimo zero que não tem a ver com este problema


Quis me referir a todos os zeros antes do ponto e virgula no final da mascara

Assim:

!99/99/0000;1;_ Por isto !99/99/9999;1;_  ou mesmo isto

!99/99/0000;1;_ Por isto !99/99/9999;0;_ 
**Ultimo zero apos ; não tem nada a ver com o problema


[b:dbc00fc7a4]O resto da mensagem anterior continua igualmente::::[/b:dbc00fc7a4]

Citação:
Como eu faria para evitar esse erro colocando a mascara do ultimo caracter como alfanumerico?  


Código:
999.999.999-a;1;_   ou 999.999.999-a;0;_



Voce ja testou colocar a mascara acima na propriedade EditMask do MaskEdit ::: Não funcionou :?: :?: :?:


Importante :

[b:dbc00fc7a4]P:s Para ver a diferença da Mascara com o final Um da mascara com o final zero , ate mesmo em nivel de projeto voce ve a diferença [/b:dbc00fc7a4]

Coloque a mascara com o final 1 e va no objecto Inspector e veja a propriedade Text Com esta
Agora mude o valor da mascara na propriedade MaskEdit para o Final Zero e volte na propriedade Text a nivel de Projeto e Veja se observa alguma alteração

Código:
Na verdade quando se escolhe mascara com final 1 voce esta salvando as literais e leas acompanhama a propriedade text do maskedit 


Alguma duvida :?: :?: :?:


GOSTEI 0
Edilcimar

Edilcimar

04/06/2005

vá no objeto inspector, selecione o editmask do maskedit e aperte F1, aí o help mostrará todas as máscaras de caracteres possíveis e seus significados ex: 0-numérico obrigatório, 9-numérico não obrigatório, L-alfabético obrigatório, etc


GOSTEI 0
Sérgio Gobbo

Sérgio Gobbo

04/06/2005

deu certo aki... vlw ae pessoal

Vlw msm
FLLW


GOSTEI 0
POSTAR