moussstiqu3
Messages postés11Date d'inscriptionmercredi 18 novembre 2009StatutMembreDernière intervention27 novembre 2010
-
19 mai 2010 à 21:20
moussstiqu3
Messages postés11Date d'inscriptionmercredi 18 novembre 2009StatutMembreDernière intervention27 novembre 2010
-
27 nov. 2010 à 18:43
Bonsoir,
je termine un projet et je bloque à cause d'un seul truc.
J'utilise Zedgraph pour faire des graphiques.
Mon projet reçois des bytes toues les minutes sur le port com et je les met dans une base de données.
Zedgraph viens lire la base de données pour faire ce graph. Il le fait bien mais pas en temps réel!
Je voulais savoir comment le faire en temps réel.
Voici mon code qui ne fonctionne pas!
// Graphique de l'intensité lumineuse externe
private void CreateGraph4(ZedGraphControl zgc_data_lum_out)
{
GraphPane myPane = zgc_data_lum_out.GraphPane;
// Set the titles and axis labels
myPane.Title.Text = "Outdoor Irradiance";
myPane.XAxis.Title.Text = "Time";
myPane.YAxis.Title.Text = "Irradiance (W/m²)";
int j = last_id - 26;
// Build a PointPairList with points based on Sine wave
PointPairList list = new PointPairList();
for (int i = j; i < last_id; i++)
{
string mySelectQuery "SELECT Lum_Out FROM data WHERE ID" + i ;
SqlCeCommand myCommand = new SqlCeCommand(mySelectQuery, cn);
myReader = myCommand.ExecuteReader();
myReader.Read();
double x = i * 5;
double y = Convert.ToDouble((myReader["Lum_Out"]));
list.Add(x, y);
}
// Hide the legend
myPane.Legend.IsVisible = false;
// Add a curve
LineItem curve = myPane.AddCurve("label", list, Color.Red, SymbolType.VDash);
curve.Line.Width = 1.5F;
curve.Symbol.Fill = new Fill(Color.White);
curve.Symbol.Size = 5;
// Make the XAxis start with the first label at 50
myPane.XAxis.Scale.BaseTic = 5;
// Fill the axis background with a gradient
myPane.Chart.Fill = new Fill(Color.White, Color.SteelBlue, 45.0F);
// Calculate the Axis Scale Ranges
zgc_data_lum_out.AxisChange();
// Refresh to paint the graph components
Refresh();
// agit toute les 30 secondes
private void timer_graphique_Tick(object sender, EventArgs e)
{
zedGraphControl1.GraphPane.CurveList.Clear();
zedGraphControl2.GraphPane.CurveList.Clear();
zedGraphControl3.GraphPane.CurveList.Clear();
zedGraphControl4.GraphPane.CurveList.Clear();
CreateGraph1(zedGraphControl1);
CreateGraph2(zedGraphControl2);
CreateGraph3(zedGraphControl3);
CreateGraph4(zedGraphControl4);
}
}
je pensais que le graphique allait s'effacer et se reformer toute les 30 secondes, mais non!
cs_idriss88
Messages postés7Date d'inscriptionlundi 22 novembre 2010StatutMembreDernière intervention31 mai 2011 25 nov. 2010 à 22:20
Bonsoir
Est ce que vous pouvez m'expliquer comment télécharger le Zedgraph et comment l'intégrer dans le visual studio c#.
C'est urgent!!!
Merci d'avance.
Recopie bêtement les exemples proposés sans te soucier de ce qu'il y a dans la méthode.
Ensuite si tu dois, regarde ce qu'il y a d'important :
- x
-y
-color
-point, croix, triangle...
-...
Puis modifie ton code en fonction de ces paramètres.
Pour le téléchargement, je ne sais plus très bien, ça fait 5 mois que je n'ai pas touché à visual studio, mais tu devrais retrouver ça dans le lien que je t'ai donné ou alors ici on te montre comment intégré une dll dans ton projet.
La dll zedgraph se trouve ici.
Courage, je sais que c'est pas facile, mais si tu fais un projet avec le premier lien puis que tu le modifie tu verras la puissance de cette méthode.
cs_idriss88
Messages postés7Date d'inscriptionlundi 22 novembre 2010StatutMembreDernière intervention31 mai 2011 27 nov. 2010 à 12:55
Mais j'ai une autre question:
Le code source c# donné en haut il marche pas pour moi. quand je l'exécute il ne m'affiche qu'une frame vide. Est ce quelqu'un l'a testé? si oui, aidez-moi svp.
Merci d'avance.
cs_idriss88
Messages postés7Date d'inscriptionlundi 22 novembre 2010StatutMembreDernière intervention31 mai 2011 27 nov. 2010 à 13:08
j'ai créé un nouveau projet "Application windows form" et j'ai ajouté le code donné en haut à ma classe Form1, après j'ai exécuté et ça m'a donné une frame vide. Comment devrais-je appeler ma méthode?
merci