Justabug小程序②-QQ记录分析器

我又来发表旧作了…没错还是旧作,不过这个比较新了,两个月之前写的

有人问为什么要做这个东西呢?又被你发现了,我是自己想用才动手来做的………..hum,事情的原因就是某傻逼有段时间比较冷淡,上Q总是只发几个哦或者是纯表情…我略略不高兴就做了这个东西,一晚上搞定,两个小时不到。也不是为了证明什么,也不是想干嘛,就是想把这些东西数字化一下,然后自己看看。

你也想分析下你的他/她跟你的对话是什么情况吗?!你也想来试炼一下,测试一下你们之间是什么情况吗!你也想试试这个东西会不会带来感情危机吗!(开玩笑的啦,其实只是闹着玩的。我建议大家除了可以拿身边的人分析一下,也可以拿些你感觉奇怪的人来分析下,看看他是不是特别爱发“哦/嗯”,看看他是不是很爱发纯表情~~当然如果有人因为我写这个6KB的东西而分手了的话…我不负任何责任= =慎用啊各位

以下先上使用方法

首先你需要的是QQ聊天记录,对于这个,我这里推荐几种方法

1.你可以打开QQ的消息管理器,然后导出消息(保存成txt)..之前我没有加上选择日期功能,现在已经加上去了*( ̄▽ ̄)* ,所以选好时间段就可以使用

2.可以查看聊天记录,这样复制起来有点麻烦…适合短期内的分析,直接用鼠标选了复制就行。

然后怎么用呢,下面是截图

QQ截图20130926193936
这里用我和老妈的记录做下示范….有人留意到斜杠,没错,那个就是你给别人加过的注释,你可以留意下QQ聊天记录里面对方的称号,如果你改了备注的话是会跟着变的,在“我”旁边的框里写上你自己的Q名~~~~然后~~把那一大段的聊天记录全部粘贴到很大的框里面~~~然后点击“开始试炼”,就行了
.
.
.
.

 

关于技术讨论~~这里貌似就没什么好说的了,分隔字符用的是spit,去掉空格回车那些东西用的是replace。非常简单的东西,至于循环这里说一下。因为要检测一条消息的判断方法不能是回车,只能是检测到下一个日期(每条记录之前都会有个日期)或者检测到结尾才能是一条消息的结束。而且我们必须检查这条记录的发出者是谁。所以我用的方法是用一些值来记录该消息的状态。本来是用bool值的,但是综合考虑还要判断发出者,所以整理下弄了个枚举。我不确认这样的做法是好的,欢迎大家给我建议。

//先是枚举

enum Flag { Me,You,No}

//下面是循环

foreach (string s in QQlist)

{if (f == Flag.Me)

{

Isay.Add(s);

f = Flag.No;

}

else if (f == Flag.You)

{

Yousay.Add(s);

f = Flag.No;

}

else if (ContainS(MyName,s))

{f = Flag.Me;}

else if (ContainS(YourName, s))

{f = Flag.You;}

}

//这里介绍下日期的比较,用的是datetime类和dateTimePicker控件

DateTime date1 = new DateTime(Convert.ToInt32(time[0]), Convert.ToInt32(time[1]), Convert.ToInt32(time[2].Substring(0, 2)));

//我发现addyears这些方法并不是很好的选择

//date1.AddYears(Convert.ToInt32(time[0]));

//date1.AddMonths(Convert.ToInt32(time[1]));

//date1.AddDays(Convert.ToInt32(time[2].Substring(0,2)));

if (DateTime.Compare(date1, dateTimePicker1.Value) > 0 && DateTime.Compare(date1, dateTimePicker2.Value)<0)

return true;

最后当然是下载啦

点击我开始试炼

Article written by

3 Responses

  1. 逗逼
    逗逼 at | | Reply

    想玩不知道找谁来玩==……

  2. 咚咚咚
    咚咚咚 at | | Reply

    哇哈哈哈哈

Please comment with your real name using good manners.

Leave a Reply