vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Real Time Chart - Teil 2 
Autor: Manfred X
Datum: 17.02.11 08:17

   ''' <summary>Neuen Messwert anfügen (automatischer Zeitstempel) </summary>
    ''' <param name="vl">Messwert-Ausprägung</param>
    Public Function AddDataPoint(ByVal vl As Double) As Boolean
        If Not _Initialized Then Return False
        If Double.IsNaN(vl) OrElse Double.IsInfinity(vl) Then Return False
 
        Dim ivl As Double = vl
        'Ausreisser-Werte "einfangen"
        ivl = Math.Min(ivl, MyBase.ChartAreas(0).AxisY.Maximum)
        ivl = Math.Max(ivl, MyBase.ChartAreas(0).AxisY.Minimum)
 
        With MyBase.Series(cDataSeries)
            'Datenpunkt anhängen (incl. Zeitstempel)
            .Points.AddXY(DateTime.Now.Ticks - _starttime, ivl)
            If _createdatalist Then
                DataList.Add(New strucChartData With {.time = Now, .value = vl})
            End If
 
            'veraltete Punkte entfernen 
            While .Points.Count > _maxpoints
                .Points.RemoveAt(0)
            End While
            'X-Achse auf den aktuellen Abschnitt der Zeitlinie ausrichten
            MyBase.ChartAreas(0).AxisX.Minimum = .Points(0).XValue
            MyBase.ChartAreas(0).AxisX.Maximum = .Points(.Points.Count - _
              1).XValue
 
            'angehängten Datenpunkt einrichten
            With .Points(.Points.Count - 1)
                .AxisLabel = CStr(CLng(.XValue / cTicksPerSecond)) & " sec."
                If _showvaluelabel Then
                    .Label = CStr(Math.Round(ivl, 3))
                    .IsValueShownAsLabel = True
                End If
                If Not _showmarker Then
                    .MarkerStyle = Charting.MarkerStyle.None
                Else
                    .MarkerStyle = Charting.MarkerStyle.Cross
                    .MarkerSize = 10 : .MarkerColor = Drawing.Color.Black
                    If ivl <> vl Then .MarkerColor = Drawing.Color.Red _
                      'Ausreisser-Wert
                End If
            End With
        End With
 
        'Neuzeichnen des Chart veranlassen
        Me.Invalidate()
        Return True
    End Function
 
    ''' <summary>Abfrage aller Datenpunkte, falls die Liste angefordert 
    ' worden ist</summary>
    Public ReadOnly Property GetAllData() As strucChartData()
        Get
            If Not _createdatalist Then Return Nothing
            Dim DataArray(DataList.Count - 1) As strucChartData
            DataList.CopyTo(DataArray)
            Return DataArray
        End Get
    End Property
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Chart Control mit Array6.335Seo16.02.11 15:47
Re: Chart Control mit Array5.627ModeratorDaveS16.02.11 16:01
Re: Chart Control mit Array6.118Manfred X16.02.11 17:32
Re: Chart Control mit Array5.665Seo17.02.11 07:45
Real Time Chart - Teil17.190Manfred X17.02.11 08:15
Real Time Chart - Teil 25.991Manfred X17.02.11 08:17
Re: Real Time Chart - Teil 25.567Seo17.02.11 09:49
Kleine Demo zum Real Time Chart5.835Manfred X17.02.11 10:16
Re: Kleine Demo zum Real Time Chart5.871Seo17.02.11 10:26
Re: Kleine Demo zum Real Time Chart5.613Seo17.02.11 11:09
Re: Kleine Demo zum Real Time Chart5.748Manfred X17.02.11 13:06
Re: Kleine Demo zum Real Time Chart5.459Seo17.02.11 15:06
Re: Kleine Demo zum Real Time Chart5.178norman.koplansky24.11.11 18:52
Re: Kleine Demo zum Real Time Chart5.208Manfred X24.11.11 19:22
Re: Kleine Demo zum Real Time Chart5.236norman.koplansky25.11.11 07:48

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel