Para quem programa em Delphi, uma das primeiras coisas que se faz é conhecer as propriedades dos componentes e como fazer um bom uso delas.

Uma propriedade bastante usada é a propriedade CharCase dos componentes Edit's. Quando definida como ecUpperCase tudo o que édigitado no edit fica em caixa alta.

Mas como fazer com os componentes do tipo TMemo? Eles não Têm essa propriedade!

Você pode resolver esse problema usando no evento OnKeyPress do componente a seguinte linha de código:


Key := UpCase( Key );

Mas isso só resolve parte do problema. O que fazer com os caracteres acentuados? Essa função não trata esses casos! Para isso você pode melhorar esse código, trocando o UpCase() pelo AnsiUpperCase(), ficando Assim:


Key := AnsiUpperCase( Key )[1];

Esta opção resolve plenamente o problema!

Você pode se perguntar: Porquê o conjunto [1] no final da linha? A resposta é: A função AnsiUpperCase() retorna uma cadeia de caracteres String e a variável Key é um Char, então devemos converter a String em Char para evitar erro na hora de compilar.