Ir para conteúdo
  • Cadastre-se

dev botao

AnsiUpperCase com acentos


Ver Solução Respondido por bylaardt,
  • Este tópico foi criado há 1314 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Solution

porque utf8 não é apenas 8bits (note que você usa [1] para limitar ao primeiro byte).
não use OnKeyPress, caso queira colocar no evento apropriado, coloque em OnUTF8KeyPress e não limite à um byte a alteração com Uppercase
Mas ainda acredito que apenas setar corretamente  a propriedade Charcase deve resolver no seu caso.

  • Curtir 4
Link para o comentário
Compartilhar em outros sites

Daniel Simoesjá tentei também, mas dá erro de conversão, usei também o UTF8UpperString e também retorna os caracteres minúsculos  bylaardt  infelizmente o TForm não tem o evento OnUTF8KeyPress e nem a propriedade CharCase, não quero me limitar apenas ao componente TEdit. Enfim vou procurar uma forma, obrigado!

Link para o comentário
Compartilhar em outros sites

procedure SetControlUpperCase(MyComponent:TWinControl);
Var
  i:Integer;
begin
  if MyComponent is TCustomComboBox then
    TCustomComboBox(MyComponent).CharCase:=ecUppercase
  else if MyComponent is TCustomEdit then
    TCustomEdit(MyComponent).CharCase:=ecUppercase;
  for i:=0 to MyComponent.ControlCount-1 do
    if MyComponent.Controls[i] is TWinControl then
      SetControlUpperCase(TWinControl(MyComponent.Controls[i]));
end;

depois é só chamar a procedure uma vez, exemplo:

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetControlUpperCase(Self);
end;  

com a vantagem de poder controlar por Tform, por Tpanel, ou qualquer outro TWinControl ou seus descendentes

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1314 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.