Dicas

Como Abreviar Nomes | Delphi

Função para Abreviar Nomes em Delphi

Função útil para a abreviação de nomes.

Crie um Formulário e adicione um Button e um Edit.

Função:

function AbreviarNome(Nome: String): String;
var
  Nomes: array[1..20] of string;
  i, TotalNomes: Integer;
begin
  Nome := Trim(Nome);
  Result := Nome;
  {Insere um espaço para garantir que todas as letras sejam testadas}
  Nome := Nome + #32;
  {Pega a posição do primeiro espaço}
  i := Pos(#32, Nome);
  if i > 0 then
  begin
    TotalNomes := 0;
    {Separa todos os nomes}
    while i > 0 do
    begin
      Inc(TotalNomes);
      Nomes[TotalNomes] := Copy(Nome, 1, i - 1);
      Delete(Nome, 1, i);
      i := Pos(#32, Nome);
    end;
    if TotalNomes > 2 then
    begin
      {Abreviar a partir do segundo nome, exceto o último.}
      for i := 2 to TotalNomes - 1 do
      begin
        {Contém mais de 3 letras? (ignorar de, da, das, do, dos, etc.)}
        if Length(Nomes[i]) > 3 then
        {Pega apenas a primeira letra do nome e coloca um ponto após.}
         Nomes[i] := Nomes[i][1] + '.';
      end;
      Result := '';
      for i := 1 to TotalNomes do
        Result := Result + Trim(Nomes[i]) + #32;
      Result := Trim(Result);
    end;
  end;
end;

Como usar?

Adicione o código no botão:

procedure TForm1.Button1Click(Sender: TObject);
var
  Nome : String;
begin
  Nome := Edit1.Text;
  ShowMessage(AbreviarNome(Nome));
end;   

Resultado:

Botão Voltar ao topo

Adblock detectado

Por favor, considere apoiar-nos, desativando o seu bloqueador de anúncios