Array
(
)

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

Marcos Fernando
   - 06 fev 2006

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


Emerson
   - 06 fev 2006

tente essa função:
#Código

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;



Marcos Fernando
   - 06 fev 2006

Grato amigo deu na batata,

Thanks