什么属性克制骑拉帝纳:学过vb编程的请帮忙解释下这个代码的功能

来源:百度文库 编辑:高校问答 时间:2024/05/10 06:38:06
模块1
ClsOneDayData
Option Explicit

Public TheDate As Long
Public kp As Long
Public sp As Long
Public hi As Long
Public lo As Long
Public amt As Long
Public num As Long

Friend Property Get AllProperties() As Byte()
Dim PropBag As New PropertyBag
PropBag.WriteProperty "TheDate", TheDate, 0
PropBag.WriteProperty "kp", kp, 0
PropBag.WriteProperty "sp", sp, 0
PropBag.WriteProperty "hi", hi, 0
PropBag.WriteProperty "lo", lo, 0
PropBag.WriteProperty "amt", amt, 0
PropBag.WriteProperty "num", num, 0
AllProperties = PropBag.Contents
End Property

Friend Property Let AllProperties(value() As Byte)
Dim PropBag As New PropertyBag
PropBag.Contents = value()
TheDate = PropBag.ReadProperty("TheDate", 0)
kp = PropBag.ReadProperty("kp", 0)
sp = PropBag.ReadProperty("sp", 0)
hi = PropBag.ReadProperty("hi", 0)
lo = PropBag.ReadProperty("lo", 0)
amt = PropBag.ReadProperty("amt", 0)
num = PropBag.ReadProperty("num", 0)
End Property

Private Sub Class_Initialize()

End Sub
模块2
MdlAlgorithm
Public Sub merge_sort(ByRef pp() As Double, h As Double, u As Double)
Dim m As Double
If h >= u Then
Exit Sub
Else
m = Int((h + u) / 2)
merge_sort pp, h, m
merge_sort pp, m + 1, u
merge pp, h, m, u
End If
End Sub

Public Sub merge(ByRef pp() As Double, h As Double, m As Double, u As Double)
Dim a(1 To 300) As Double
i = h
k = 1
j = m + 1
While i <= m And j <= u
If pp(i) <= pp(j) Then
a(k) = pp(i)
i = i + 1
Else
a(k) = pp(j)
j = j + 1
End If
k = k + 1
Wend
If i > m Then
For l = j To u
a(k) = pp(l)
k = k + 1
Next l
Else
For l = i To m
a(k) = pp(l)
k = k + 1
Next l

End If

For i = h To u
pp(i) = a(i - h + 1)
Next i
End Sub
模块3
Mdldayk
Public Type TypeDayData
this_date As Long '日期
kp As Long ' 开盘
hi As Long '最高
lo As Long '最低
sp As Long '收盘
e As Long ' 成交额
l As Long '成交量
num1x As Long
num2x As Long
num3x As Long
End Type

ClsOneDayData
Option Explicit

Public TheDate As Long
Public kp As Long
Public sp As Long
Public hi As Long
Public lo As Long
Public amt As Long
Public num As Long
--------------------------以上为数据定义部门
Friend Property Get AllProperties() As Byte()
Dim PropBag As New PropertyBag
PropBag.WriteProperty "TheDate", TheDate, 0
PropBag.WriteProperty "kp", kp, 0
PropBag.WriteProperty "sp", sp, 0
PropBag.WriteProperty "hi", hi, 0
PropBag.WriteProperty "lo", lo, 0
PropBag.WriteProperty "amt", amt, 0
PropBag.WriteProperty "num", num, 0
AllProperties = PropBag.Contents
End Property
----------------------------------以上为写如数据部门
Friend Property Let AllProperties(value() As Byte)
Dim PropBag As New PropertyBag
PropBag.Contents = value()
TheDate = PropBag.ReadProperty("TheDate", 0)
kp = PropBag.ReadProperty("kp", 0)
sp = PropBag.ReadProperty("sp", 0)
hi = PropBag.ReadProperty("hi", 0)
lo = PropBag.ReadProperty("lo", 0)
amt = PropBag.ReadProperty("amt", 0)
num = PropBag.ReadProperty("num", 0)
End Property
---------------------------------以上为取数据的部门
Private Sub Class_Initialize()

End Sub
----------------------------------初始化,但什么都没做
模块2
MdlAlgorithm
Public Sub merge_sort(ByRef pp() As Double, h As Double, u As Double)
Dim m As Double
If h >= u Then
Exit Sub
Else
m = Int((h + u) / 2)
merge_sort pp, h, m
merge_sort pp, m + 1, u
merge pp, h, m, u
End If
End Sub
----------------------------------------------进行排序
Public Sub merge(ByRef pp() As Double, h As Double, m As Double, u As Double)
Dim a(1 To 300) As Double
i = h
k = 1
j = m + 1
While i <= m And j <= u
If pp(i) <= pp(j) Then
a(k) = pp(i)
i = i + 1
Else
a(k) = pp(j)
j = j + 1
End If
k = k + 1
Wend
If i > m Then
For l = j To u
a(k) = pp(l)
k = k + 1
Next l
Else
For l = i To m
a(k) = pp(l)
k = k + 1
Next l

End If

For i = h To u
pp(i) = a(i - h + 1)
Next i
End Sub
---------------------------------------数据统计
模块3
Mdldayk
Public Type TypeDayData
this_date As Long '日期
kp As Long ' 开盘
hi As Long '最高
lo As Long '最低
sp As Long '收盘
e As Long ' 成交额
l As Long '成交量
num1x As Long
num2x As Long
num3x As Long
End Type
------------------------------------变量定义,以及解释

大哥,看来你不太懂VB了,也没关系
这个主要是进行数据的统计功能,有读 和 写的功能.难道你喜欢炒股
呵呵.加油吧/

谢谢啊~

不知道你问哪段代码。。