原创:QQ群发言统计
源碼下載
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Text.RegularExpressions;
using?System.IO;
namespace?QQGroupCount
{
????public?partial?class?QQGroupCounter?:?Form
????{
????????public?QQGroupCounter()
????????{
????????????InitializeComponent();
????????}
????????private?void?btnBroswer_Click(object?sender,?EventArgs?e)
????????{
????????????openFileDialog1.ShowDialog();
????????}
????????private?void?openFileDialog1_FileOk(object?sender,?CancelEventArgs?e)
????????{
????????????txtFilePath.Text?=?openFileDialog1.FileName;
????????????btnCount.Focus();
????????}
????????private?void?btnCount_Click(object?sender,?EventArgs?e)
????????{
????????????StreamReader?sr?=?new?StreamReader(txtFilePath.Text);
????????????CountingContent(sr.ReadToEnd());
????????????sr.Dispose();
????????}
????????void?CountingContent(string?content)
????????{
????????????string?pattern?=?@"\d{4}[\-|/]\d{1,2}[\-|/]\d{1,2}?\d{1,2}:\d{1,2}:\d{1,2}?(.[^\(\)\<\>]*)(\(\d+\)|\<.[^\<\>]*\>)";
????????????MatchCollection?mc?=?Regex.Matches(content,?pattern,?RegexOptions.Multiline);
????????????List<QQUser>?list?=?new?List<QQUser>();
????????????string?qq,?name;
????????????foreach?(Match?m?in?mc)
????????????{
????????????????qq?=?m.Groups[2].Value.Replace('(',?'\0').Replace(')',?'\0').Replace('<',?'\0').Replace('>',?'\0');
????????????????name?=?m.Groups[1].Value;
????????????????QQUser?user?=?list.Find(u?=>?u.QQ?==?qq);
????????????????if(user==null)
????????????????????user?=?list.Find(u?=>?u.NickName?==?name);
????????????????if?(user?==?null)
????????????????{
????????????????????user?=?new?QQUser();
????????????????????user.QQ?=?qq;
????????????????????user.NickName?=?name;
????????????????????user.Count?=?1;
????????????????????list.Add(user);
????????????????}
????????????????else
????????????????{
????????????????????user.Count++;
????????????????????user.NickName?=?name;
????????????????}
????????????}
????????????list=list.OrderByDescending(u=>u.Count).ToList();
????????????int?i=0;
????????????foreach(QQUser?user?in?list)
????????????{
????????????????i++;
????????????????user.Rank?=?i;
????????????}
????????????dataGridView1.DataSource?=?list;
????????}
????}
????public?class?QQUser?
????{
????????public?int?Rank?{?get;?set;?}
????????public?string?NickName?{?get;?set;?}
????????public?string?QQ?{?get;?set;?}
????????public?int?Count?{?get;?set;?}
????}
}
轉載于:https://www.cnblogs.com/mad/archive/2009/05/20/1467312.html
總結
以上是生活随笔為你收集整理的原创:QQ群发言统计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Red5安装配置
- 下一篇: 九种东西吃多会...