bocute 0 Denunciar post Postado Agosto 21, 2009 As funções abaixo deixam os textos e palavras passadas com a primeira letra maiúscula e o restante minúsculo. Espero que ajude alguém. Exemplo: Esse é Um Exemplo da Função. function NaoAchaPreposicao(Palavra: String): Boolean; function AchaParenteses(Palavra: String): Boolean; function UpperNome(const Nome: String): String; function ToLower(Text: String): String; function ToUpper(Text: String): String; function TDTMCadEmpresas.NaoAchaPreposicao(Palavra: String): Boolean; var y : Integer; begin Result := True; for y := 0 to 4 do if Trim(Palavra) = lista[y] then Result := False; end; function TDTMCadEmpresas.AchaParenteses(Palavra: String): Boolean; var y : Integer; begin Result := false; if Length(Copy(Palavra, 1, Length(Palavra))) = 4 then Result := true; end; function TDTMCadEmpresas.UpperNome(const Nome: String): String; begin Result := Trim(ToLower(Nome)); lista[0] := 'das'; lista[1] := 'dos' ; lista[2] := 'de'; lista[3] := 'do' ; lista[4] := 'da'; Result := ToUpper(Result[1]) + Copy(Result, 2, Length(Result)); for x := 2 to Length(Result) do begin if Result[x] = #32 then if Copy(Result,x+1,2) <> 'e ' then begin if NaoAchaPreposicao(Copy(Result,x+1,3)) then begin Result := Copy(Result, 1, x) + ToUpper(Result[x+1]) + Copy(Result, x+2, Length(Result)); end; end; if Result[x] = '(' then if Copy(Result,x+1,2) <> 'e ' then begin if NaoAchaPreposicao(Copy(Result,x+1,3)) then if (Copy(Result, x+3,1) = ')') then begin Result := Copy(Result, 1, x) + ToUpper(Result[x+1]) + UPCase(Result[x+2]) + Copy(Result, x+3, Length(Result)); end else Result := Copy(Result, 1, x) + ToUpper(Result[x+1]) + Copy(Result, x+2, Length(Result)); end; end; end; function TDTMCadEmpresas.ToLower(Text: String): String; var Ind: Integer; const LW = 'áâãàéêíóôõúüûçñ'; UP = 'ÁÂÃÀÉÊÍÓÔÕÚÜÛÇÑ'; begin Result := ''; for Ind := 1 to Length(Text) do if Pos(Copy(Text, Ind, 1), UP) > 0 then Result := Result + Copy(LW, Pos(Copy(Text, Ind, 1), UP), 1) else Result := Result + LowerCase(Copy(Text, Ind, 1)); end; function TDTMCadEmpresas.ToUpper(Text: String): String; var Ind: Integer; const LW = 'áâãàéêíóôõúüûçñ'; UP = 'ÁÂÃÀÉÊÍÓÔÕÚÜÛÇÑ'; begin Result := ''; for Ind := 1 to Length(Text) do if Pos(Copy(Text, Ind, 1), LW) > 0 then Result := Result + Copy(UP, Pos(Copy(Text, Ind, 1), LW), 1) else Result := Result + UpperCase(Copy(Text, Ind, 1)); end; Compartilhar este post Link para o post Compartilhar em outros sites