Mschart affichage en temps reel

Soyez le premier à donner votre avis sur cette source.

Vue 8 163 fois - Téléchargée 1 747 fois

Description

ce petit code de demonstration montre comment se servir de Mschart pour afficher des graphiques en temps reel. 7 données sont monitorees sur un graphique type ligne. j ai remplacer ici l acquisition de données par des constantes, a vous de l ameliorer suivant vos besoins. Ce code fait partie d un programme de monitoring bien plus volumineux et fonctionne sans probleme depuis maintenant 2 ans.

Source / Exemple :


Dim Tv1Graph(40) As Integer
Dim Tv2Graph(40) As Integer
Dim ToilGraph(40) As Integer
Dim Pv1graph(40) As Integer
Dim Pv2graph(40) As Integer
Dim Igraph(40) As Integer
Dim Ugraph(40) As Integer
Private Sub Form_Load()
Call ResetingGraph
End Sub
Private Sub Timer1_Timer()
Call next_data
End Sub
Private Sub next_data()
Dim i, ii As Integer

For i = 1 To 39                  ' Avance graphique
    Tv1Graph(i) = Tv1Graph(i + 1)
    Tv2Graph(i) = Tv2Graph(i + 1)
    ToilGraph(i) = ToilGraph(i + 1)
    Pv1graph(i) = Pv1graph(i + 1)
    Pv2graph(i) = Pv2graph(i + 1)
    Igraph(i) = Igraph(i + 1)
    Ugraph(i) = Ugraph(i + 1)
Next i
       
Tv1Graph(40) = 5                'valeur a afficher
Tv2Graph(40) = 10
ToilGraph(40) = 15
Pv1graph(40) = 20
Pv2graph(40) = 30
Igraph(40) = 40
Ugraph(40) = 50
    
    With MSChart1
    
     For ii = 1 To 40
        .Row = ii
        
        .Column = 1
        .Data = Tv1Graph(ii)
     
        .Column = 2
        .Data = Tv2Graph(ii)
        
        .Column = 3
        .Data = ToilGraph(ii)
        
        .Column = 4
        .Data = Pv1graph(ii)
        
        .Column = 5
        .Data = Pv2graph(ii)
       
        .Column = 6
        .Data = Igraph(ii)
        
        .Column = 7
        .Data = Ugraph(ii)
       
        Next ii
      End With
End Sub

Private Sub ResetingGraph()         'Sous Routine effacement du chart
    Dim iii, iiii As Integer
    For iii = 1 To 7             ' RESETING GRAPH location points
     MSChart1.Column = iii
        For iiii = 1 To 40
           MSChart1.Row = iiii
          MSChart1.Data = 0
        Next iiii
    Next iii
    Erase Tv1Graph              ' Reseting arrays
    Erase Tv2Graph
    Erase ToilGraph
    Erase Pv1graph
    Erase Pv2graph
    Erase Igraph
    Erase Ugraph
  MSChart1.Row = 1
End Sub

Conclusion :


pour les remerciements ( au vu du nombre de demande sur le forum...)
un petit mail sympa a jojok65@hotmail.com ... :-)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
44
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2009

voir la modif du 31 janvier 2005
Messages postés
1133
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
3
>> renardeau,
à quand le zip promis pour ta source 24990 ?
Messages postés
44
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2009

à toi à le faire lors de l'encodage....

de faire progresser les Y plutôt que les X ...


ou de le copier dans une image que tu as la grande joie de faire tourner ;)
Messages postés
15
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
27 novembre 2006

salut

est il possible d'inverser des axes X et Y, c'est a dire que la base de temps soit sur l'axe des Y et que les données soient sur l'axe des X ??

bye
Messages postés
44
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2009

je l'ai mis http://www.vbfrance.com/code.aspx?ID=24990

en espérant que vous la comprenniez bien

un zip suivra (pas avant 1 petit mois - vacances et bcp d'occupation) si le besoin s'en fait ressentir.


mais Programmix, je pensait que "j'ai un appareil, lorsque je recois une donnée je l'indique au graphe et je complète ma mschart.rowcount au fur et a mesure." pouvait suffire pour bien comprendre...

J'ai passé un peu plus de temps mais j'espère que cela aidera ;)
Afficher les 17 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.