Algoritmo recursivo

Delphi

18/11/2011

Olá Pessoal,

preciso criar uma função recursiva para varrer todos os items de um TListView(na verdade estou usando o TVirtualStringTree e acredito que o algoritmo pouco mude) para fazer um somatário por grupos.

O que desejo fazer tá na imagem abaixo:

[IMG]
http://www.agenda.eti.br/01.jpg
[/IMG]

Meu código:
Acredito que o algoritmo precise ser recursivo:

Código:

function TForm1.percorreTodosNovo(_nodeInicial: PVirtualNode):TTime;
var
data : PTreeData;
begin
result := 0;
_nodeInicial := _nodeInicial.FirstChild;
while _nodeInicial <> nil do
begin

data := VST.GetNodeData(_nodeInicial);

if VST.HasChildren[_nodeInicial] then
begin
result := result + percorreTodosNovo(_nodeInicial);

data^.FTempo := TimetoStr(result);

end
else
begin
result := result + StrToTimeDef(data^.FTempo, 0);

end;

_nodeInicial := _nodeInicial.NextSibling;
end;

end;
Carlos Phelippe

Carlos Phelippe

Curtidas 0

Respostas

Leonardo Xavier

Leonardo Xavier

18/11/2011

Qual verão do Delphi você esta utilizando?
GOSTEI 0
Carlos Phelippe

Carlos Phelippe

18/11/2011

Delphi 2010.

Mas se você puder ajudar pode mandar pra qquer versão que eu adapto.


GOSTEI 0
Leonardo Xavier

Leonardo Xavier

18/11/2011


Carlos estou baixando a versão do Delphi 2010, se você poder esperar até sexta feira (neste tempo posso configurar minha ferramenta e colocar o componente para funcionar) e então poderei ajudar você de uma maneira mais objetiva.
GOSTEI 0
Carlos Phelippe

Carlos Phelippe

18/11/2011

Amigo,
esse componente (http://www.soft-gems.net/index.php?option=com_content&task=view&id=12&Itemid=33) funciona a partir do delphi 7.

Acredito que a versão do Delphi não seja problema.
GOSTEI 0
POSTAR