2008年8月17日 星期日

WJUsageCountHelperY2008M08 [2008-08-17-PM-03-30-25]

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' '  [2008_08_17_PM_03_30_56]  ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' -   -   -   -   -   -   -   -   -   -   -   -   -
' -   -   -   -   -   -   -   -   -   -   -   -   -
'     (著作權聲明) Copyright Statement:
'           Copyright 2000-2008, SoftHuman Corporation. All rights reserved.
'           善解科技股份有限公司
'           著作權 2000-2008。版權所有,保留一切權利。
'
'     (本段程式之目的) Purpose:
'           Object of this class can help you to manage Usage Count of an object, represented
'           by an ObjectID string.
'
'     (友善的模組名稱) Friendly name of this module:
'           [WJAtTSINT2008].[WJ Usage Count Helper Y2008M08]
'
'     (程式用模組名稱) Code name of this module:
'           WJAtTSINT2008.WJUsageCountHelperY2008M08
'
'     (本段程式是否已經在被使用中) In use: Yes
'     (程式撰寫的進度) Developing: 100% (Mandatory)
'     (程式堪用的程度) Workable: 80% (Threshold at 80%)
'     (程式的測試程度) Code tested: 80% (max 99%)
'
'     WJUsageCountHelperY2008M08 [2008-08-17-PM-03-30-25]
'
'     Version: 1.00.02
'     Last Updated: (2008 08 17 PM 03 28 20)
'     Version: 1.00.01
'     Last Updated: (2008 08 17 PM 02 32 13)
'
' -   -   -   -   -   -   -   -   -   -   -   -   -
' -   -   -   -   -   -   -   -   -   -   -   -   -

Public Class WJUsageCountHelperY2008M08
    Private m_FriendlyApplicationName As String = "[WJUsageCountHelperY2008M08]"

    Private m_ObjectIDAndUsageCount_StringDictionary As New System.Collections.Specialized.StringDictionary

    Public Function AddOneToUsageCountOfThisObject(ByVal ObjectID As String) As Integer
        ' (本段程式之目的) Purpose:
        '     Add one to usage count of this object.
        ' (本段程式是否已經在被使用中) In use: Yes
        ' (重要等級) Importance rating:  80%
        ' (再利用的可能性) Chances of reuse:  80%
        ' (程式撰寫的進度) Developing: 100% (Mandatory)
        ' (程式堪用的程度) Workable: 80% (Threshold at 80%)
        ' (程式的測試程度) Code tested: 80% (max 99%)
        ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' (修改程式的日期) Revision Date: (2008 08 17 PM 01 52 32)
        ' (修改程式的人員) Revised by: WeiJin Tang (湯偉晉)
        '     OK
        ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Dim UsageCount As Integer

        ' wjTeach:
        If Me.m_ObjectIDAndUsageCount_StringDictionary.ContainsKey(ObjectID) Then
            UsageCount = CType(Me.m_ObjectIDAndUsageCount_StringDictionary(ObjectID), Integer)
            UsageCount += 1

            Me.m_ObjectIDAndUsageCount_StringDictionary.Item(ObjectID) = UsageCount
        Else
            UsageCount = 1
            Me.m_ObjectIDAndUsageCount_StringDictionary.Add(ObjectID, UsageCount)
        End If

    End Function ' AddOneToUsageCountOfThisObject
    ' -   -   -   -   -   -   -   -   -   -   -   -   -
    ' -   -   -   -   -   -   -   -   -   -   -   -   -
    Public Function GenerateUsageCountReport() As String
        ' (本段程式之目的) Purpose:
        '     Generate usage count report.
        ' (本段程式是否已經在被使用中) In use: Yes
        ' (重要等級) Importance rating:  80%
        ' (再利用的可能性) Chances of reuse:  80%
        ' (程式撰寫的進度) Developing: 100% (Mandatory)
        ' (程式堪用的程度) Workable: 80% (Threshold at 80%)
        ' (程式的測試程度) Code tested: 80% (max 99%)
        ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        ' (修改程式的日期) Revision Date: (2008 08 17 PM 02 03 01)
        ' (修改程式的人員) Revised by: WeiJin Tang (湯偉晉)
        '     OK
        ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        ' Begin_[2008_08_17_PM_02_39_12]
        ' Comments by WeiJin Tang (湯偉晉) :
        '   Reusable sample code
        '  
        Dim SB As New System.Text.StringBuilder
        Dim NumberOfObjects As Integer

        NumberOfObjects = Me.m_ObjectIDAndUsageCount_StringDictionary.Count
        Dim ObjectIDs(NumberOfObjects) As String
        Dim UsageCounts(NumberOfObjects) As String

        ' wjTeach:
        Me.m_ObjectIDAndUsageCount_StringDictionary.Values.CopyTo(UsageCounts, 0)
        Me.m_ObjectIDAndUsageCount_StringDictionary.Keys.CopyTo(ObjectIDs, 0)

        With SB
            .Append("Usage Count Report generated by " & Me.m_FriendlyApplicationName)
            .Append(vbCr)
            .Append("Number of objects I help = " & Me.m_ObjectIDAndUsageCount_StringDictionary.Count)
            .Append(vbCr)
            .Append(vbCr)
        End With

        For i As Integer = 0 To NumberOfObjects - 1
            With SB
                .Append("ObjectID = " & ObjectIDs.GetValue(i))
                .Append(vbTab)
                .Append("UsageCount = " & UsageCounts.GetValue(i))
                .Append(vbCr)
            End With
        Next

        ' Begin_[2008_08_17_PM_03_25_32]
        ' Comments by WeiJin Tang (湯偉晉) :
        '   Obsolete code
        '  
        'For i As Integer = NumberOfObjects - 1 To 0 Step -1
        '    With SB
        '        .Append("ObjectID = " & ObjectIDs.GetValue(i))
        '        .Append(vbTab)
        '        .Append("UsageCount = " & UsageCounts.GetValue(i))
        '        .Append(vbCr)
        '    End With
        'Next
        '  
        ' End_[2008_08_17_PM_03_25_32]

        Return SB.ToString
        '  
        ' End_[2008_08_17_PM_02_39_12]

    End Function ' GenerateUsageCountReport
    ' -   -   -   -   -   -   -   -   -   -   -   -   -
    ' -   -   -   -   -   -   -   -   -   -   -   -   -
End Class ' WJUsageCountHelperY2008M08

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' '  [2008_08_17_PM_03_30_56]  ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

沒有留言: