Fórum Algoritmo recursivo #409473
18/11/2011
0
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
Curtir tópico
+ 0Posts
18/11/2011
Leonardo Xavier
Gostei + 0
18/11/2011
Carlos Phelippe
Mas se você puder ajudar pode mandar pra qquer versão que eu adapto.
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.
Gostei + 0
22/11/2011
Carlos Phelippe
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
Clique aqui para fazer login e interagir na Comunidade :)