begin process at 2010 02 09 22:02:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > MSCHART AFFICHAGE EN TEMPS REEL

MSCHART AFFICHAGE EN TEMPS REEL


 Information sur la source

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Niveau :Débutant Date de création :10/10/2003 Date de mise à jour :10/10/2003 21:12:52 Vu / téléchargé :5 540 / 1 451

Auteur : jojok65

Ecrire un message privé
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 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

  • 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
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 ... :-)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) PISH2010-VB2008 par SaintMaur
Source avec Zip Source avec une capture PI-SH-2010-VB6 par SaintMaur
ET... PI... par us_30
Source avec Zip Source avec une capture CHIFFRAGE ET DECHIFFRAGE FONCTION AFFINE par tresorsdevie
NB PREMIER : TEST DE FERMAT ET DE MILLER-RABIN par us_30

Commentaires et avis

Commentaire de pluplu le 10/10/2003 17:41:53

c'est surement bien ton truc, mais j'ai essayé vite fait de le projeter sur un form, ajouter les deux composants et voir ce que ça dit, et là ça foire avec des erreures de dépassement et on à alors le choix entre deux soluces, soit essayé de débogué ton code soit de voire ce que tu as voulu faire et le refaire de toute pièce...
Personnellemnt j'aurai préféré un exemple clé en main.

Commentaire de jojok65 le 10/10/2003 21:07:21

je vais envoyer un zip complet, mais autrement, il y a des petits reglages a faire sur l option personaliser de mschart

Commentaire de jojok65 le 10/10/2003 21:13:45

voila le zip est ajouter
enjoy it !!

Commentaire de pluplu le 11/10/2003 10:23:21

oui c'est mieux comme cela, et c'est encore plus démonstratif si l'on met des valeurs en random par ex.

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) = Int((15 * Rnd) + 1)               'valeur a afficher
Tv2Graph(40) = Int((15 * Rnd) + 1)
ToilGraph(40) = Int((15 * Rnd) + 10)
Pv1graph(40) = 20
Pv2graph(40) = 30
Igraph(40) = 40
Ugraph(40) = 50
.................................etc etc

Commentaire de jojok65 le 11/10/2003 20:09:36

tu as raison pluplu, mais le but premier etait de montrer l avancement du graphe suivant une base de temps reglable et surtout que ca ne plante pas a la 40ieme donnéés.
ce code fait partie d un soft qui fait l aquisition de donnée en temps reel, donc, j ai supprimer les var et taper des constantes a la place en vitesse
voila
:-)
joel

Commentaire de jojok65 le 11/10/2003 23:50:48

pas d autres commentaires ?

Commentaire de PROGRAMMIX le 12/10/2003 09:45:24

Ce serait bien de pouvoir limiter voire supprimer l'effet de clignotement lors de chaque changement du graphique.

Commentaire de mpays le 13/10/2003 10:58:33

Quelqu'un connait il la solution pour éviter le clignotement du graphique ?
Je suis à la recherche de ça depuis pas mal de temps à présent ...

Commentaire de gzed le 05/07/2004 17:01:27

mpays>> tu as trouve comment supprimer le clignotement??

Commentaire de renardeau le 28/07/2004 17:23:08

j'ai fait avant de voir ceci, que je n'ai pas testé, un graph en temps réel qui ne clignotte pas...

mais je n'ai pas de problèmes comme vous le voyez clignottement

même à plus de 30 000 données (hé oui, mon problème a même été de gérer le plus de 32000 et des poussière (cf un integer)) je n'ai eu aucun problème de ce type !

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.

Commentaire de renardeau le 28/07/2004 17:23:23

j'ai fait avant de voir ceci, que je n'ai pas testé, un graph en temps réel qui ne clignotte pas...

mais je n'ai pas de problèmes comme vous le voyez clignottement

même à plus de 30 000 données (hé oui, mon problème a même été de gérer le plus de 32000 et des poussière (cf un integer)) je n'ai eu aucun problème de ce type !

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.

Commentaire de PROGRAMMIX le 28/07/2004 21:08:46

>>> renardeau

Et peut-on voir ce que tu as fait ?

Parce que ce n'est pas ta source "MSChart vers BMP" qui peut nous éclairer sur la méthode à utiliser pour résoudre ce problème.

Commentaire de renardeau le 29/07/2004 10:15:03

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 ;)

Commentaire de philochon le 22/10/2004 17:37:30

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

Commentaire de renardeau le 22/10/2004 20:31:45

à 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 ;)

Commentaire de PROGRAMMIX le 22/10/2004 22:01:24

>> renardeau,
à quand le zip promis pour ta source 24990 ?

Commentaire de renardeau le 16/01/2007 21:38:41

voir la modif du 31 janvier 2005

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales