Delphi: Trabalhando com Lista de Ponteiros

0

Posted on : 17-12-2012 | By : Paulo H Oliveira | In : Delphi

As vezes há a necessidade de trabalharmos com listas de ponteiros para otimizar uma rotina muito complexa, segue abaixo um exemplo:

type
  PItem = ^TItem;
  TItem = record
     Nome : string[20];
     Valor: real;
   end;
var
  ListaDeItens : TList;
  Item : PItem;
  i: integer;
begin
  ListaDeItens := TList.Create; {cria a lista de ponteiros...}
  Randomize; {inicializa a semente aleatória}
  //cria 10 itens aleatórios...
  for i := 0 to 9 do
    begin
      New( Item );  {aloca memória para um novo objeto}
      Item^.Nome := 'Item randômico nº ' + IntToStr(i);
      Item^.Valor := Random(100);
      ListaDeItens.Add(Item);
    end;
 
  Item := ListaDeItens.Items[9]; {acessa o 9º item da lista}
  ShowMessage(Item^.Nome + #13 + FloatToStr(Item^.Valor)); {exibe o conteúdo do item}
 
  //ou
  for I := 0 to ListaDeItens.Count - 1 do
  begin
    Item := ListaDeItens.Items[I];
    ListBox1.Items.Add(Item^.Nome+' - '+FormatFloat('#,##0.00',Item^.Valor));
  end;

Compartilhe :

  • Stumble upon
  • twitter

Escreva um comentário

Security Code: