Arrays - removendo repetidos

Top  Previous  Next

// este método mostra como remover valores repetidos

// Obs: O array deve estar ordenado (veja "array - Ordenando arrays numericos"

procedure TForm1.Button1Click(Sender: TObject);

var

  PaginasValidas, OK: array of integer;

  I, Ant, INr: Integer;

begin

  SetLength(PaginasValidas,8);

  SetLength(OK            ,8);

 

  PaginasValidas[0] := 1;

  PaginasValidas[1] := 2;

  PaginasValidas[2] := 2;

  PaginasValidas[3] := 3;

  PaginasValidas[4] := 4;

  PaginasValidas[5] := 5;

  PaginasValidas[6] := 5;

  PaginasValidas[7] := 5;

 

  Ant := 0;

  INr := 0;

  for I := 0 to High(PaginasValidas) do

    if PaginasValidas[I] <> Ant then

    begin

      Ant     := PaginasValidas[I];

      OK[INr] := Ant;

      Inc(INr);

    end;

 

  SetLength(PaginasValidas, INr);

  for I := 0 to (INr - 1) do

    PaginasValidas[I] := OK[I];

  Caption := 'X';

end;