Эй я пытаюсь отладить этот код на visual basic.net есть идеи?
Это ЭКГ-программа vbgeneral">ЭКГ-программа[^]
код, который я пытаюсь отладить:
Imports System.Windows.Forms.DataVisualization.Charting Imports System.Threading Public Class StreamChart Private addDataRunner As Thread Private rand As New Random() Public Delegate Sub AddDataDelegate() Public addDataDel As AddDataDelegate Private Sub Form3_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load Dim addDataThreadStart As New ThreadStart(AddressOf AddDataThreadLoop) addDataRunner = New Thread(addDataThreadStart) addDataDel = New AddDataDelegate(AddressOf AddData) Chart1.BackColor = Color.FromArgb(211, 223, 240) Chart1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom Chart1.BackSecondaryColor = System.Drawing.Color.White Chart1.BorderlineColor = Color.FromArgb(26, 59, 105) 'System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(59)))), ((int)(((byte)(105))))); Chart1.BorderlineDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid Chart1.BorderlineWidth = 2 Chart1.BorderSkin.SkinStyle = System.Windows.Forms.DataVisualization.Charting.BorderSkinStyle.Emboss With Chart1.ChartAreas(0) .AxisX.LabelStyle.Font = New System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold) .AxisX.LabelStyle.Format = "hh:mm:ss" .AxisX.LabelStyle.Interval = 10 .AxisX.LabelStyle.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds .AxisX.LineColor = Color.LightGray .AxisX.Title = "Time" .AxisX.MajorGrid.LineColor = Color.LightBlue .AxisX.MajorGrid.Interval = 10 .AxisX.MajorGrid.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds .AxisX.MajorTickMark.Interval = 10 .AxisX.MajorTickMark.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds .AxisY.Title = "Velocity" .AxisY.IsLabelAutoFit = False .AxisY.IsStartedFromZero = False .AxisY.LabelStyle.Font = New System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold) .AxisY.LineColor = Color.LightGray .AxisY.MajorGrid.LineColor = Color.LightGray .AxisY.Maximum = 25 .AxisY.Minimum = 0 .BackColor = Color.FromArgb(64, 165, 191, 228) .BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom .BackSecondaryColor = System.Drawing.Color.White .BorderColor = Color.FromArgb(64, 165, 191, 228) .BorderDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid .InnerPlotPosition.Auto = False .InnerPlotPosition.Height = 80 .InnerPlotPosition.Width = 90 .InnerPlotPosition.X = 9 .InnerPlotPosition.Y = 4 .Position.Auto = False .Position.Height = 86 .Position.Width = 88 .Position.X = 6 .Position.Y = 6 End With Chart1.Legends(0).BackColor = System.Drawing.Color.Transparent End Sub Private Sub startTrending_Click(sender As Object, e As System.EventArgs) Handles startTrending.Click startTrending.Enabled = False stopTrending.Enabled = True Dim minValue = New Date(100) minValue = DateTime.Now Dim maxValue As New Date(100) maxValue = minValue.AddSeconds(100) Chart1.ChartAreas(0).AxisX.Minimum = minValue.ToOADate() Chart1.ChartAreas(0).AxisX.Maximum = maxValue.ToOADate() Chart1.Series.Clear() Chart1.Series.Add("Streaming Data") With Chart1.Series(0) 'Chart1.Series(0).IsVisibleInLegend = False .ChartType = SeriesChartType.Line .BorderWidth = 2 .Color = Color.OrangeRed .BorderColor = Color.FromArgb(224, 64, 10) .ShadowOffset = 1 End With ' start worker threads. If addDataRunner.IsAlive = True Then addDataRunner.Resume() Else addDataRunner.Start() End If End Sub 'startTrending_Click Private Sub stopTrending_Click(sender As Object, e As System.EventArgs) Handles stopTrending.Click If addDataRunner.IsAlive = True Then addDataRunner.Suspend() End If startTrending.Enabled = True stopTrending.Enabled = False End Sub Private Sub AddDataThreadLoop() While True chart1.Invoke(addDataDel) Thread.Sleep(200) End While End Sub Public Sub AddData() Dim timeStamp As DateTime = DateTime.Now Dim ptSeries As Series For Each ptSeries In chart1.Series AddNewPoint(timeStamp, ptSeries) Next ptSeries End Sub Public Sub AddNewPoint(timeStamp As DateTime, ptSeries As System.Windows.Forms.DataVisualization.Charting.Series) Dim newVal As Double = 0 If ptSeries.Points.Count > 0 Then newVal = ptSeries.Points((ptSeries.Points.Count - 1)).YValues(0) + (rand.NextDouble() * 2 - 1) End If If newVal < 0 Then newVal = 0 End If ' Add new data point to its series. ptSeries.Points.AddXY(timeStamp.ToOADate(), rand.Next(10, 20)) ' remove all points from the source series older than 1.5 minutes. Dim removeBefore As Double = timeStamp.AddSeconds((CDbl(10) * -1)).ToOADate() 'remove oldest values to maintain a constant number of data points While ptSeries.Points(0).XValue < removeBefore ptSeries.Points.RemoveAt(0) End While chart1.ChartAreas(0).AxisX.Minimum = ptSeries.Points(0).XValue Chart1.ChartAreas(0).AxisX.Maximum = DateTime.FromOADate(ptSeries.Points(0).XValue).AddMinutes(0.3).ToOADate() chart1.Invalidate() End Sub End Class
Что я уже пробовал:
я пытался запустить его на своей visual studio 2017 и не понимал, как его отлаживать.
пожалуйста помочь. спасибо.