Função para trocar a primeira letra do nome para maiúsculo

06/02/2006

0

galera preciso padronizar um cadastro de um cliente que está em maiúsculo e jogar no padrão somente a primeira letra ex:

MARCOS JOÃO DA SILVA E COSTA
assi:
Marcos João da Silva e Costa


Alguém tem fácil?

Thanks


Marcos Fernando

Marcos Fernando

Responder

Posts

06/02/2006

Emerson Nascimento

tente essa função:
function TForm1.FormataNome(sNome: String): string;
const
  excecao: array[0..5] of string = (´ da ´, ´ de ´, ´ do ´, ´ das ´, ´ dos ´, ´ e ´);
var
  tamanho, j: integer;
  i: byte;
begin
  Result := AnsiLowerCase(sNome);
  tamanho := Length(Result);

  for j := 1 to tamanho do
    // Se é a primeira letra ou se o caracter anterior é um espaço
    if (j = 1) or ((j>1) and (Result[j-1]=Chr(32))) then
      Result[j] := AnsiUpperCase(Result[j])[1];

  for i := 0 to Length(excecao) do
    Result := StringReplace(Result,excecao[i],excecao[i],[rfReplaceAll, rfIgnoreCase]);
end;



Responder

06/02/2006

Marcos Fernando

Grato amigo deu na batata,

Thanks


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar