摘要: 今晚闲来无事,写篇博文聊解解闷~CEdit这个空间类,我之前倒是用过,不过那个时候用的还比较菜,现在么,依旧比较菜~首先,因为我今天刚做完了一个局域网聊天软件,用的就是CEdit来显示和获取数据的。最近实验室没网了,所以我在寝室的时候上网随手粘了几篇文章到U盘后就直奔实验室了。没网还去实验室,是因为在实验的局域网能让我联机调试,我室友用电脑看考研辅导视频。说了好多废话~1 获取CEdit对象中的数据:设对象为m_RecvEdit。先使用其成员函数GetLineCount,获取到对话框中文本的行数。然后做一个for循环,在其中使用其成员函数GetLine获取对应行中的文本。文本框中的数据存储可以 阅读全文
posted @ 2013-08-18 22:24 Matrix_R 阅读(4211) 评论(0) 推荐(0) 编辑
摘要: 今天因为需要把一个winsock代码封装到C++类中,但是在过程中,遇到了不少问题,都是我以前知道的,但是忘了的。今天专门好好地写一篇博文,免得以后忘了还要百度。首先我原来的程序主动创建了3个线程,算上main,一共是4个线程。封装为C++类后,因为不能因创建的对象而阻塞原程序,所以在需要创建一个替代main的主线程。这样就是4个线程了,其中2个线程用的是同一个函数。而且这四个线程我只想让我的对象用,对外部应该是不可见的,所以,要封装到类里面。我前面的一篇博文也说了,类中的函数若想成为线程函数,则必须为静态成员函数。原因就是静态成员函数没有this指针。这样,类中就要有3个静态成员函数了。C+ 阅读全文
posted @ 2013-08-15 16:56 Matrix_R 阅读(3876) 评论(0) 推荐(1) 编辑
摘要: 刚才在看平板电脑以及联想的yoga笔记本,发现pad,还是苹果的好,基本没看到什么系统易崩溃的差评总体都是很不错的。而国产平板如台电,aigo,昂达等都存在开机以及系统稳定性问题。又接着看了yoga笔记本,感觉,也就一般,有几个评价说散热不好,运行有点慢。我觉得,一个令人满意的电子产品,以及软件,只要能做到以下两点就很不错了:1 稳定2 响应快其他什么花里胡哨的,真的没什么用。 阅读全文
posted @ 2013-08-13 00:31 Matrix_R 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 五子棋工作文档1说明: 这个程序在创建初期的时候是有一个写的比较乱的文档的,但是很可惜回学校的时候没有带回来……所以现在赶紧整理一下,不然再过一段时间就忘干净了。 最初这个程序是受老同学所托做的,一开始的时候要求要人人对战和人机对战,但是大家都很明白,所谓的人人对战就是简单那的GDI绘图罢了,那些基础函数用好了自然没问题。而人机对战则需要一定的棋盘分析能力,做起来还是很复杂的。当时受时间限制,第一个版本是我用了两天时间做的一个人人对战,直接就给她发过去了,用来应付她的实习,因为我当时也不确定人机对战能不能做出来。不过之后我一直在做,毕竟之前没做过,算是一次尝试。之后貌似过了9天吧,才完成了核心 阅读全文
posted @ 2013-08-09 21:52 Matrix_R 阅读(15792) 评论(1) 推荐(0) 编辑
摘要: 这个最初是在microsoft的《编程之美》中看到的,用你的程序来控制CPU的使用率。首先是要求写一个用来实现CPU使用率为50%程序。这个还是很好实现的,只要让你的程序忙的时间课空闲时间对半就可以了。这里主要要用到两个函数:GetTickCount以及Sleep。GetTickCount函数据我所知在2000版的msdn中是查不到的,不过功能很简单,就是返回系统启动到现在所经历的毫秒数。有了这个函数,就能够较为准确的获得一个程序运行时间,来控制程序的睡眠时间。这个是实际效果图:这个图片的效果就比较惨了,这个程序是我用来画CPU正弦曲线,看这个图片依稀能看出来点正弦的意思……在家里的计算机画的 阅读全文
posted @ 2013-08-08 21:35 Matrix_R 阅读(4880) 评论(2) 推荐(0) 编辑
摘要: 首先说下虚拟列表出现的原因:数据量比较小的时候,对于CListView控件可以直接使用InsertItem并配合SetItemText函数来插入并修改数据。这样操作很直接。但是,如果数据量比较大了,比如1w个数据,那么,根据插入的数据种类,长度,以及计算机性能,估计时间在10s中到1分钟不等。如果你的用户在使用的这样的程序时肯定不会开心,初始化的时候插入则需要登上10s+后才能使用,如果外加一个线程来并行插入,倒也是一个方法(这个事情我做过),不过,很浪费CPU时间,以及内存。如果是10w个,甚至100w个数据呢?那么至少会线性的增加时间了~但是回头想一想,一个列表,在你的计算机显示器上,最多 阅读全文
posted @ 2013-07-12 11:23 Matrix_R 阅读(3186) 评论(1) 推荐(1) 编辑
摘要: 回顾:刚刚写完,因为是分期写的,所以最初想好好做一下的文章格式半途而废了~说的也许会有点啰嗦,但是所有的基础用到的技术细节应该都用到了。如果还有什么疑问,请回复留言,我会尽力解答。如果有错误,请指正。这里所有使用到的内容在VS2010中均能正常运行。可运行程序的截图:CListCtrl控件的创建如果一个CListCtrl控件对象和dialog上的控件已经绑定,那么可以跳过这个这一步,因为绑定了的对象已经完成了创建。但是如果要在dialog上凭空创建出来一个列表控件,那么就需要了解CListCtrl类的成员函数:Create先看这个函数的原型:BOOL Create( DWORD dwStyle 阅读全文
posted @ 2013-07-04 21:50 Matrix_R 阅读(15203) 评论(2) 推荐(4) 编辑
摘要: 这个我一直都很想做了,前两天开始准备,查找了一下CFindFile的资料,然后把思路理清楚,就直接开始做了。文件系统是一个操作系统以一部分,所以想文件操作,基本上就要依赖于操作系统提供的接口函数。在这我是直接用windows中对文件查找专门做好了的一个类来实现文件的遍历。其实一个文件目录就是一个树,每一层目录都有很多的子目录和文件,当成节点就好了。在使用CFindFile遍历的时候,需要先调用FindFile函数,再调用FindNextFile函数来遍历当前这一级的目录。我为了输出方便使用了控制台工程,在这里需要提示一点:由于windows程序设计中默认使用unicode编码,所以在使用控制台 阅读全文
posted @ 2013-06-25 17:35 Matrix_R 阅读(6998) 评论(2) 推荐(0) 编辑
摘要: 之前腾讯实习生面试之行中面试官曾问过这个问题,不过他上来之后先问的是:你知不知道单件类?然后我摇了摇头:不知道。刚才在看C++ primer plus的时候,还真的看到了C++中单件类的实现。其实方法也还是挺简单的:目的很简单,就会要一个类只能创建一个实例,也就是只有一个对象。我之前的想法是在类中添加一个静态成员来计数,然后呢,通过计数来控制对象的创建。但是,我现在想想,觉得这个想法还真的是挺幼稚的。用了静态成员,第一次对计数的查看是在什么地方?构造函数。但是很明显的是,构造函数创建的时候,这个对象已经生成了。也许可以把这个类的内部数据全部都变成无效值,但是终究还是创建了两个对象。书上提供了一 阅读全文
posted @ 2013-06-16 10:21 Matrix_R 阅读(402) 评论(1) 推荐(0) 编辑
摘要: 最近刚开始看DX,刚才刚刚把环境搭建好。具体步骤是这样的:首先,你要下载一个DX的SDK安装包,把sdk装到你的计算机上,不必非要装在C盘。假设在vs2010下,创建一个window32工程。然后对这个win32工程进行配置。主要有一下几个地方:在工程属性窗口中,就是VC++ directory下有这样的几个路径要配置好:include directorylibrary directorysource directory这些对应的文件夹路径都是在所安装的sdk目录下能找到的,选中文件夹包含进去就可以了。然后还有一个需要配置的就是linker,这个主要是在input选项中添加三个链接库分别是:d 阅读全文
posted @ 2013-06-14 00:19 Matrix_R 阅读(353) 评论(0) 推荐(0) 编辑