I Love China

技术·人生

技术服务生活
繁體

Archive for 10月, 2007

[闲扯]07年另类辩证法

星期三, 10月 31st, 2007

07年辩证法

  1. 钱不是问题,问题是没钱!
  2. 钻石恒久远,一颗就破产!
  3. 水能载舟,亦能煮粥!
  4. 一山不能容二虎,除非一公和一母。
  5. 火可以试金,金可以试女人,女人可以试男人
  6. 烧香的不一定是和尚,还可能是熊猫。
  7. 喝醉了我谁也不服,我就扶墙。
  8. 我就像一只趴在玻璃上的苍蝇,前途一片光明,但又找不到出路
  9. 关于丁字裤:以前,脱下内裤看屁股,现在拨开屁股看内裤。
  10. 避孕的效果:不成功,便成人。

[as2]遍历某个XML节点下的所有子节点

星期五, 10月 26th, 2007

AS2
AS Code

// 遍历节点parentXML下的所有子节点,要求节点都具有名为label的属性,以便trace结果,或者有其他可供trace的属性也可
function parse_xml(parentXML:XMLNode)
{
	var xmlNode:XMLNode = parentXML.firstChild;
	while(xmlNode != null)
	{
		trace(xmlNode.attributes["label"])
		// 如果当前节点有子节点,则转入子节点
		if(xmlNode.hasChildNodes())
		{
			trace("进入子节点")
			xmlNode = xmlNode.firstChild;
			continue;
		}
		// 如果当前节点的同级下一个节点不为null,显示同级下一个节点
		if(xmlNode.nextSibling != null)
		{
			xmlNode = xmlNode.nextSibling
			continue
		}
		// 如果同级下一个节点为null,父节点不为null,父节点不为统计的最顶层节点,则循环回溯
		while(xmlNode.parentNode != null && xmlNode.parentNode != parentXML && xmlNode.nextSibling == null)
		{
			xmlNode = xmlNode.parentNode;
		}
		xmlNode = xmlNode.nextSibling
	}
}

[php]php做ActionScript的语法高亮

星期一, 10月 22nd, 2007

php使用php处理ActionScript代码,生成语法高亮的HTML页面。
处理的关键其实是注释段代码和引号里的代码。其他部分只要用正则表达式替换就可以了。
字符串代码和注释代码都具有很高的处理等级,因为注释里的任何代码,包括关键字、语法字,字符串等,都不会再处理,统一当作注释格式显示。而字符串里的代码也是这样,字符串里的任何代码,包括符合注释规则的代码都不应该再处理,而统一成字符串格式输出。
为此,我们需要首先把注释和字符串单独提取出来,保存在两个数组里面,然后对剩余的,不包含注释和字符串的代码进行语法高亮处理,最后,再把注释和字符串替换回去就可以了。
在做任何事情之前,先把特殊字符替换成HTML字符:
PHP Code

function filterHTML($asCode)
{
	$replace = array ("&",
					""",
					"'",
					"<",
					">",
					" ");                  

	$search = array ("'&'",
					"'\"'",
					"'\''",
					"'< '",
					"'>'",
					"' '");

	$asCode = preg_replace ($search, $replace, $asCode);
	return $asCode;

}

注意:$search数组里第2,3个元素第一个单引号后是有转义符的,但是由于wordpress处理的时候把转义符给去掉了,所以没显示出来。
在提取注释和字符串的时候应该注意的是,注释和字符串有同等的权利,只能按照谁出现的早就处理谁的规则进行提取,而不能说是先提取注释,或者先提取字符串,因为存在注释中包含字符串,字符串中包含注释的情况。为此,我们需要使用strpos就行判断。另外,注释有两种格式,一种是//,另一个是/**/,字符串包括双引号的和单引号的。因此首先要分别使用strpos获得第一次出现它们的位置,然后获取值最小的那个,也就是最早出现的那个,进行处理。直到再也查不到任何符合规则的代码,或者中间遇到了错误。
(more…)

[AS2组件]把使用组件的SWF加载到其他SWF中的问题

星期日, 10月 21st, 2007

AS2[问题描述]:a.swf文件中使用ComboBox组件做了下拉框,单独打开a.swf,下拉框正常,b.swf是个外框文件,现在要用b.swf把a.swf加载到b.swf里的一个MC里,结果a.swf中的下拉框不正常了,下拉框里的项是正常的,就是点击后打不开列表,经测试,ComboBox的open事件也触发了,但是就是不显示列表。

[探索]:查遍Flash帮助、Flash组件帮助也没找到答案。无奈,只好打开ComboBox.as文件,看代码,700多行代码可不好看。在打开组件源文件,把ComboBox的组件源MC拖到新文件t1.fla里,然后在ComboBox.as里查找open事件,会看到它调用的是displayDropdown函数,然后再找到这个函数定义的地方,一句句读,看到一句
AS Code

var dd = __dropdown;

,从字面意思猜,它就应该是那个下拉弹出框,所以在它后面添加一句
AS Code

trace("dd " + dd);

,重新导出t1.fla,看到了trace出的语句dd _level0.depthChild0,然后新建t2.fla,新建空元件load,把load拖到舞台上,使用load作为容器加载t1.swf,结果trace出来是dd null,显然问题就出在这里。
(more…)

[AS2]Flash组件影响普通按钮的点击

星期五, 10月 19th, 2007

AS2今天遇到一个问题,SWF文件中有一个ComboBox组件和多个普通的,非组件的按钮,如果没有点击过ComboBox,那么这些普通按钮可以快速的连续点击,当更改了ComboBox的选项后,这些按钮则无法连续点击,只能点击一下,然后移动鼠标位置,才能再次点击。思考了许久后,猜测是焦点问题,因此,监听ComboBox实例的close事件,并强制移除焦点,代码如下:

AS Code

cbListener.close = function(evt_obj:Object){
   focusManager.setFocus(null);
}

然后导出SWF,按钮恢复正常。

[虚拟主机]使用九州未来科技空间的体验

星期二, 10月 9th, 2007

文章目录:
1、前言
2、本站空间需求
3、为什么选择九州未来
4、几个月来的感受
5、小结及相关链接
一、前言。
使用九州未来科技的空间有一段时间了,写下感受,给那些正在找空间的朋友一些参考。在保留完整信息的前提下,可以转载本文。
本文原始网址:http://4nothing.net/blog/?p=273
二、本站空间需求
首先说下自己吧,我喜欢算法和编程,喜欢研究事情的来龙去脉,想要知道事情的细节流程。目前主要使用Flash ActionScript。这是我的第一个小站(当然不会是最后一个),就像名字4nothing(= for nothing)一样,这个站主要是为了记录下自己的人生感受,写写Flash AS方面的经验总结,简单的说呢,就是个人博客。
因此,主要需求如下:

  • 空间不用太大,个人博客嘛,不需要太大空间
  • 访问速度不能太慢。慢了影响心情,信息时代,时间宝贵啊!
  • 空间要稳定!这个是很重要的,三天两头出问题的空间再便宜也不能用!
  • 客服要好,或者提供相似的功能。使用空间的过程中,难免遇到些问题,要么有客服给解答,要么有丰富的FAQ供参考,或者提供丰富的自己动手管理的功能。

主要的就是上面几点,因为我的站只是放放博客,所以基本上没有其他要求。
三、为什么选择九州未来
我看过不少空间商的介绍,正规的空间商价格很贵(这里的所谓正规,是我自己认为的,凡是在空间商主页下面注明了运营许可证号的我都认为是正规的,反之……),基本上200M的空间就要300多块,而双线空间就更贵了,还限制连接数。而看起来不是很正规的空间的价格是便宜些,但是如果是一次付费一年,到最后几个月很可能会频繁出问题(我第一次使用的空间就是那样)。
而看到九州未来的空间,很让我动心

  1. 可以按月、季度、年付费。假如觉得不好,换空间浪费的少。另外也说明了它对自己的空间很有信心。在众多的空间商里,使用按月付费的可是少之又少!
  2. 它有3种空间类型。基本上前两种都能满足我的需求。
  3. 出了FTP管理文件外,还可以通过Web的plesk管理面板进行管理,并且plesk中提供了很多功能。基本上可以满足需求。

这些都很让我动心,但是当时还担心一点,就是流量限制的问题,假如以后扩容的话,增加的费用还不如换一另一个类型的产品好,所以我选择了第二种产品,也就是月流量限制是6G的那个。(实际上我的空间每月流量1.5G左右)
四、几个月来的感受
总的感觉不错,访问速度不错,也挺稳定。不过也遇到了些小问题。由于我选择的是Windows型的主机,而放的是PHP+MYSQL的wordpress博客,刚开始出现了几次数据库链接失败的问题,客服解释说是Windows主机对Mysql的支持不好,建议我换Linux型的主机。后来没再出这样的问题,所以我也没换。还有个问题是提交技术支持的时候,他们客服的回复时间比较长,虽然回复邮件里明明写着如果还有问题可以直接回复本邮件,但是我回复了几次,他们没有任何回应!不得已又重新提交了问题才得到答复。
不过总的来说没遇到什么大问题。
忘了说了,还有一点,提醒使用wordpress的站长,这个空间不支持mod_rewrite,不能使用其他种类的永久链接。
五、小结及相关链接
空间是挺好的,由于平时问题也不多,而Plesk面板功能强大,基本上可以解决问题。
九州未来网站地址:http://www.hosting.czm.cn/

另外,这个空间可以试用2天,建议在购买前先试用。也可以先购买一个月的试试。