/// <summary> /// 添加单词 /// </summary> /// <param name="word">单词</param> /// <param name="attrs">属性s</param> public static void AddWord(string word,SetAttribute attrs) { if (Words.ContainsKey(word)) { SetAttr(word, attrs); return; } Words.Add(word, attrs); }
/// <summary> /// 添加单词 /// </summary> /// <param name="word">单词</param> /// <param name="attrs">属性s</param> public static void AddWord(string word, SetAttribute attrs) { if (Words.ContainsKey(word)) { SetAttr(word, attrs); return; } Words.Add(word, attrs); }
/// <summary> /// 设置属性 /// </summary> /// <param name="word">单词</param> /// <param name="attrs">属性s</param> public static void SetAttr(string word, SetAttribute attrs) { if (Words.ContainsKey(word)) { Words[word] = attrs; } else { Words.Add(word, attrs); } }
private void listBoxSet_SelectedIndexChanged(object sender, EventArgs e) { SetAttribute setAttr = WordSetKind.Words[listBoxSet.Items[listBoxSet.SelectedIndex].ToString()]; int index; index = listBoxBrands.Items.IndexOf(setAttr.BrandName); listBoxBrands.SelectedIndex = index; index = listBoxOS.Items.IndexOf(setAttr.OS); listBoxOS.SelectedIndex = index; index = listBoxSetKind.Items.IndexOf(setAttr.setKind); listBoxSetKind.SelectedIndex = index; }
private void listBoxBrands_MouseDoubleClick(object sender, MouseEventArgs e) { if (listBoxBrands.SelectedIndex == -1) { return; } string content; ChangeItemContent changeItemContentForm = new ChangeItemContent(); changeItemContentForm.Owner = this; changeItemContentForm.Content = listBoxBrands.Items[listBoxBrands.SelectedIndex].ToString(); changeItemContentForm.ShowDialog(); content = changeItemContentForm.Content; if (content.Length > 0) { listBoxBrands.Items[listBoxBrands.SelectedIndex] = content; SetAttribute sa = WordSetKind.Words[listBoxSet.SelectedItem.ToString()]; sa.BrandName = content; WordSetKind.Words[listBoxSet.SelectedItem.ToString()] = sa; } }
void doAutoAna() { int anaCount = 0; if (WordSetKind.Words.Count != 0) { WordSetKind.Words.Clear(); } if (Datas.sinaJSONList.Count == 0) { BlogReader br = new BlogReader(@"temp5.dat"); Datas.sinaJSONList = br.ReadFromFile(); } if (listBrands == null) { listBrands = new List <SingleBrand>(); } if (listBrands.Count == 0) { using (FileStream fs = new FileStream("datas/mobileDatas.dat", FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); listBrands = bf.Deserialize(fs) as List <SingleBrand>; fs.Close(); } } foreach (SinaJSON item in Datas.sinaJSONList) { anaCount++; Datas.ProgressBarState = "正在分析第" + anaCount + "个"; string source = Regex.Match(item.Source, @">[^<]+").Value; source = source.Substring(1, source.Length - 1); SetAttribute attr = new SetAttribute(); short position = 0; //位置变量 foreach (SingleBrand singleBrand in listBrands) { string[] name = singleBrand.BrandName.Replace(")", "").Split('('); if (name.Length == 2) { if (source.IndexOf(name[0]) != -1 || source.IndexOf(name[1]) != -1) { attr.BrandName = singleBrand.BrandName; break; } } else { if (source.IndexOf(name[0]) != -1) { attr.BrandName = singleBrand.BrandName; break; } } position++; } //品牌匹配成功 if (attr.BrandName != null) { foreach (Model model in listBrands[position].ListModels) { //存在型号 if (model.ModelName != null && model.ModelName.IndexOf(source) != -1) { if (model.ModelName.IndexOf("android", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Android; } else if (model.ModelName.IndexOf("iOS", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; } if (attr.OS != OperatingSystem.未知) { attr.setKind = SetKind.手机; break; } } } if (attr.OS == OperatingSystem.未知) { attr.OS = OperatingSystem.Android; } if (attr.setKind == SetKind.未知) { attr.setKind = SetKind.手机; } } //品牌匹配失败 else { //大系统确定 if (source.IndexOf("android", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Android; attr.setKind = SetKind.未知; } else if (source.IndexOf("ios", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.未知; } else if (source.IndexOf("win8", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Windows; attr.setKind = SetKind.PC; } else { attr.OS = OperatingSystem.其它; attr.setKind = SetKind.未知; } attr.BrandName = "其它"; } if (source.IndexOf("window", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.WindowsPhone; } else if (source.IndexOf("s60", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("s40", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("s30", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.塞班; } if (source.IndexOf("phone", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.手机; } if (source.IndexOf("iphone", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.手机; } else if (source.IndexOf("ipad", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.平板; } if (source.IndexOf("手机", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("note", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.手机; } else if (source.IndexOf("平板", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("tab", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.平板; } if (attr.OS == OperatingSystem.其它 && source.IndexOf("智能") != -1) { attr.OS = OperatingSystem.Android; } WordSetKind.AddWord(source, attr); } Datas.ProgressBarCompelet = true; }
void doAutoAna() { int anaCount = 0; if (WordSetKind.Words.Count != 0) { WordSetKind.Words.Clear(); } if (Datas.sinaJSONList.Count == 0) { BlogReader br = new BlogReader(@"temp5.dat"); Datas.sinaJSONList = br.ReadFromFile(); } if (listBrands == null) listBrands = new List<SingleBrand>(); if (listBrands.Count == 0) { using (FileStream fs = new FileStream("datas/mobileDatas.dat", FileMode.Open)) { BinaryFormatter bf = new BinaryFormatter(); listBrands = bf.Deserialize(fs) as List<SingleBrand>; fs.Close(); } } foreach (SinaJSON item in Datas.sinaJSONList) { anaCount++; Datas.ProgressBarState = "正在分析第" + anaCount + "个"; string source = Regex.Match(item.Source, @">[^<]+").Value; source = source.Substring(1, source.Length - 1); SetAttribute attr = new SetAttribute(); short position = 0; //位置变量 foreach (SingleBrand singleBrand in listBrands) { string[] name = singleBrand.BrandName.Replace(")", "").Split('('); if (name.Length == 2) { if (source.IndexOf(name[0]) != -1 || source.IndexOf(name[1]) != -1) { attr.BrandName = singleBrand.BrandName; break; } } else { if (source.IndexOf(name[0]) != -1) { attr.BrandName = singleBrand.BrandName; break; } } position++; } //品牌匹配成功 if (attr.BrandName != null) { foreach (Model model in listBrands[position].ListModels) { //存在型号 if (model.ModelName != null && model.ModelName.IndexOf(source) != -1) { if (model.ModelName.IndexOf("android", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Android; } else if (model.ModelName.IndexOf("iOS", StringComparison.CurrentCultureIgnoreCase) != -1) attr.OS = OperatingSystem.iOS; if (attr.OS != OperatingSystem.未知) { attr.setKind = SetKind.手机; break; } } } if (attr.OS == OperatingSystem.未知) { attr.OS = OperatingSystem.Android; } if (attr.setKind == SetKind.未知) attr.setKind = SetKind.手机; } //品牌匹配失败 else { //大系统确定 if (source.IndexOf("android", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Android; attr.setKind = SetKind.未知; } else if (source.IndexOf("ios", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.未知; } else if (source.IndexOf("win8", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.Windows; attr.setKind = SetKind.PC; } else { attr.OS = OperatingSystem.其它; attr.setKind = SetKind.未知; } attr.BrandName = "其它"; } if (source.IndexOf("window", StringComparison.CurrentCultureIgnoreCase) != -1) attr.OS = OperatingSystem.WindowsPhone; else if (source.IndexOf("s60", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("s40", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("s30", StringComparison.CurrentCultureIgnoreCase) != -1) attr.OS = OperatingSystem.塞班; if (source.IndexOf("phone", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.手机; } if (source.IndexOf("iphone", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.手机; } else if (source.IndexOf("ipad", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.OS = OperatingSystem.iOS; attr.setKind = SetKind.平板; } if (source.IndexOf("手机", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("note", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.手机; } else if (source.IndexOf("平板", StringComparison.CurrentCultureIgnoreCase) != -1 || source.IndexOf("tab", StringComparison.CurrentCultureIgnoreCase) != -1) { attr.setKind = SetKind.平板; } if (attr.OS == OperatingSystem.其它 && source.IndexOf("智能") != -1) { attr.OS = OperatingSystem.Android; } WordSetKind.AddWord(source, attr); } Datas.ProgressBarCompelet = true; }