COMO MODIFICAR A MENSAGEM DE ERRO DO NUMBERSONLY de um TEDIT?
Bom dia pessoal,
Meu problema é o seguinte: Desenvolvo em Delphi uma aplicação no idioma Espanhol e estou utilizando a propriedade NumbersOnly do componente TEdit para permitir apenas digitação de números, como vocês já sabem. Mas meu problema é que a mensagem de erro, quando tentamos digitar letras, aparece em português e eu preciso que apareça em espanhol para meu cliente. A mensagem aparece no tipo baloonhint, criada pelo Delphi. Ja entrei nas Units TCustomEdit e nao consegui encontrar o local da mensagem para modifica-la para o ESPANHOL. alguem pode me ajudar?
A mensagem que presciso modificar para o espanhol é essa:
CARACTERE INACEITÁVEL - você pode digitar apenas números aqui.
Meu problema é o seguinte: Desenvolvo em Delphi uma aplicação no idioma Espanhol e estou utilizando a propriedade NumbersOnly do componente TEdit para permitir apenas digitação de números, como vocês já sabem. Mas meu problema é que a mensagem de erro, quando tentamos digitar letras, aparece em português e eu preciso que apareça em espanhol para meu cliente. A mensagem aparece no tipo baloonhint, criada pelo Delphi. Ja entrei nas Units TCustomEdit e nao consegui encontrar o local da mensagem para modifica-la para o ESPANHOL. alguem pode me ajudar?
A mensagem que presciso modificar para o espanhol é essa:
CARACTERE INACEITÁVEL - você pode digitar apenas números aqui.
Wilton Santos
Curtidas 0
Respostas
Gutierry Pereira
16/01/2017
Bom dia,
Verifica se as mensagens do componente não estão dentro de uma unit com resourceString.
Em geral muitos compontes fazem isso, afim de facilitar a manutenção nas strings de apresentação,
Verifica se as mensagens do componente não estão dentro de uma unit com resourceString.
Em geral muitos compontes fazem isso, afim de facilitar a manutenção nas strings de apresentação,
GOSTEI 0
Raimundo Pereira
16/01/2017
Uma maneira!
If not( key in['0'..'9',#08] ) then
key:=#0;
Application.MessageBox('Usted puede digitar sólo números aquí.','CARACTERE INACEITÁVEL!');
end;
Ou
If not( key in['0'..'9',#08] ) then
begin
key:=#0;
Edit1.Hint:='Usted puede digitar sólo números aquí.';
Edit1.ShowHint:=true;
end;
If not( key in['0'..'9',#08] ) then
key:=#0;
Application.MessageBox('Usted puede digitar sólo números aquí.','CARACTERE INACEITÁVEL!');
end;
Ou
If not( key in['0'..'9',#08] ) then
begin
key:=#0;
Edit1.Hint:='Usted puede digitar sólo números aquí.';
Edit1.ShowHint:=true;
end;
GOSTEI 0
Wilton Santos
16/01/2017
Caro amigo, as soluções infelizmente não resolveram, porque estou usando a Property NumbersOnly do componente. Nao encontrei nenhum sinal de resource string neste codigo, pois o codigo da Vcl.StdCtrls que cria a propriedade SetNunbersOnly está assim:
Eu gostaria de saber quem neste codigo chama alguma função de Unit Resource String, porque me parece que está usando o próprio Windows. Na verdade eu até gostaria de fazer que minhas mensagens de erro respondessem desse modo, sem utilizar show mensage ou messagebox. Eu queria que aparecesse em um baloonHint sempre apontando para onde estiver piscando o cursor e ao clicar qualquer tecla o baloonHint desaparecesse, conforme acontece ai nesta mensagem, mas nao consigo encontrar o lugar deste código da mensagem.
procedure TCustomEdit.SetNumbersOnly(Value: Boolean); begin if FNumbersOnly <> Value then begin FNumbersOnly := Value; if HandleAllocated then begin if FNumbersOnly then SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or ES_NUMBER) else SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not ES_NUMBER); end; end; end;
Eu gostaria de saber quem neste codigo chama alguma função de Unit Resource String, porque me parece que está usando o próprio Windows. Na verdade eu até gostaria de fazer que minhas mensagens de erro respondessem desse modo, sem utilizar show mensage ou messagebox. Eu queria que aparecesse em um baloonHint sempre apontando para onde estiver piscando o cursor e ao clicar qualquer tecla o baloonHint desaparecesse, conforme acontece ai nesta mensagem, mas nao consigo encontrar o lugar deste código da mensagem.
GOSTEI 0