}//获取和载入卡片 #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); //--------------------------------------- }//查询是否找到自己要的卡
}//获取我的卡片信息 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; }//获取卡友卡片信息
}//闪卡 #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; }//获取我的卡片信息