Fórum Algoritmo recursivo #409473

18/11/2011

0

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

Responder

Posts

18/11/2011

Leonardo Xavier

Qual verão do Delphi você esta utilizando?
Responder

Gostei + 0

18/11/2011

Carlos Phelippe

Delphi 2010.

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


Responder

Gostei + 0

21/11/2011

Leonardo Xavier


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.
Responder

Gostei + 0

22/11/2011

Carlos Phelippe

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.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar