Example #1
0
        private void CONNECT_BTN_Click(object sender, EventArgs e)
        {
            /// 自动保持连接
            m_StockTrade.AutoKeepConn = true;
            /// 设置为普通账号,true为信用账号
            m_StockTrade.CreditAccount = false;
            /// 设置成交自动回报定时器1000毫秒,设为0表示不启用
            m_StockTrade.ReportSuccessTimer = 1000;

            /// 设置券商
            int CurSel = this.BROKERTYPE.SelectedIndex;

            m_StockTrade.BrokerType = BrokerMap[CurSel];

            /// 设置登录账号类型
            EZMLoginAccountType eAccountType = EZMLoginAccountType.LOGINIACCOUNTTYPE_MNCS;

            CurSel = this.ACCOUNTTYPE.SelectedIndex;
            if (1 == CurSel)
            {
                eAccountType = EZMLoginAccountType.LOGINIACCOUNTTYPE_CAPITAL;
            }
            else if (2 == CurSel)
            {
                eAccountType = EZMLoginAccountType.LOGINIACCOUNTTYPE_CUSTOMER;
            }
            m_StockTrade.AccountType = eAccountType;

            /// 设置登录服务器
            m_StockTrade.CurServerHost = this.SERVERADDR.Text;
            m_StockTrade.CurServerPort = ushort.Parse(this.SERVERPORT.Text);

            /// 设置服务器交易账户和密码
            m_StockTrade.LoginID       = this.LOGINID.Text;
            m_StockTrade.TradePassword = this.LOGINPW.Text;
            if (0 == this.LOGINPW.Text.Length)
            {
                MessageBox.Show("请先输入登录密码!");
                return;
            }
            /// 设置其他参数
            m_StockTrade.TradeAccount = this.TRADEACCOUNT.Text;        /// 交易账号,一般为资金账号
            m_StockTrade.DepartmentID = ushort.Parse(this.DEPID.Text); /// 营业部ID

#if SYNC_OPT
            /// 指定同步连接,直到返回结果
            bool bRet = m_StockTrade.LogIn(false);
            if (bRet)
            {
                /// 无错误,获得登录成功的交易连接标识
                ushort nTradeID = m_StockTrade.CurTradeID;

                MessageBox.Show("登录成功,下面开始获取股东代码信息!");

                /// 获得股东信息
                ITradeRecord TradeRecord = m_StockTrade.ShareHolderCode;
                if (null != TradeRecord)
                {
                    /// 获得记录集的列数和行数
                    uint nFieldCount  = TradeRecord.FieldCount;
                    uint nRecordCount = TradeRecord.RecordCount;

                    /// 弹出JSON格式数据包
                    MessageBox.Show(TradeRecord.GetJsonString());

                    for (uint i = 0; i < nRecordCount; i++)
                    {
                        /// 根据列字段名直接取数据,获取股东代码
                        var StockCode = TradeRecord.GetValueByName(i, "股东代码");
                        /// 遍历数据集合
                        for (uint j = 0; j < nFieldCount; j++)
                        {
                            /// 获取指定行和列的数据
                            var temVal  = TradeRecord.GetValue(i, j);
                            var temType = TradeRecord.GetDataType(j);
                        }
                    }
                }
            }
#else
            /// 指定异步连接,事件回调的时候会传递自己的交易接口对象
            bool bRet = m_StockTrade.LogIn(true);
#endif
            if (!bRet)
            {
                /// 连接失败时获取错误描述和类型
                string          strErrDesc = m_StockTrade.LastErrDesc;
                EZMTradeErrType ErrType    = m_StockTrade.LastErrType;
                MessageBox.Show(strErrDesc);
            }
        }
Example #2
0
        private void CONNECT_BTN_Click(object sender, EventArgs e)
        {
            /// 启用日志输出,便于调试程序
            m_StockTrade.EnableLog = true;
            /// 自动保持连接
            m_StockTrade.AutoKeepConn = true;
            /// 模拟测试
            m_StockTrade.BrokerType = EZMBrokerType.BROKERTYPE_MNCS;
            /// 设置登录服务器
            m_StockTrade.CurServerHost = this.SERVERADDR.Text;
            m_StockTrade.CurServerPort = ushort.Parse(this.SERVERPORT.Text);

            /// 设置模拟服务器交易账户和密码
            m_StockTrade.LoginID       = this.LOGINID.Text;
            m_StockTrade.TradePassword = this.LOGINPW.Text;
            if (0 == this.LOGINPW.Text.Length)
            {
                MessageBox.Show("请先输入登录密码!");
                return;
            }
            /// 设置其他参数
            m_StockTrade.TradeAccount = this.TRADEACCOUNT.Text;/// 交易账号,一般为资金账号
            m_StockTrade.DepartmentID = ushort.Parse(this.DEPID.Text);

#if SYNC_OPT
            /// 指定同步连接,直到返回结果
            bool bRet = m_StockTrade.LogIn(false);
            if (bRet)
            {
                /// 无错误,获得登录成功的交易连接标识
                ushort nTradeID = m_StockTrade.CurTradeID;

                MessageBox.Show("登录成功,下面开始获取股东代码信息!");

                /// 获得股东信息
                ITradeRecord TradeRecord = m_StockTrade.ShareHolderCode;
                if (null != TradeRecord)
                {
                    /// 获得记录集的列数和行数
                    uint nFieldCount  = TradeRecord.FieldCount;
                    uint nRecordCount = TradeRecord.RecordCount;

                    /// 弹出JSON格式数据包
                    MessageBox.Show(TradeRecord.GetJsonString());

                    for (int i = 0; i < nRecordCount; i++)
                    {
                        /// 根据列字段名直接取数据,获取股东代码
                        var StockCode = TradeRecord.GetValueByName(i, "股东代码");
                        /// 遍历数据集合
                        for (int j = 0; j < nFieldCount; j++)
                        {
                            /// 获取指定行和列的数据
                            var temVal  = TradeRecord.GetValue(i, j);
                            var temType = TradeRecord.GetDataType(j);
                        }
                    }
                }
            }
#else
            /// 指定异步连接,事件回调的时候会传递自己的交易接口对象
            bool bRet = m_StockTrade.LogIn(true);
#endif
            if (!bRet)
            {
                /// 连接失败时获取错误描述和类型
                string          strErrDesc = m_StockTrade.LastErrDesc;
                EZMTradeErrType ErrType    = m_StockTrade.LastErrType;
                MessageBox.Show(strErrDesc);
            }
        }