Graficos - C# - Portugal-a-Programar
By skiller10, June 15, 2011 in C#
Alguém sabe como fazer gráficos em c#, basicamente a minha ideia era fazer uns graficos que fossem vendo a performance do CPU e o uso da RAM e do HD. Alguem dica?
Se fosse a ti tentava XNA, mas eu tambem nao sou nenhum pro
tens por aí alguns tutoriais fixes?
Ja vi também uns gadgets para windows, não sei se é bem isto que pretendes http://www.addgadget.com/
e encontrei uns tutorias que não me parecem muito difíceis (senao xml html
Eu queria algo que ficasse inserido no programa mesmo, dxcharts for wpf, acho que é isto que preciso
Ve o topico que criei na area de wpf e ve se me sabes ajudar sff
Tens o controlo Chart (pelo menos no Visual C# 2010 express). Depois podes definir todos os tipos de gráficos, desde os de barras, circulares, dispersão, área, etc.
O funcionamento é simples, apenas lhe passas (no caso de um gráfico de barras 2D), um array com valores de xx e outro de yy)
chart1.Series[0].Points.DataBindXY(array_xx, array_yy);
já consegui fazer o CPU usage, mas o RAM usage está-me a causar uns problemas, consigo ir buscar a quantidade de memória disponível, mas precisava de conseguir saber a memória total do sistema para poder ter a % de uso, andei a procurar e já vi várias pessoas com esse problema, falavam da função GlobalMemoryStatusEx mas não funcionou, secalhar implementei mal :s Alguém me pode ajudar?
http://blogs.cs.st-andrews.ac.uk/angus/2008/11/net-performance-counters-monitoring-resource-utilization/
Decidi procurar um bocado por isto talvez desenvolva um gadget de monitorização de recursos ja que nao gosto de os ter separados
Então estive a procura aqui esta o que achei
http://blogs.msdn.com/b/jgalasyn/archive/2006/05/09/594037.aspx
Estive tambem a experimentar um bocado e tambem ja tenho o codigo para obter a % de cpu usada e Mb de Ram livres
namespace BattleStationHQ
textBox1.Text = getCurrentCpuUsage();
textBox2.Text = getAvailableRAM();
http://www.codeproject.com/KB/system/networkmonitorl.aspx
Experimenta isto talvez de para resolver o problema da RAM
http://stackoverflow.com/questions/105031/c-how-do-you-get-total-amount-of-ram-the-computer-has
Senão funcionar pode-se fazer sempre umas aldrabices
Obter a memoria usada + memoria livre = total
a checkBox deve ser igual ao c#:
checkBox1.Checked = true; ou false
ja resolvi o problema da listbox com checkbox items, a única maneira foi guardar os objectos todos da lista num array, ir buscando cada posiçao, que devolve uma string com todas as infos da checkbox item, e ver se a string contem "ischecked:true".
Tive a ver e nenhum dos links me dá a solução que preciso :s Sei obter a memória disponível, sabes como obter a memória em uso?
o 1º site tem tudo o que precisas basta ler
inclusive um link para a microsoft
http://technet.microsoft.com/pt-pt/library/cc960240%28en-us%29.aspx
ramCounter = new System.Diagnostics.PerformanceCounter("Memory", "% Committed Bytes In Use");
shows the ratio of Memory\ Committed Bytes to the Memory\ Commit Limit. Committed memory is physical memory in use for which space has been reserved in the paging file so that it can be written to disk. The commit limit is determined by the size of the paging file. If the paging file is enlarged, the commit limit increases, and the ratio is reduced.
Achei uma aplicação fixe
tou ainda a tentar descobrir como funciona e o potencial
Entao é o seguinte esta é a parte do codigo que faz a pesquisa eu alterei a pesquisa para retornar apenas o "TotalPhysicalMemory" que é total da memoria ram ele faz a pesquisa por sql...(ao que parece, pelos menos o codigo é edentico) a tabela desse campo é Win32_ComputerSystem (http://msdn.microsoft.com/en-us/library/aa394102%28v=vs.85%29.aspx)
o valor é devolvido em bytes
searcher = new ManagementObjectSearcher("SELECT TotalPhysicalMemory FROM Win32_ComputerSystem"/* + queryObject*/);