Архив за 14 апреля 2008

Apr14

Finalize

Я часто работаю с VirtualTreeView. Очень удобный и мощный компонент, да еще бесплатный и с открытым кодом. Работу с данными я обычно веду следующим образом:

type

  PData = ^TData;

  TData = record

    Caption: WideString;

    Data: WideString;

    Count: Integer;

  end;

 

var

  lData: PData;

begin

  lData := VT.GetNodeData(Node);

  if Assigned(lData) then

  begin

    // Тут код

  end;

end;

 

Т.е., все данные храню в самом дереве. Знаю, что это не самый лучший способ. Например, во многих случаях, особенно когда необходима не стандартная сортировка или нестандартная обработка данных, правильнее было бы хранить данные в отдельном массиве, а в дереве держать только указатели на нужные данные, но так уж я привык.

Читать далее »