ABREVIA NOMES

19/12/2003

3

Olá amigos!

Tenho um nome completo de uma pessoa, gostaria de saber como faço para abreviar esse nome pegando somente o primeiro nome.


Responder

Posts

19/12/2003

Adriano Santos

//Função que abrevia nome
function AbreviaNome(Nome:String):String;

var
Nomes : Array[1..20] of String;
I, TotalNomes:Integer;

begin
Nome := Trim(Nome);
Result:=Nome;
Nome:=Nome + #32;
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 apartir 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 é 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;




chame a função assim:

Label1.Caption:=AbreviaNome(Edit1.Text);


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira