Exemple #1
0
        private void bAdd_Click(object sender, EventArgs e)
        {
            if (tCode.Text == "" || tName.Text == "" || comboBox2.SelectedIndex == -1 || tIp.Text == "")
            {
                MessageBox.Show("没有填写完整!");
                return;
            }

            CodeInfo codeinfo = new CodeInfo();

            codeinfo.code    = tCode.Text;
            codeinfo.name    = tName.Text;
            codeinfo.subtype = comboBox2.Items[comboBox2.SelectedIndex].ToString();

            //要注意的是如果新加了ip地址进来,必须先建立连接才能订阅合约,否则崩掉
            if (listIp[comboBox2.Text] == "")
            {
                string sub = "newip#";

                sub = sub + comboBox2.Text + "#" + tIp.Text + "#";

                init(sub);
            }
            else if (listIp[comboBox2.Text] != tIp.Text)
            {
                //MessageBox.Show("行情连接地址更新需重启程序!");
                string sub = "newip#";

                sub = sub + comboBox2.Text + "#" + tIp.Text + "#";

                init(sub);
            }

            listIp[comboBox2.Text] = tIp.Text;
            listCodeInfo.Add(codeinfo);
            InsertCode(codeinfo);
        }
Exemple #2
0
        public string LoadAccountConfig()
        {
            //开始需要清空list
            FormSet.listAccount.Clear();

            string fileConfig = FormSet.getfilename();

            if (fileConfig == "")
            {
                MessageBox.Show("account.xml配置文件不存在,无法登录!");
                return("");
            }

            XmlDocument doc = new XmlDocument();

            doc.Load(fileConfig);

            XmlNode root = doc.LastChild;

            XmlNodeList list = root.ChildNodes;

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                AccountInfo data = new AccountInfo();

                data.account = sublist[0].InnerText.Trim();

                data.pwd = sublist[1].InnerText.Trim();

                data.serverip = sublist[2].InnerText.Trim();

                data.apitype = sublist[3].InnerText.Trim();

                data.brokeid = sublist[4].InnerText.Trim();

                FormSet.listAccount.Add(data);
            }


            //加载合约

            FormSet.listCodeInfo.Clear();

            FormSet.listIp.Clear();

            fileConfig = FormSet.getcodefilename();

            if (fileConfig == "")
            {
                MessageBox.Show("code.xml配置文件不存在,无法连接行情!");
                return("");
            }

            doc.Load(fileConfig);


            list = doc.SelectNodes("/ranges/codeinfo");

            //list = doc.SelectSingleNode("/ranges").ChildNodes;

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                CodeInfo data = new CodeInfo();

                string s = sublist[0].Name;

                data.code = sublist[0].InnerText.Trim();

                data.name = sublist[1].InnerText.Trim();

                data.subtype = sublist[2].InnerText.Trim();


                FormSet.listCodeInfo.Add(data);
            }

            list = doc.SelectNodes("/ranges/ip");

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                foreach (XmlNode xn in sublist)
                {
                    if (xn.Name == "ufx")
                    {
                        FormSet.listIp["ufx"] = xn.InnerText.Trim();
                    }
                    else if (xn.Name == "ctp")
                    {
                        FormSet.listIp["ctp"] = xn.InnerText.Trim();
                    }
                }
            }

            list = doc.SelectNodes("/ranges/port");

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                FormSet.port = sublist[0].InnerText.Trim();
            }

            if (FormSet.listIp.Count == 0)
            {
                FormSet.listIp["ufx"] = "";
                FormSet.listIp["ctp"] = "";
                MessageBox.Show("尚未配置行情地址!");
            }

            return("ok");
        }
Exemple #3
0
        //保存合约
        public void SaveCodeInfo()
        {
            string fileConfig = getcodefilename();

            XmlDocument doc = new XmlDocument();

            doc.Load(fileConfig);

            XmlNode root = doc.LastChild;

            XmlNodeList list = root.ChildNodes;

            root.RemoveAll();

            for (int i = 0; i < listCodeInfo.Count; i++)
            {
                CodeInfo codeinfo = listCodeInfo[i];

                XmlElement elemChild = doc.CreateElement("codeinfo");

                root.AppendChild(elemChild);

                XmlElement elem = doc.CreateElement("code");

                elem.InnerText = codeinfo.code;

                elemChild.AppendChild(elem);

                //////////////////////////////////
                elem = doc.CreateElement("name");

                elem.InnerText = codeinfo.name;

                elemChild.AppendChild(elem);

                /////////////////////////////////
                elem = doc.CreateElement("subtype");

                elem.InnerText = codeinfo.subtype;

                elemChild.AppendChild(elem);
            }


            //只有一个ip
            XmlElement elemChildip = doc.CreateElement("ip");

            root.AppendChild(elemChildip);

            if (listIp.ContainsKey("ufx"))
            {
                //////////////////////////////////
                XmlElement e_ufx = doc.CreateElement("ufx");

                e_ufx.InnerText = listIp["ufx"];

                elemChildip.AppendChild(e_ufx);
            }

            if (listIp.ContainsKey("ctp"))
            {
                //////////////////////////////////
                XmlElement e_ctp = doc.CreateElement("ctp");

                e_ctp.InnerText = listIp["ctp"];

                elemChildip.AppendChild(e_ctp);
            }



            doc.Save(fileConfig);
        }
Exemple #4
0
        public void LoadConfig()
        {
            //开始需要清空list
            listAccount.Clear();

            fsr.clearFundaccount();

            string fileConfig = getfilename();

            XmlDocument doc = new XmlDocument();

            doc.Load(fileConfig);

            XmlNode root = doc.LastChild;

            XmlNodeList list = root.ChildNodes;

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                AccountInfo data = new AccountInfo();

                data.account = sublist[0].InnerText.Trim();

                cbbAccount.Items.Add(data.account);

                //加到checkedlist里面
                fsr.addFundaccount(data.account);

                data.pwd = sublist[1].InnerText.Trim();

                data.serverip = sublist[2].InnerText.Trim();

                data.apitype = sublist[3].InnerText.Trim();

                data.brokeid = sublist[4].InnerText.Trim();

                InsertList(data);

                listAccount.Add(data);
            }


            //加载合约

            FormSet.listCodeInfo.Clear();

            listIp.Clear();

            fileConfig = FormSet.getcodefilename();

            doc.Load(fileConfig);

            list = doc.SelectNodes("/ranges/codeinfo");

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                CodeInfo data = new CodeInfo();

                data.code = sublist[0].InnerText.Trim();

                data.name = sublist[1].InnerText.Trim();

                data.subtype = sublist[2].InnerText.Trim();


                FormSet.listCodeInfo.Add(data);

                InsertCode(data);
            }

            list = doc.SelectNodes("/ranges/ip");

            for (int i = 0; i < list.Count; i++)
            {
                XmlNodeList sublist = list[i].ChildNodes;

                foreach (XmlNode xn in sublist)
                {
                    if (xn.Name == "ufx")
                    {
                        FormSet.listIp["ufx"] = xn.InnerText.Trim();
                    }
                    else if (xn.Name == "ctp")
                    {
                        FormSet.listIp["ctp"] = xn.InnerText.Trim();
                    }
                }
            }

            if (FormSet.listIp.Count == 0)
            {
                FormSet.listIp["ufx"] = "";
                FormSet.listIp["ctp"] = "";
            }
        }