07-06-16, 12:05 AM
الكلاسات التالية توضح الشكل النهائي للكود الذي من الممكن الإستفادة منه بطرق كثيرة جدا و في النهاية الأمر متروك للقارئ
الكلاس Era
هذا الكلاس جزء من الكود الخاص بتحديد الترقيم التلقائي و الهدف منه بدء StopWatch و إيقافها
أيضا الكلاس أعلاه يمكن الاستفادة منه بشكل منفرد في تحديد الفترة الزمنية التي يأخذها تنفيذ أي كود
الكلاس EraKey
هذا هو الكلاس الرئيسي الذي سوف يقوم بإنشاء الترقيم التلقائئي للبيانات
ملحوظة
الكلاس أعلاه لم يكتمل بعد و لاجقا سوف أقوم بالتعديل عليه ليظهر في صورته النهائية
الكود التالي يوضح و بشكل مبدئي كيفية الإستفادة من الكلاس أعلاه
الكلاس Era
هذا الكلاس جزء من الكود الخاص بتحديد الترقيم التلقائي و الهدف منه بدء StopWatch و إيقافها
PHP كود :
Public Class Era
Implements IDisposable
Private disposed As Boolean
Private _sw As Stopwatch
Public Sub New(sw As Stopwatch)
_sw = sw
_sw.Start()
End Sub
Public ReadOnly Property Span As String
Get
Dim currentSpan As TimeSpan = _sw.Elapsed
Dim currentSpanString As String = currentSpan.ToString(String.Format("ffffff", _sw.Elapsed), Globalization.CultureInfo.InvariantCulture)
Return currentSpanString
End Get
End Property
Protected Sub OnDisposed()
CType(_sw, Stopwatch).Stop()
End Sub
Protected Overridable Sub Dispose(disposing As Boolean)
If disposed Then
Return
End If
If disposing Then
OnDisposed()
End If
disposed = True
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
' TODO: uncomment the following line if Finalize() is overridden above.
' GC.SuppressFinalize(Me)
End Sub
End Class
أيضا الكلاس أعلاه يمكن الاستفادة منه بشكل منفرد في تحديد الفترة الزمنية التي يأخذها تنفيذ أي كود
الكلاس EraKey
هذا هو الكلاس الرئيسي الذي سوف يقوم بإنشاء الترقيم التلقائئي للبيانات
PHP كود :
Public Class EraKey
Private keyDateTime As DateTime
Private keyWatch As Stopwatch
Private keyStringValue As String
Public Sub New()
keyDateTime = DateTime.UtcNow
keyWatch = New Stopwatch()
Using era As New Era(keyWatch)
Dim currentValue As DateTime = keyDateTime + keyWatch.Elapsed
Dim currentValueString As String = currentValue.ToString(String.Format("{0:00}{1:00}{2:00}{3:00}{4:00}{5:00}{6:00} ", keyDateTime.Day, keyDateTime.Month, keyDateTime.Year, keyDateTime.Hour, keyDateTime.Minute, keyDateTime.Second, era.Span), Globalization.CultureInfo.InvariantCulture)
keyStringValue = currentValueString
End Using
End Sub
Public ReadOnly Property Key As String
Get
Return keyStringValue
End Get
End Property
Public Overrides Function Equals(obj As Object) As Boolean
If obj Is Nothing OrElse Not Me.GetType() Is obj.GetType() Then
Return False
End If
Dim current As EraKey = CType(obj, EraKey)
Return Me.Key = current.Key
End Function
Public Overrides Function ToString() As String
Return Key.ToString
End Function
End Class
ملحوظة
الكلاس أعلاه لم يكتمل بعد و لاجقا سوف أقوم بالتعديل عليه ليظهر في صورته النهائية
الكود التالي يوضح و بشكل مبدئي كيفية الإستفادة من الكلاس أعلاه
PHP كود :
Me.Text = New EraKey().Key

