• advertisement_alt
  • advertisement_alt
  • advertisement_alt
Evandro Andersen

Trocar caracter durante a digitação

2 posts in this topic

Bom dia,
preciso que quando o usuário digite ' (aspa simples) em uma tela, esse caractere seja trocado por um caractere de espaço
isso tem que valer para todos os campos da tela,

alguém tem alguma dica ?

Att,

Evandro Andersen

Share this post


Link to post
Share on other sites

Talvez haja um meio mais simples (se alguém souber, nos conte). Mas hoje eu criaria uma procedure da janela que checasse o texto inserido em um campo e usasse Replace pra trocar o caractere. Daí usaria isso em cada momento de modificação de campo, por parte do usuário.

Vc pode usar umas indirections pra deixar sua função geral, chamando-a passando como parâmetro uma string com o nome do controle (ControleTal..Name) [veja exemplo de código anexo]. Ou talvez usar EnumControl se for fazer a função geral para todos os controles pertinentes da janela, mas daí teria que diferenciar os controles de alguma forma olhando, se recordo, as propriedades dos controles (campos ..), ou deixar o software rodar um pouco mais de processamento checando também o texto de botões e etc.

Talvez fosse mais simples checar o teclado com KeyPressed a fim de saber se o usuário digitou apóstrofo, e trocar por espaço, mas aí não sei como acharia o controle em questão pra trocar o valor digitado (algo pro lado de SetFocus, mas pegando o foco e não setando..?)

Exemplo de esboço de código:

PROCEDURE TrocaApostrofo(sNomeControle is string)

	sStringNoControle is string = {sNomeControle, indControl}..Value

	

	RESULT Replace(sStringNoControle, "'", " ")

 

2 people like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now