• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 359
  • Last Modified:

PaulHews

PaulHews
I would be grateful for that code on graphing a constant stream of  numbers into a cardiac type graph. Incorporating pic.line etc and a 10point margin either side of the incoming values
I have searched frantically for your last posting on the subject but alas no joy.
Please can you help?
0
mishbal
Asked:
mishbal
  • 4
  • 4
1 Solution
 
TimCotteeCommented:
mishbal, this is not paul's example but it may be of interest to you. Just place a picture box on a form and a command button, copy this code, run and click the button, the trace will run across the picture box. Click the button again to stop it.

Private Sub Command4_Click()
    Static blnContinue As Boolean
    If blnContinue Then
        blnContinue = False
    Else
        blnContinue = True
    End If
    Dim aryPoints() As Long
    Picture1.ScaleMode = 3
    ReDim aryPoints(Picture1.ScaleWidth)
    aryPoints(UBound(aryPoints)) = Picture1.ScaleHeight / 2
    Do
        intDelta = IIf(Rnd() * 100 > 50, 1, -1)
        For intPoint = LBound(aryPoints) + 1 To UBound(aryPoints)
            Picture1.PSet (intPoint, aryPoints(intPoint - 1)), Picture1.BackColor
            aryPoints(intPoint - 1) = aryPoints(intPoint)
            Picture1.PSet (intPoint, aryPoints(intPoint - 1)), vbBlue
        Next
        aryPoints(UBound(aryPoints)) = aryPoints(UBound(aryPoints) - 1) + intDelta
        DoEvents
    Loop Until blnContinue = False
End Sub
0
 
mishbalAuthor Commented:
TimCottee
please forgive our ignorance but where do we input our figures which incidently fluctuate between 1 and 9?
0
 
TimCotteeCommented:
mishbal, here is a slightly different version which may be more what you need: The button and the timer are for demonstration purposes. Essentially you just need the AddData Sub. Paste a picture box on the form and away it goes. You need to replace the timer event call to AddData with something which passes your values instead. It may need a bit more modification but I can help you with that if I know a bit more about what you are trying to do.

Private Sub Command4_Click()
   Static blnContinue As Boolean
   If blnContinue Then
       blnContinue = False
   Else
       blnContinue = True
   End If
   Timer1.Enabled = blnContinue
End Sub

Private Sub AddData(ByRef Chart As PictureBox, ByVal Value As Double)
    Static dblLastPoint As Double
    Static aryPoints() As Double
    Dim dblNewPoint As Double
    ReDim Preserve aryPoints(Chart.ScaleWidth / 10)
    For intPoint = LBound(aryPoints) + 1 To UBound(aryPoints)
        Chart.Line ((intPoint - 1) * 10, aryPoints(intPoint - 1))-(intPoint * 10, aryPoints(intPoint)), Chart.BackColor
        aryPoints(intPoint - 1) = aryPoints(intPoint)
    Next
    dblNewPoint = Value * (Chart.ScaleHeight / 10)
    aryPoints(UBound(aryPoints)) = dblNewPoint
    For intPoint = LBound(aryPoints) + 1 To UBound(aryPoints)
        Chart.Line ((intPoint - 1) * 10, aryPoints(intPoint - 1))-(intPoint * 10, aryPoints(intPoint)), vbBlue
    Next
    dblLastPoint = dblNewPoint
    DoEvents
End Sub

Private Sub Timer1_Timer()
    AddData Picture1, (Rnd() * 9) + 1
End Sub
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
mishbalAuthor Commented:
THAT'L DO FOR ME MR COTTEE
0
 
TimCotteeCommented:
Shall I propose an answer to this or will you accept my comment?
0
 
mishbalAuthor Commented:
yes that concludes it TimCottee
you have provided what i want
i have no points left
if you require some then allow me to inform my colleague to imburse you
mishbal
0
 
TimCotteeCommented:
Just accept my answer and all will be well, the 275 you have assigned to this question is plenty. Glad to be of help.
0
 
mishbalAuthor Commented:
Thanks TimCottee
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now