Ir ao conteúdo
  • Cadastre-se

Dbedit


Bravo

Posts recomendados

Com o descrito abaixo, consigo comverter a primera letra de cada frase para maiúscula.

begin

with Sender as TDBEdit do

if (SelStart = 0) or (Text[selStart] = ' ') then

if Key in ['a'..'z'] then

Key := UpCase(Key);

end;

Pergunto:é possível deixar como minuscula as preposições 'de', 'dos', 'da' e 'das'? Como devo proceder?

Antecipo meus agradecimentos aos colegas.

Um abraço,

Euber

Link para o comentário
Compartilhar em outros sites

uma solução alternativa seria:

function Minuscula(Texto1, Texto2: string): string;

var S, X: string;

  I    : Integer;

begin

 S := Texto1;

 X := '';

 I := Pos(UpperCase(Texto2), UpperCase(S));

 if I > 0 then

    begin

      Delete(S, I, Length(Texto2));

      Insert(LowerCase(Texto2), S, I);

   end;

 Result := S;

end;

exemplo: Label1.Caption := Minuscula('JOAO DA SILVA', ' DA ');

nesse caso, convertera apenas a substring ' DA ', e so repetir para os demais casos: ' de ', ' do ', etc...

Link para o comentário
Compartilhar em outros sites

Olá ...

A função anterior é boa, mas o programa precisa reconhecer o que é uma preposição, e como essas preposições são muito comuns, pode-se fazer um ARRAY ou conjunto de preposições. Por exemplo :

CONST Preposicoes : ARRAY [0..2] of String = ('de', 'da', 'do');

E efetuar um loop : se o texto for uma das preposições do ARRAY (conjunto) de preposições, converta pra minúsculas, por exemplo.

Ah, e para se referenciar a um valor específico no ARRAY :

Caption := Preposicoes[0];

O valor Caption vai ser 'de', que, se você reparar, é o 1o. valor do conjunto. E assim vai ...

 'Té mais ...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...