Ejemplo n.º 1
0
        }//获取和载入卡片

        #region 卡友的各种计算
        private void Get_CardFriends()
        {
            while (true)
            {
                string Card_Fsid = Mydata.Card_Fsid(Chose_Exchange_Theme.ToString());
                //获取卡友[开始]-------------------------------
                Regex           regStr = new Regex(@"(?<!0\d*)[1-9]\d{4,10}", RegexOptions.IgnoreCase); //100个卡友的正则
                MatchCollection mat    = regStr.Matches(Card_Fsid);

                for (int i = 0; i < mat.Count; i++)
                {
                    tssState.Text      = "累计搜索 [" + iCount++.ToString() + "]";                            //计数
                    tssState.BackColor = Color.FromKnownColor(KnownColor.Control);
                    string      IinfoTemp = Mydata.Card_User("opuin=" + mat[i] + "&uin =" + Mydata.Iuin); //获取对方的信息保存在IinfoTemp
                    XmlDocument doc       = new XmlDocument();
                    doc.LoadXml(IinfoTemp);
                    XmlNode     x1 = doc.SelectSingleNode("QQHOME");
                    XmlNodeList x2 = x1.ChildNodes;
                    foreach (XmlNode x3 in x2)
                    {
                        if (x3.LocalName == "changebox" && Get_Exch(x3.Attributes[3].Value))
                        {
                            //Debug.WriteLine(x3.Attributes[3].Value);
                            XmlElement  xChangebox = (XmlElement)x3;
                            XmlNodeList xnls       = xChangebox.ChildNodes;
                            foreach (XmlElement xcx in xnls)
                            {
                                int status = Convert.ToInt32(xcx.GetAttribute("status")); //不等于0,该卡不存在
                                if (status == 0)
                                {
                                    int id = Convert.ToInt32(xcx.GetAttribute("id"));     //ID
                                    foreach (Mydata.MyItem item in lbCards.SelectedItems) //判断对方的卡是否有我需要的
                                    {
                                        if (item.Id == id)                                //↓↓↓找到了需要的↓↓↓
                                        {
                                            //Debug.WriteLine(mat[i].ToString());
                                            Mydata.Uuin = mat[i].ToString();
                                            U_boxInfo();
                                            tssState.Text       = "已找到 【" + _cardDic[id].Name + "】";
                                            tssState.BackColor  = Color.Green;
                                            this.Size           = new Size(700, 408);
                                            cbTop.Left          = 626;
                                            btnStartSearch.Text = "开始搜索";
                                            Console.Beep();
                                            Mydata.isChanging = true;
                                            threadStop();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                //Uuins.Add(mat[i].ToString());
            }
            //MessageBox.Show(uuidStr);
            //---------------------------------------
        }//查询是否找到自己要的卡
Ejemplo n.º 2
0
        }//获取我的卡片信息

        private void U_boxInfo()
        {
            lvUbox.Items.Clear();                                                                      //清空对方卡箱(安全起见)
            lvUbox.BeginUpdate();
            gBoxU.Text = Mydata.Uuin + ".换卡箱 [点我刷新]";                                                  //可刷新对方卡箱
            string      IinfoTemp = Mydata.Card_User("opuin=" + Mydata.Uuin + "&uin =" + Mydata.Iuin); //获取对方的信息保存在IinfoTemp
            XmlDocument doc       = new XmlDocument();

            doc.LoadXml(IinfoTemp);
            XmlNode     xn  = doc.SelectSingleNode("QQHOME");
            XmlNodeList xnl = xn.ChildNodes;

            Mydata.MyItem mi;
            foreach (XmlNode xnx in xnl)
            {
                if (xnx.LocalName == "changebox")
                {
                    XmlElement  xe   = (XmlElement)xnx;
                    XmlNodeList xnls = xe.ChildNodes;
                    foreach (XmlElement xcx in xnls)
                    {
                        int status = Convert.ToInt32(xcx.GetAttribute("status")); //不等于0,该卡不存在
                        if (status == 0)
                        {
                            int    id     = Convert.ToInt32(xcx.GetAttribute("id"));     //ID
                            string slot   = xcx.GetAttribute("slot");                    //卡位
                            int    unlock = Convert.ToInt32(xcx.GetAttribute("unlock")); //卡锁
                            int    type   = Convert.ToInt32(xcx.GetAttribute("type"));
                            int    st     = Convert.ToInt32(xcx.GetAttribute("st"));

                            mi.Id   = id;
                            mi.Name = _cardDic[id].Name;
                            mi.Sit  = slot;

                            ListViewItem lvi = new ListViewItem
                            {
                                Text = _cardDic[id].Name // + cardLock;
                            };
                            lvi.SubItems.Add(_cardDic[id].Price.ToString());
                            lvi.SubItems.Add(_themeDic[_cardDic[id].ThemeID].Name);
                            lvi.ForeColor = unlock == 0 ? Color.Black : Color.Red;
                            this.lvUbox.Items.Add(lvi).Tag = mi;
                        }
                    }
                }
            }
            lvUbox.EndUpdate();
            tssEXchange.Text = null;
        }//获取卡友卡片信息
Ejemplo n.º 3
0
        }//闪卡

        #endregion
        #region 卡箱刷新
        private void I_boxInfo()
        {
            lvIbox.Items.Clear();
            lvIbox.BeginUpdate();
            //Debug.Write(groupBox1.Location);
            string IinfoTemp = Mydata.Card_User("uin=" + Mydata.Iuin); //提交内容将返回的临时文本保存在postdata
            //Debug.Write(IinfoTemp);
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(IinfoTemp);
            XmlNode       xn        = doc.SelectSingleNode("QQHOME");
            XmlNodeList   xnl       = xn.ChildNodes;
            ListViewGroup Exbox_lvg = new ListViewGroup
            {
                Header          = "换卡箱", //设置组的标题。
                HeaderAlignment = HorizontalAlignment.Left
            };                           //创建换卡箱分组

            lvIbox.Groups.Add(Exbox_lvg);

            ListViewGroup Ofbox_lvg = new ListViewGroup
            {
                Header          = "保险箱",
                HeaderAlignment = HorizontalAlignment.Left //组标题居中对齐
            };                                             //创建保险箱分组

            lvIbox.Groups.Add(Ofbox_lvg);
            this.lvIbox.ShowGroups = true;

            foreach (XmlNode xnx in xnl)
            {
                #region 换卡箱
                if (xnx.LocalName == "changebox")
                {
                    XmlElement    xe   = (XmlElement)xnx;
                    XmlNodeList   xnls = xe.ChildNodes;
                    Mydata.MyItem mi;
                    foreach (XmlElement xcx in xnls)
                    {
                        int status = Convert.ToInt32(xcx.GetAttribute("status"));//不等于0,该卡不存在
                        if (status == 0)
                        {
                            string slot   = xcx.GetAttribute("slot");                    //卡位
                            int    unlock = Convert.ToInt32(xcx.GetAttribute("unlock")); //卡锁
                            int    id     = Convert.ToInt32(xcx.GetAttribute("id"));     //ID
                            int    type   = Convert.ToInt32(xcx.GetAttribute("type"));
                            int    st     = Convert.ToInt32(xcx.GetAttribute("st"));
                            //string cardLock = unlock > 0 ? "[锁]" : null;

                            mi.Id   = id;
                            mi.Name = _cardDic[id].Name;
                            mi.Sit  = slot;

                            ListViewItem lvi = new ListViewItem
                            {
                                Text = _cardDic[id].Name
                            };
                            lvi.SubItems.Add(_cardDic[id].Price.ToString());
                            lvi.SubItems.Add(_themeDic[_cardDic[id].ThemeID].Name);
                            lvi.ForeColor = unlock == 0 ? Color.Black : Color.Red;

                            Exbox_lvg.Items.Add(lvi);
                            this.lvIbox.Items.Add(lvi).Tag = mi;
                        }
                    }
                    int myMaxexcur = Convert.ToInt32(xe.GetAttribute("cur"));                         //换卡箱最大箱位
                    Exbox_lvg.Header = "换卡箱  " + Exbox_lvg.Items.Count + "/" + myMaxexcur.ToString(); //设置组的标题。
                }
                #endregion
                #region 保险箱
                if (xnx.LocalName == "storebox")
                {
                    XmlElement    xe   = (XmlElement)xnx;
                    XmlNodeList   xnls = xe.ChildNodes;
                    Mydata.MyItem mi;
                    foreach (XmlElement xcx in xnls)
                    {
                        if (xcx.LocalName == "card")
                        {
                            string slot = xcx.GetAttribute("slot");
                            int    id   = Convert.ToInt32(xcx.GetAttribute("id"));
                            int    type = Convert.ToInt32(xcx.GetAttribute("type"));
                            int    st   = Convert.ToInt32(xcx.GetAttribute("st"));

                            mi.Name = _cardDic[id].Name + ":" + _cardDic[id].Price;
                            mi.Id   = id;
                            mi.Sit  = slot;

                            ListViewItem lvi = new ListViewItem
                            {
                                Text = _cardDic[id].Name
                            };
                            lvi.SubItems.Add(_cardDic[id].Price.ToString());
                            lvi.SubItems.Add(_themeDic[_cardDic[id].ThemeID].Name);

                            Ofbox_lvg.Items.Add(lvi);
                            this.lvIbox.Items.Add(lvi).Tag = (object)mi;
                        }
                    }
                    int myMaxofcur = Convert.ToInt32(xe.GetAttribute("cur"));                         //保险箱最大箱位
                    Ofbox_lvg.Header = "保险箱  " + Ofbox_lvg.Items.Count + "/" + myMaxofcur.ToString(); //设置组的标题。
                }
                #endregion
            }
            lvIbox.EndUpdate();
            tssEXchange.Text = null;
        }//获取我的卡片信息