|
-
Feb 27th, 2006, 10:18 PM
#1
Thread Starter
New Member
date conversion
i using zedgraph to load the date and value from the database(access), to order to convert to double data type, i'm using ToOADate function but eventually my date has become a number such as 33200, can anyone tell me how to convert date to double so it can works n Zedgraph?
Below is the code i use...
Imports System
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents zgc As ZedGraph.ZedGraphControl
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.zgc = New ZedGraph.ZedGraphControl
Me.SuspendLayout()
'
'zgc
'
Me.zgc.IsAutoScrollRange = False
Me.zgc.IsEnableHPan = True
Me.zgc.IsEnableHZoom = True
Me.zgc.IsEnableVPan = True
Me.zgc.IsEnableVZoom = True
Me.zgc.IsScrollY2 = False
Me.zgc.IsShowContextMenu = True
Me.zgc.IsShowCursorValues = False
Me.zgc.IsShowHScrollBar = False
Me.zgc.IsShowPointValues = False
Me.zgc.IsShowVScrollBar = False
Me.zgc.IsZoomOnMouseCenter = False
Me.zgc.Location = New System.Drawing.Point(72, 24)
Me.zgc.Name = "zgc"
Me.zgc.PanButtons = System.Windows.Forms.MouseButtons.Left
Me.zgc.PanButtons2 = System.Windows.Forms.MouseButtons.Middle
Me.zgc.PanModifierKeys2 = System.Windows.Forms.Keys.None
Me.zgc.PointDateFormat = "g"
Me.zgc.PointValueFormat = "G"
Me.zgc.ScrollMaxX = 0
Me.zgc.ScrollMaxY = 0
Me.zgc.ScrollMaxY2 = 0
Me.zgc.ScrollMinX = 0
Me.zgc.ScrollMinY = 0
Me.zgc.ScrollMinY2 = 0
Me.zgc.Size = New System.Drawing.Size(392, 208)
Me.zgc.TabIndex = 0
Me.zgc.ZoomButtons = System.Windows.Forms.MouseButtons.Left
Me.zgc.ZoomButtons2 = System.Windows.Forms.MouseButtons.None
Me.zgc.ZoomModifierKeys = System.Windows.Forms.Keys.None
Me.zgc.ZoomModifierKeys2 = System.Windows.Forms.Keys.None
Me.zgc.ZoomStepFraction = 0.1
'
'Form2
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(632, 266)
Me.Controls.Add(Me.zgc)
Me.Name = "Form2"
Me.Text = "Form2"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myConnection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"DATA SOURCE=C:\Documents and Settings\Administrator\My Documents\Plantation.mdb;User Id='admin';Password='';")
Dim mySelectQuery As String = "SELECT Date,Last FROM Maxis"
Dim myCommand As New OleDbCommand(mySelectQuery, myConnection)
myConnection.Open()
Dim myReader As OleDbDataReader
myReader = myCommand.ExecuteReader()
Dim junk As ZedGraph.ZedGraphControl
junk = zgc
junk.GraphPane.Title = "Test Case for VB"
junk.IsShowPointValues = True
Dim x(100) As Double
Dim y(100) As Double
Dim i As Integer
' Randomize()
For i = 1 To 100
myReader.Read()
MessageBox.Show((myReader.GetDateTime(0)).ToOADate)
x(i) = (myReader.GetDateTime(0)).ToOADate
y(i) = myReader.GetDouble(1)
Next
junk.GraphPane.AddCurve("Sine Wave", x, y, Color.Blue, ZedGraph.SymbolType.XCross)
junk.GraphPane.AxisFill = New ZedGraph.Fill(Color.White, Color.LightGoldenrodYellow)
junk.AxisChange()
' always call Close when done reading.
myReader.Close()
' Close the connection when done with it.
myConnection.Close()
End Sub
Private Sub zgc_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles zgc.Load
End Sub
End Class
-
Feb 27th, 2006, 10:36 PM
#2
Re: date conversion
What does the Double that ZedGraph expects mean? Is it a number of seconds since a particular date or something like that?
-
Feb 28th, 2006, 12:08 AM
#3
Re: date conversion
I think it is just what he said, an OAdate, but I dont think he understands what exactly the number means... OADates start from 1 being January 1, 1900 or something like that, so 33200 is actually 33200 days since that day, or "11/23/1990"... shown below:
VB Code:
Dim mydbl As Double = 33200
Dim mydate As Date = Date.FromOADate(mydbl)
MessageBox.Show(mydate.ToShortDateString) 'displays 11/23/1990
'and to go back to numerical use the ToOADate method...
MessageBox.Show(mydate.ToOADate.ToString) 'displays the number, 33200
So everything he is doing is working, question is, does Zedgraph use this type of date??? That we cannot answer... (rather, I dont really feel like looking up documentation for Zedgraph on Google )
Last edited by gigemboy; Feb 28th, 2006 at 12:20 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|