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

📄 form1.frm

📁 用于和证券行情数据接口的股票数据读取方式源码是用VB做的。
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    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 + -