Archive for the ‘代码编程’ Category
用Inno Setup打包一个单机游戏的简单例子
因为贴代码会乱(WP就这个不好),大家打开这里看(为方便查看,我设置为txt文件):innosetup-ppl
如果安装后的运行程序需要带参数才行(如模拟器加载游戏包),这个问题困扰了我一阵子,最后查到,可以这样:
[Run]
Filename: "{app}\mame32k.exe"; Parameters: "pbobble4.zip"; Description: "{cm:LaunchProgram,泡泡龙4}"; Flags: shellexec postinstall skipifsilent
在运行程序的后面,加Parameters参数即可。
更详细的例子可以看这个:vbisssample
Inno Setup 是一个简单应用、完全免费的软件,官方:http://www.innosetup.com/isinfo.php
隐藏资源文件的方法
在做小游戏、图片站、影片站、下载站等有大量资源数据的网站时,如何防止数据资源文件被盗链,保护好自己的数据和流量,是个很重要的事情。
一般有自己服务器的,可以配置服务器,对调用页面进行验证,是自己的站,才让调用资源,否则,提示禁止盗链之类的提示。如果没有自己服务器,可以通过一些小技巧,隐藏资源文件。
下面介绍一种用JS隐藏真实路径的方法。
现在建站,大都会生成静态网页,一般就用JS隐藏路径,让别人难找出资源文件的真实URL。第一步,先建一个JS文件,如:parameters.js,里面定义路径值:
var SwfUrl="http://www.7kxyx.com/games_swf/";
页面的<head></head>间加入调用JS的代码:
<script src="”http://www.7kxyx.com/include/parameters.js”" type="”text/javascript”"><!--mce:0--></script>
<body></body>内容中用JS显示资源内容,如下面显示小游戏:
<script><!--mce:1--></script>
DEDECMS 5.1版本(新版不知是不是还这样?),每次上传附件,默然的都是在根目录下创建一个年年月月日日形式的目录,然后再把附件放到这个目录里。为了便于管理,我们要修改一下设置。
下面参考navyao的研究,大家修改就可以了。
1.修改文件: rooturl/dede/inc/inc_archives_functions.php
查找GetRemoteFlash,把
$cfg_uploaddir = $GLOBALS['media_dir'];
改为:
$cfg_uploaddir = $GLOBALS['cfg_medias_dir'];
2.到后台,新增一个变量:
系统管理-》添加新变量,所属组选择“附件/图片”,变量名称:cfg_medias_dir,变量值:/7k7k_swf(你可以修改你的)。
保存就OK了。你在../include/config_hand.php里也可以看到刚才新增的变量。
大家可以看这个小游戏站的设置。
dedeCMS小游戏数据库分析

dedeCMS很强大,几乎能建各种类型的网址。dedeCMS功能多,有文章、图片、软件、小游戏等各种类型的功能,和其他一些专业用于做小游戏网站的程序来说,后台的数据库也就复杂得多了。
仔细看了以后,我们可以看到,作为小游戏程序来用的话,大概只需要这些主要的表:
dede_archives 这是网站内容的主信息表,任何类型的网站都需要这个表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | CREATE TABLE `dede_archives` ( `ID` int(11) unsigned NOT NULL default '0', /* flash小游戏编号(也是文章、图片、软件等的编号)*/ `typeid` int(11) unsigned NOT NULL default '0', /* 小游戏分类编号 */ `typeid2` int(11) unsigned NOT NULL default '0', `sortrank` int(11) NOT NULL default '0', `iscommend` smallint(6) NOT NULL default '0', `ismake` smallint(6) NOT NULL default '0', `channel` int(11) NOT NULL default '1', `arcrank` smallint(6) NOT NULL default '0', `click` int(11) unsigned NOT NULL default '0', `money` smallint(6) NOT NULL default '0', `title` varchar(80) NOT NULL default '', /* 小游戏标题 */ `shorttitle` varchar(36) NOT NULL default '', `color` varchar(10) NOT NULL default '', `writer` varchar(30) NOT NULL default '', `source` varchar(50) NOT NULL default '', `litpic` varchar(100) NOT NULL default '', `pubdate` int(11) NOT NULL default '0', /* 发布日期 */ `senddate` int(11) NOT NULL default '0', `arcatt` smallint(6) NOT NULL default '0', `adminID` int(11) NOT NULL default '0', `memberID` int(11) unsigned NOT NULL default '0', `description` varchar(250) NOT NULL default '', /* 小游戏介绍 */ `keywords` varchar(60) NOT NULL default '', `templet` varchar(60) NOT NULL default '', `lastpost` int(11) NOT NULL default '0', `postnum` int(11) NOT NULL default '0', `redirecturl` varchar(150) NOT NULL default '', `mtype` int(11) NOT NULL default '0', `userip` varchar(20) NOT NULL default '', `locklikeid` smallint(6) NOT NULL default '0', `likeid` varchar(240) default '', `smalltypeid` smallint(6) NOT NULL default '0', `areaid` smallint(6) NOT NULL default '0', `areaid2` smallint(6) NOT NULL default '0', `sectorid` smallint(6) NOT NULL default '0', `sectorid2` smallint(6) NOT NULL default '0', `endtime` int(11) NOT NULL default '0', `digg` int(11) NOT NULL default '0', `diggtime` int(11) NOT NULL default '0', PRIMARY KEY (`ID`), KEY `typeid` (`typeid`,`typeid2`,`sortrank`,`channel`,`arcrank`,`adminID`,`memberID`,`smalltypeid`,`areaid`,`areaid2`,`sectorid`,`sectorid2`,`senddate`) ) TYPE=MyISAM |
dede_addonflash 这是存储flash小游戏部分信息的表,另外那些信息就是在上面说的表内,和dede_archives表构成完整的小游戏内容,包括:小游戏标题、小游戏介绍、小游戏图片地址、小游戏swf文件地址等信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | CREATE TABLE `dede_addonflash` ( `aid` int(11) NOT NULL default '0', /* flash ID,对应dede_archives.ID */ `typeid` int(11) NOT NULL default '0', `filesize` varchar(10) NOT NULL default '', `playtime` varchar(10) NOT NULL default '', `flashtype` varchar(10) NOT NULL default '', `flashrank` smallint(6) NOT NULL default '0', `width` smallint(6) NOT NULL default '0', `height` smallint(6) NOT NULL default '0', `flashurl` varchar(80) NOT NULL default '', /* flash swf文件的地址 */ `flashhh` varchar(100) NOT NULL default '', PRIMARY KEY (`aid`), KEY `flashMain` (`typeid`,`filesize`,`flashrank`) ) TYPE=MyISAM |
dede_arctype 这个是小游戏分类表,此表也应用于其他类型的网站。包含本分类栏目的各类文字信息和系统信息。
dede_member_perinfo 会员表
dede_search_keywords 访问者搜索时,记录下来的关键字表,可以了解访问者关注那些内容。
dede_tag_list 和 dede_tag_index 这是小游戏tag表,与小游戏主表关联。这些表可以让相关小游戏在一个页面显示,自动归类,方便玩家。很有用。
1 2 3 4 5 6 7 | CREATE TABLE `dede_tag_list` ( `tid` int(11) default '0', /* tag 的ID号,对应dede_tag_index.id ,非关键字,可重复的值*/ `aid` int(11) NOT NULL default '0', /* 主档案ID(游戏ID),对应dede_archives.ID */ `typeid` smallint(6) default '0', /* 游戏分类的ID,对应dede_arctype.ID */ `arcrank` int(11) NOT NULL default '0', KEY `tid` (`tid`,`arcrank`) ) TYPE=MyISAM |
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE TABLE `dede_tag_index` ( `id` int(11) NOT NULL auto_increment, /* ID 自增长 */ `tagname` varchar(30) default NULL, /* tag名称 */ `count` int(11) NOT NULL default '0', `result` int(11) NOT NULL default '0', `weekcc` int(11) NOT NULL default '0', `monthcc` int(11) NOT NULL default '0', `monthup` int(11) NOT NULL default '0', `weekup` int(11) NOT NULL default '0', `addtime` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM |
dede_uploads 是附件管理表。
Windows系统的活动大陆:细看DLL文件
转篇好文章,让你容易理解DLL
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!
初窥门径:Windows的基石
随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。
5月19日-5月21日 为汶川大地震遇难同胞默哀
请将下列代码插入到您网页<head></head>的之间,以将网页设置为灰度级,为汶川大地震遇难的同胞默哀。
<style>
body{FILTER: progid:DXImageTransform.Microsoft.BasicImage(grayScale :1); }
img{FILTER: progid:DXImageTransform.Microsoft.BasicImage(grayScale :1);}
</style>
如果不知道如何操作,请看本网页的源代码,找到<head></head>之间的这段代码。
http://www.stuff.yellowswordfish.com/click-tags/click-tags-download/
Click Tags 这个wordpress插件可以使你编辑新文章时,显示你之前的Tag,你只需点击选择就可以了,很好用,方便,好处多多。

一个PDA & SQL SERVER的系统,数据库安装在WINXP上,PDA的数据库连接测试一直失败,总是出错:ConnectionOpen (Connect()而数据库安装在WIN2000/WIN2003的都可以。我该打的补丁也补了,还是不行。搜索了许多网页,认真看了:
http://topic.csdn.net/t/20050720/18/4157351.html
这个帖子。最终找到了原因,如大家所指的,就是1433无开放,外面根本找不到SQLSERVER对外的这个端口,这个在WINXP上的SQLSERVER根本没有在监听!我折腾了那么多天,就是这个1433没启动,汗~~
现在我启动WINXP上的SQL SERVER MANAGER,连接MSDE SP3,在SQL SERVER组下,找到本机,右键属性,点击“网络配置”(Network Configuration),会看到右侧“启动的协议”中,什么都没有,将“禁用的协议”中的TCP/IP 启用(这时TCP/IP会列在右边的“启用的协议”中),按确定,重启服务,就OK了。
解决的方法:
<?php
$db = &ADONewConnection(’mysql’);
$db->PConnect($dbhost, $dbusr, $dbpwd, $dbname);
mysql_query(”SET NAMES ‘GBK’”);//加上这句就可以了
$sql=”select * from user where us_id=’admin’”;
$rs=&$db->Execute($sql);
if (!$rs) {
print $db->ErrorMsg();
}
else {
$chinese_name=$rs->fields["ChineseName"];
}
$rs->Close();
$db->Close();
echo “欢迎您!”.$chinese_name;
?>
上面是使用adodb的写法,不管用什么方式,只要加上 mysql_query(”SET NAMES ‘GBK’”); 就不会显示???,就正常显示了。
