摘要: 缘由: 在改正俄罗斯方块程序的功能的时候,想给这个程序增加一个背景音乐。本想用PlayWave来做的,但想到这个功能十分常用,那还不如封装一个自己的CMusic类,以备不时之需。本来以为很容易的,可是在真正操作的时候,却出现了一个问题,就是无法准确的知道什么时候音乐播放完成。问题的难道就在于,怎样将类的成员函数作为窗口的回调函数。 原本用thunk来解决这个问题的,但是在解决的时候出现了一个问题,调试了好几天都没有解决。直到最近才解决。(也就是前一篇文章的由来)代码:(前面定义的宏主要是解决Unicode问题)cMusic.h 1 #ifndef CMUSIC_H 2 #define C... 阅读全文
posted @ 2013-02-27 23:19 张敏樱木花道 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 缘由:在给游戏做背景音乐类的时候,遇到了一个问题,需要用到MCI函数,但是MCI函数必须需要一个窗口来获得MCI执行的状态。特别在播放音乐完成的时候,MCI会向一个窗口发送播放完成消息。所以我需要创建一个窗口。窗口就肯定有窗口过程,而窗口过程是不能够为类成员函数的。但这个类中为了保证类的封装性,这个窗口过程函数又必须为类成员函数(因为需要访问很多变量)。因此,就想有没有办法让类成员函数也作为窗口类的回调函数呢?Thunk技术在网上查了些资料,发现thunk技术是可以实现这一点。下面是一些thunk技术的理解之所以能实现成员函数作为回调函数 是因为a,一般调用C++的成员函数之前,都是使用ECX 阅读全文
posted @ 2013-02-27 00:09 张敏樱木花道 阅读(2367) 评论(0) 推荐(0) 编辑
摘要: 自己用C++实现了一个俄罗斯方块,只完成了核心的游戏部分。我计划用一年的时间来维护这个程序。如果你对这个游戏有任何的建议或者想法可以和我联系,期待和你一起完善它。当然你也可以自己修改这个程序,但有一个建议就是:每次你完成了修改,请更新程序的修改 日志。如果能给我一份邮件,那就太感激了。详情请见附件。附件内容:源码,可执行文件 ,说明文档。不懂怎么上传附件,就附加了一个连接。如果下载不了,直接给我邮件 zhang19min88@163.comhttp://bbs.bccn.net/viewthread.php?tid=393941&extra=&frombbs=1 阅读全文
posted @ 2012-12-27 10:27 张敏樱木花道 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 老是弄不明白PHP和JavaScript的语法的区别 特别是函数,有时候不是很确定PHP该如何声明或者定义一个函数。这次特定看了一下PHP和JavaScript的语法介绍的书。才弄明白了。原来在PHP和JavaScript中声明或者定义函数的语法格式是相同的。都是fucnction fun_name(argv)。还有就是关于语言的嵌套问题。HTML中可以嵌入PHP ,也可以嵌入JavaScript在PHP为后缀的文件中 也可以嵌入JavaScript 和HTML在以js为后缀的文件 还没有很确定。明天再研究一下! 阅读全文
posted @ 2012-11-21 00:50 张敏樱木花道 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 最近在做网站的时候,由于是用Joomla做的 。自己开发了一个模版,但是在实际的使用中 发现模版中的有些字体和颜色并不是我预想中的那样的。自己对CSS只是看过几次,并没有很深入的学习。估计问题就在这里。所以这次特地花时间学习一下CSS的样式选择器。CSS样式选择器1,什么是CSS样式选择器? 就我个人的理解 样式选择器其实就是一个限定符,有点类似于C++中的命名空间。他指明了这个样式将会用在什么地方。2,CSS样式选择器有哪几种? 样式选择器有一下几种 : 1,HTML标签选择器 ,顾名思义就是单独对一个HTML标签的样式控制。 2,ID选择器 Class选择器 , 每一个HTML元素都有.. 阅读全文
posted @ 2012-11-20 02:23 张敏樱木花道 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 在刚开始接触Joomla时,一遇到安装错误,基本上就不懂怎么办了。在一段时间的摸索之后,总结了一下集中解决方法。1,无法在压缩包中找到XML安装文件。 解决方案:这主要是因为 你上传的.zip文件其实不是真正的安装文件。你需要解压后找到真正的.zip文件 然后上传就可以解决了。这个情况比较特殊。一般一些汉化组建会有这样的问题。最明显的一个是Fibrik组建2,安装时提示一个错误在上传文件中过程中出现一个错误 解决的方案:这个主要是我们PHP配置文件对最大上传文件大小的限制造成的。修改php的ini文件,找到post_max_size = 2M 改大后重启就行了。3,安装很长一段时间后 提示.. 阅读全文
posted @ 2012-11-04 01:56 张敏樱木花道 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 目标是搭建一个LAMP的服务器平台,并在上面构建一个Joomla网站。1,安装虚拟机 我安装的是VM虚拟机。用以前用过的安装程序进行安装,但是出现错误,错误提示是"安装程序无法复制文件vmnet.sys".开始我还以为是这个文件没有,但是我在全盘搜索之后,发现了这个文件vmnet.sys是存在的,指定安装目录后 依旧提示错误。有时候点击重试会顺利完成安装。但安装虚拟机操作系统后 是无法和网络建立连接的。我猜测是安装文件的问题,就用另一个Vm的版本进行安装。虽然顺利进行,但依旧无法和网络建立连接。没有办法。改用Oracle Vm VirtualBox进行安装,这才能够和网络进 阅读全文
posted @ 2012-11-04 01:39 张敏樱木花道 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 在看c++Primer的时候看到当中有一个很巧妙的提取一行中单词的方法,觉得很有感触,就将这段代码敲出来分享一下:/*程序的主要完成的功能是转换一段文字中的特殊单词为我们指定的单词比喻我们规定用 cuz 代表because 以后凡是遇到cuz的地方都用because进行替换*///主要的实现思路很简单 就是用map做一个键值对 将cuz 这种设置为key 将because设置为value 将要处理的文字存储在vector中 判断并进行替换//下面看实现代码:int main(int argc,char **){ map<string,string> trans_map; ... 阅读全文
posted @ 2012-10-25 00:03 张敏樱木花道 阅读(978) 评论(0) 推荐(0) 编辑
摘要: 最近在做linux上的编程 ,发现了两个奇怪的问题。第一个是 我写了一个函数 他的返回值是bool型的 在编译的时候居然 出错信息摘抄如下:错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘recvCommand’百思不得其解,最后凭借经验 试着将bool改为int 。居然这个问题给解决了。真是奇怪了。在网上找了下资料,觉得很有用就总结了一下:原来 在linux C中并没有bool类型,在C语言或者C++里本身没有bool这种类型的,有些编译器可以识别是因为编译器自己定义了bool类型。#define bool int .C 阅读全文
posted @ 2012-10-24 23:34 张敏樱木花道 阅读(1481) 评论(1) 推荐(0) 编辑
摘要: 今天的目标就是在Linux中用C连接MySQL数据库并且进行mysql数据库的操作.MySQL编程有两个方式 ,一个是mysqlclient C客户端库,一个是mysql嵌入式服务器库。具体我们用那一个就看我们在连接的时候是用的是什么参数。另外这两种方式写的代码几乎没有什么差别。只是当你在用mysql嵌入式服务器库时你需要加上两个特别的函数就可以了。我遇到的第一问题就是包含头文件#include"mysql.h"时提示找不到这个文件。我当即想到我在装mysql的时候并没有默认安装 而是装在了自己的规定的目录,所以才找不到。所以我在头文件包含中加了一个绝对路径#include 阅读全文
posted @ 2012-10-23 00:49 张敏樱木花道 阅读(1006) 评论(0) 推荐(0) 编辑