Fórum Grafico de desempenho com TCHART #357717
28/04/2008
0
Estou tentando criar um gráfico de desempenho igual ao que existe no windows quando vc pressionar crtl+shift+esc -> aba desempenho, porem estou encontrando dificuldades, pois toda vez que adiciono um valor ao gráfico ele continua o seu inicio em zero. Queria fazer com q cada valor que adiciona-se ao gráfico, a linha acompanha-se a grade que esta ao fundo(como é no histórico do uso de CPU do windows). caso contrario as linhas ficam se acumulando ate não dar pra ver + nada.
Alguém já usou o TChart para isso? Ou se alguém tiver uma Idea melhor fico grato.
Abraços !
Nango Xus
Curtir tópico
+ 0Posts
28/04/2008
Rodc
Mas usando TChart também é possível. No evento OnAfterAdd da Serie (selecione através do ObjectInspector) coloque o código abaixo:
Sender.GetHorizAxis.Automatic := false; // <-- we dont want automatic scaling Sender.GetHorizAxis.AutomaticMaximum := false; // <-- we dont want automatic scaling Sender.GetHorizAxis.AutomaticMinimum := false; // <-- we dont want automatic scaling Sender.GetHorizAxis.Minimum := 0; Sender.GetHorizAxis.Maximum := Sender.XValues.MaxValue + StrToTime(´00:00:02´); // Começa um pouco antes do fim Sender.GetHorizAxis.Minimum := Sender.GetHorizAxis.Maximum - StrToTime(´00:00:30´); // Mostra os últimos 30 segundos
Gostei + 0
28/04/2008
Nango Xus
Não achei o componente PerformanceGraph no meu delphi 2006, acredito que seja somente do C++. Entretanto o codigo que vc me passou funciona perfeitamente!!!!
Muito obrigado Rodc! :lol: :lol: :lol:
Gostei + 0
28/04/2008
Rodc
É verdade, olhei o código fonte do componente e está em C++.
Gostei + 0
28/04/2008
Nango Xus
Sim é mesmo, encontrei o componente na paleta samples do C++. A pergunta pode ser estranha, mas é possivel usar um componente do C++ no Delphi Win32?? Tipo recriar o compontente para VCL do Delphi. :idea:
Gostei + 0
28/04/2008
Rodc
Mas tenta ir em Component e escolha a opção ´Install Component´, depois veja se o Delphi dá alguma opção de selecionar arquivos .CPP ou .H.
Gostei + 0
28/04/2008
Nango Xus
Mas toda informação é valida.
Olha so, de onde vc tirou esse codigo que me passou? precisava ver mais alguns exemplos, pois com esse codigo minha barra de monitoramento fica uma reta, ela não muda suavemente apenas fica uma reta. Já tentei alterar os tempos mas não infuenciou muito...
Abraços
Gostei + 0
28/04/2008
Rodc
Gostei + 0
28/04/2008
Nango Xus
Tah na mão, agora a linha ficou ok!!
Segue código aos interessados:
Sender.GetHorizAxis.Automatic := False; // <-- we dont want automatic scaling
Sender.GetHorizAxis.Minimum := Sender.XValues.MaxValue - 100;
Sender.GetHorizAxis.Maximum := Sender.XValues.MaxValue + StrToTime(´00:00:03´); // Começa um pouco antes do fim
Vlw rodc!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)