⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utildata.vb

📁 Programming the .NET Compact Framework with vb 源代码
💻 VB
字号:
' -----------------------------------------------------------------------------
' Code from _Programming the .NET Compact Framework with VB_
' and _Programming the .NET Compact Framework with C#_
' (c) Copyright 2002-2004 Paul Yao and David Durant. 
' All rights reserved.
' -----------------------------------------------------------------------------

Imports System
Imports System.Data

Public Class UtilData
   Inherits System.Object

#Region " Database Structure Simulated "
   Friend Structure Project
      Private m_strIdent As String
      Private m_strName As String
      Private m_dateStart As Date
      Private m_dateEnd As Date
      Private m_ctTasks As Integer
      Private m_strComments As String
      Friend Property strIdent() As String
         Get
            Return m_strIdent
         End Get
         Set(ByVal Value As String)
            m_strIdent = Value
         End Set
      End Property
      Friend Property strName() As String
         Get
            Return m_strName
         End Get
         Set(ByVal Value As String)
            m_strName = Value
         End Set
      End Property
      Friend Property dateStart() As String
         Get
            Return m_dateStart
         End Get
         Set(ByVal Value As String)
            m_dateStart = Value
         End Set
      End Property
      Friend Property dateEnd() As String
         Get
            Return m_dateEnd
         End Get
         Set(ByVal Value As String)
            m_dateEnd = Value
         End Set
      End Property
      Friend Property ctTasks() As String
         Get
            Return m_ctTasks
         End Get
         Set(ByVal Value As String)
            m_ctTasks = Value
         End Set
      End Property
      Friend Property strComments() As String
         Get
            Return m_strComments
         End Get
         Set(ByVal Value As String)
            m_strComments = Value
         End Set
      End Property
      Public Sub New(ByVal strIdent As String, _
                     ByVal strName As String, _
                     ByVal dateStart As Date, _
                     ByVal dateEnd As Date, _
                     ByVal ctTasks As Integer, _
                     ByVal strComments As String)
         Me.m_strIdent = strIdent
         Me.m_strName = strName
         Me.m_dateStart = dateStart
         Me.m_dateEnd = dateEnd
         Me.m_ctTasks = ctTasks
         Me.m_strComments = strComments
      End Sub
   End Structure

   Private Structure Task
      Private m_strIdent As String
      Private m_strProjIdent As String
      Private m_strName As String
      Private m_dateStart As Date
      Private m_dateEnd As Date
      Private m_durEstimated As Integer  '  In hours
      Private m_durActual As Integer     '  In hours
      Private m_strComments As String
      Public Sub New(ByVal strIdent As String, _
                     ByVal strProjIdent As String, _
                     ByVal strName As String, _
                     ByVal dateStart As Date, _
                     ByVal dateEnd As Date, _
                     ByVal durEstimated As Integer, _
                     ByVal durActual As Integer, _
                     ByVal strComments As String)
         Me.m_strIdent = strIdent
         Me.m_strProjIdent = strProjIdent
         Me.m_strName = strName
         Me.m_dateStart = dateStart
         Me.m_dateEnd = dateEnd
         Me.m_durEstimated = durEstimated
         Me.m_durActual = durActual
         Me.m_strComments = strComments
      End Sub
   End Structure
#End Region

   Private alProjects As ArrayList
   Private alTasks As ArrayList
   Private dsetTimeTracker As DataSet
   Private dtblProjects As DataTable
   Private dtblTasks As DataTable

   Public Sub New()
      LoadData()
   End Sub

   Friend Function GetProjectsAL() As ArrayList
      Return alProjects
   End Function

   Friend Function GetProjectsDT() As DataTable
      Return dsetTimeTracker.Tables("Projects")
   End Function

   Friend Function GetTasksAL() As ArrayList
      Return alTasks
   End Function

   Friend Function GetTasksAL( _
                               ByVal ProjectID As Integer _
                             ) _
                               As ArrayList
   End Function

   Friend Function GetTasksDT() As DataTable
      Return dsetTimeTracker.Tables("Tasks")
   End Function

   Friend Function GetTasksDV( _
                               ByVal ProjectID As Integer _
                             ) _
                               As DataTable
   End Function


#Region " Database Read Simulation "

   Private Sub LoadData()
      '  Simulate having retrieved project data
      '     from a database.  Use the Project 
      '     and Task data structures to hold 
      '     the data.
      alProjects = New ArrayList
      With alProjects
         .Add(New Project(1, _
                          "Build Ark", _
                          DateTime.Today.AddDays(-17), _
                          DateTime.Today.AddDays(22), _
                          5, _
                          "Must be done in less than 40 days."))
         .Add(New Project(17, _
                          "Develop CF Application", _
                          DateTime.Today.AddDays(-17), _
                          DateTime.Today.AddDays(22), _
                          5, _
                          "To ensure success, read the Yao-Durant book first."))
         .Add(New Project(9, _
                          "Write CF Book", _
                          DateTime.Today.AddDays(-17), _
                          DateTime.Today.AddDays(22), _
                          5, _
                          "The endless cycle:  Code, test, write, revise, proof."))
      End With

      alTasks = New ArrayList
      Dim projWork As Project
      For Each projWork In alProjects
         With alTasks
            .Add(New Task(1, _
                          projWork.strIdent, _
                          "Create Blueprints", _
                          DateTime.Today.AddDays(-17), _
                          DateTime.Today.AddDays(22), _
                          120, 60, ""))
            .Add(New Task(2, _
                          projWork.strIdent, _
                          "Build Franistans", _
                          DateTime.Today.AddDays(-11), _
                          DateTime.Today.AddDays(0), _
                          35, 30, ""))
            .Add(New Task(5, _
                          projWork.strIdent, _
                          "Build Widgets", _
                          DateTime.Today.AddDays(-4), _
                          DateTime.Today.AddDays(44), _
                          400, 45, ""))
            .Add(New Task(3, _
                          projWork.strIdent, _
                          "Assemble Woobletogles", _
                          DateTime.Today.AddDays(-19), _
                          DateTime.Today.AddDays(2), _
                          20, 20, ""))
            .Add(New Task(7, _
                          projWork.strIdent, _
                          "Weld Mainwareing", _
                          DateTime.Today.AddDays(-100), _
                          DateTime.Today.AddDays(50), _
                          20, 6, ""))
         End With
      Next


      dsetTimeTracker = New DataSet("TimeTracker")
      Dim dcolWork As DataColumn

      dtblProjects = New DataTable("Projects")

      dcolWork = New DataColumn("strIdent", GetType(String))
      dtblProjects.Columns.Add(dcolWork)
      dcolWork = New DataColumn("strName", GetType(String))
      dtblProjects.Columns.Add(dcolWork)
      dcolWork = New DataColumn("dateStart", GetType(Date))
      dtblProjects.Columns.Add(dcolWork)
      dcolWork = New DataColumn("dateEnd", GetType(Date))
      dtblProjects.Columns.Add(dcolWork)
      dcolWork = New DataColumn("ctTasks", GetType(Integer))
      dtblProjects.Columns.Add(dcolWork)
      dcolWork = New DataColumn("strComments", GetType(String))
      dtblProjects.Columns.Add(dcolWork)

      dtblTasks = New DataTable("Tasks")

      dcolWork = New DataColumn("strIdent", GetType(String))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("strProjIdent", GetType(String))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("strName", GetType(String))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("dateStart", GetType(Date))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("dateEnd", GetType(Date))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("durEstimated", GetType(Integer))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("durActual", GetType(Integer))
      dtblTasks.Columns.Add(dcolWork)
      dcolWork = New DataColumn("strComments", GetType(String))
      dtblTasks.Columns.Add(dcolWork)

      ' Add the tables to the DataSet.
      dsetTimeTracker.Tables.Add(dtblProjects)
      dsetTimeTracker.Tables.Add(dtblTasks)

      ' Create a DataRelation, and add it to the DataSet.
      dsetTimeTracker.Relations.Add(New DataRelation("ProjectTask", dtblProjects.Columns("strIdent"), dtblTasks.Columns("strProjIdent")))

      '  Load the Projects DataTable from 
      '     the Projects ArrayList.
      For Each projWork In alProjects
         With projWork
            dtblProjects.Rows.Add(New Object() {.strIdent, .strName, .dateStart, .dateEnd, .ctTasks, .strComments})
         End With
      Next

      ''  Load the Tasks DataTable from 
      ''     the Tasks ArrayList.
      'Dim taskWork As Task
      'For Each taskWork In alTasks
      '   With taskWork
      '      dtblTasks.Rows.Add(New Object() {.strIdent, .strProjIdent, .strName, .dateStart, .dateEnd, .durEstimated, .durActual, .strComments})
      '   End With
      'Next

   End Sub
#End Region

End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -