📄 form1.frm
字号:
m_Out.TextMatrix(0, 3) = "昨收盘"
m_Out.TextMatrix(0, 4) = "开盘价"
m_Out.TextMatrix(0, 5) = "最高价"
m_Out.TextMatrix(0, 6) = "最低价"
m_Out.TextMatrix(0, 7) = "最新价"
m_Out.TextMatrix(0, 8) = "成交量"
m_Out.TextMatrix(0, 9) = "成交金额"
m_Out.TextMatrix(0, 10) = "市场类型"
m_Out.TextMatrix(0, 11) = "买一价"
m_Out.TextMatrix(0, 12) = "买一量"
m_Out.TextMatrix(0, 13) = "卖一价"
m_Out.TextMatrix(0, 14) = "卖一量"
m_Out.TextMatrix(0, 15) = "买二价"
m_Out.TextMatrix(0, 16) = "买二量"
m_Out.TextMatrix(0, 17) = "卖二价"
m_Out.TextMatrix(0, 18) = "卖二量"
m_Out.TextMatrix(0, 19) = "买三价"
m_Out.TextMatrix(0, 20) = "买三量"
m_Out.TextMatrix(0, 21) = "卖三价"
m_Out.TextMatrix(0, 22) = "卖三量"
m_Out.TextMatrix(0, 23) = "买四价"
m_Out.TextMatrix(0, 24) = "买四量"
m_Out.TextMatrix(0, 25) = "卖四价"
m_Out.TextMatrix(0, 26) = "卖四量"
m_Out.TextMatrix(0, 27) = "买五价"
m_Out.TextMatrix(0, 28) = "买五量"
m_Out.TextMatrix(0, 29) = "卖五价"
m_Out.TextMatrix(0, 30) = "卖五量"
m_HisOut.Rows = 2
m_HisOut.Cols = 11
m_HisOut.TextMatrix(0, 0) = "代码"
m_HisOut.TextMatrix(0, 1) = "日期"
m_HisOut.TextMatrix(0, 2) = "开盘价"
m_HisOut.TextMatrix(0, 3) = "最高价"
m_HisOut.TextMatrix(0, 4) = "最低价"
m_HisOut.TextMatrix(0, 5) = "收盘价"
m_HisOut.TextMatrix(0, 6) = "成交量"
m_HisOut.TextMatrix(0, 7) = "成交金额"
m_HisOut.TextMatrix(0, 8) = "上涨家数"
m_HisOut.TextMatrix(0, 9) = "下跌家数"
m_HisOut.TextMatrix(0, 10) = "市场类型"
m_Min.Rows = 2
m_Min.Cols = 6
m_Min.TextMatrix(0, 0) = "代码"
m_Min.TextMatrix(0, 1) = "时间"
m_Min.TextMatrix(0, 2) = "价格"
m_Min.TextMatrix(0, 3) = "成交量"
m_Min.TextMatrix(0, 4) = "成交金额"
m_Min.TextMatrix(0, 5) = "市场类型"
'以下为新添加的代码,,用于新格式接收
Dim StkDrv2 As IStockDriver2 '定义为
Set StkDrv2 = m_stkdrv.Object ' 使用新接口
StkDrv2.EnableNewFormat = True ' 启用新格式,不能退出老格式
Set StkDrv2 = Nothing ' 释放接口
Set StkReport2 = OneStk ' 行情接口采用STkreport2
End Sub
Private Sub Form_Unload(Cancel As Integer) '窗体关闭事件
m_stkdrv.Stop
End Sub
Private Sub m_end_Click() '停止按钮
m_stkdrv.Stop
End Sub
Private Sub m_setup_Click() '设置按钮
m_stkdrv.Setup (1)
End Sub
Private Sub m_start_Click() '开始按钮
m_stkdrv.Receive
End Sub
'基本资料事件
Private Sub m_stkdrv_OnBaseFile(ByVal strFileName As String, ByVal Market As Integer, ByVal nFileLen As Long, ByVal pBuf As Long) '按值传递参数
Dim DstTxt, Txt As String
DstTxt = "文件名 文件长度 市场" + vbCrLf
DstTxt = DstTxt & strFileName & " "
DstTxt = DstTxt & nFileLen & " "
DstTxt = DstTxt & Market & vbCrLf
Txt = m_stkdrv.ToString(nFileLen, pBuf)
DstTxt = DstTxt + Left(Txt, 150)
m_BaseOut.Text = DstTxt
End Sub
'下面是接收历史数据事件
Private Sub m_stkdrv_OnHistory(ByVal nPacketNum As Long, ByVal pBuf As Long)
Dim DstTxt As String
Dim nPackNum, I As Integer
Dim Buf As OLE_RCV_HISTORY
Call OneHis.Attach(nPacketNum, pBuf)
nPackNum = OneHis.PacketNum
DstTxt = "收到" & nPackNum & "个日线"
LineTxt.Caption = DstTxt
m_HisOut.Rows = nPackNum + 1 '设置网格行数
For I = 1 To nPackNum
Buf = OneHis.ElementAt(I - 1)
Select Case Buf.m_Market
Case 18515
DstTxt = "上海"
Case 23123
DstTxt = "深圳"
Case 19272
DstTxt = "香港"
End Select
m_HisOut.TextMatrix(I, 0) = Buf.m_strLabel
m_HisOut.TextMatrix(I, 1) = Buf.m_Time
m_HisOut.TextMatrix(I, 2) = Buf.m_fOpen
m_HisOut.TextMatrix(I, 3) = Buf.m_fHigh
m_HisOut.TextMatrix(I, 4) = Buf.m_fLow
m_HisOut.TextMatrix(I, 5) = Buf.m_fClose
m_HisOut.TextMatrix(I, 6) = Buf.m_fVolume
m_HisOut.TextMatrix(I, 7) = Buf.m_fAmount
m_HisOut.TextMatrix(I, 8) = Buf.m_nAdvance
m_HisOut.TextMatrix(I, 9) = Buf.m_nDecline
m_HisOut.TextMatrix(I, 10) = DstTxt
Next I
End Sub
'下面是接收分时数据事件
Private Sub m_stkdrv_OnMinData(ByVal nPacket As Long, ByVal pBuf As Long)
Call OneMin.Attach(nPacket, pBuf)
Dim nPackNum, I As Integer
Dim DstTxt As String
Dim Buf As OLE_RCV_MINUTE
nPackNum = OneMin.PacketNum
DstTxt = "收到" & nPackNum & "个分时数据"
Label2.Caption = DstTxt
m_Min.Rows = nPackNum + 1
For I = 1 To nPackNum
Buf = OneMin.ElementAt(I - 1)
Select Case Buf.m_Market
Case 18515
DstTxt = "上海"
Case 23123
DstTxt = "深圳"
Case 19272
DstTxt = "香港"
End Select
m_Min.TextMatrix(I, 0) = Buf.m_strLabel
m_Min.TextMatrix(I, 1) = Buf.m_Time
m_Min.TextMatrix(I, 2) = Buf.m_fPrice
m_Min.TextMatrix(I, 3) = Buf.m_fVolume
m_Min.TextMatrix(I, 4) = Buf.m_fAmount
m_Min.TextMatrix(I, 5) = DstTxt
Next I
End Sub
'以下为公告新闻事件
Private Sub m_stkdrv_OnNewsFile(ByVal NewsType As Long, ByVal SerialNo As Long, ByVal pFileName As String, ByVal nFileLen As Long, ByVal pBuf As Long)
Dim DstText, Txt As String
DstText = "新闻类型 序号 文件名 文件长度" + vbCrLf
DstText = DstText + NewsType + SerialNo + pFileName + nFileLen + vbCrLf
Select Case NewsType
Case 2
DstText = DstText + "上交所公告"
Case 4
DstText = DstText + "深交所公告"
Case 6
DstText = DstText + "财经报道"
Case 8
DstText = DstText + "电视台通知"
Case Else
DstText = DstText + "未知消息来源"
End Select
DstText = DstText + "<"
DstText = DstText & SerialNo
DstText = DstText + "> "
Txt = m_stkdrv.ToString(nFileLen, pBuf)
DstText = DstText + Left(Txt, 150)
m_NewsOut.Text = DstText
End Sub
'下面是接收行情数据事件
Private Sub m_stkdrv_OnReport(ByVal nPacket As Long, ByVal pBuf As Long) '行情接收
Call OneStk.Attach(nPacket, pBuf)
Dim I As Integer
Dim DstTxt As String
'新添加的代码,接收新格式
Dim Buf As OLE_RCV_REPORT2
DstTxt = "收到" & nPacket & "个行情数据"
Label1.Caption = DstTxt
m_Out.Rows = nPacket + 1
For I = 1 To nPacket
Buf = StkReport2.ElementAt(I - 1)
Select Case Buf.m_Market
Case 18515
DstTxt = "上海"
Case 23123
DstTxt = "深圳"
Case 19272
DstTxt = "香港"
End Select
m_Out.TextMatrix(I, 0) = Buf.m_Time
m_Out.TextMatrix(I, 1) = Buf.m_strLabel
m_Out.TextMatrix(I, 2) = Buf.m_strName
m_Out.TextMatrix(I, 3) = Buf.m_fLastClose
m_Out.TextMatrix(I, 4) = Buf.m_fOpen
m_Out.TextMatrix(I, 5) = Buf.m_fHigh
m_Out.TextMatrix(I, 6) = Buf.m_fLow
m_Out.TextMatrix(I, 7) = Buf.m_fNewPrice
m_Out.TextMatrix(I, 8) = Buf.m_fVolume
m_Out.TextMatrix(I, 9) = Buf.m_fAmount
m_Out.TextMatrix(I, 10) = DstTxt
m_Out.TextMatrix(I, 11) = Buf.m_fBuyPrice(0)
m_Out.TextMatrix(I, 12) = Buf.m_fBuyVolume(0)
m_Out.TextMatrix(I, 13) = Buf.m_fSellPrice(0)
m_Out.TextMatrix(I, 14) = Buf.m_fSellVolume(0)
m_Out.TextMatrix(I, 15) = Buf.m_fBuyPrice(1)
m_Out.TextMatrix(I, 16) = Buf.m_fBuyVolume(1)
m_Out.TextMatrix(I, 17) = Buf.m_fSellPrice(1)
m_Out.TextMatrix(I, 18) = Buf.m_fSellVolume(1)
m_Out.TextMatrix(I, 19) = Buf.m_fBuyPrice(2)
m_Out.TextMatrix(I, 20) = Buf.m_fBuyVolume(2)
m_Out.TextMatrix(I, 21) = Buf.m_fSellPrice(2)
m_Out.TextMatrix(I, 22) = Buf.m_fSellVolume(2)
m_Out.TextMatrix(I, 23) = Buf.m_fBuyPrice4
m_Out.TextMatrix(I, 24) = Buf.m_fBuyVolume4
m_Out.TextMatrix(I, 25) = Buf.m_fSellPrice4
m_Out.TextMatrix(I, 26) = Buf.m_fSellVolume4
m_Out.TextMatrix(I, 27) = Buf.m_fBuyPrice5
m_Out.TextMatrix(I, 28) = Buf.m_fBuyVolume5
m_Out.TextMatrix(I, 29) = Buf.m_fSellPrice5
m_Out.TextMatrix(I, 30) = Buf.m_fSellVolume5
Next I
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -