月度归档:2006年04月

用dreamweaver可视化编辑非标准扩展名的文件

作web开发时碰到一些情况:使用某个框架作为开发的基础,而框架结构中控制外观的模板文件扩展名并非标准扩展名,而是采用了一些框架作者自定义的字符串。比如:smarty默认采用.tpl,最近学习的Prado采用.page等等。
这些文件的源代码大部分是绝对标准的html格式,但是用dreamweaver打开时,却只有code视图有效。只能手工敲入代码,并且无法可视化编辑,给开发工作带来很多的不便。
ext01
一直都想解决这个问题,始终没有搜索到合适的答案。今天在Prado的论坛里闲逛,通过一个链接竟然误打误撞找到了解决方案。
在下图所示的文件夹里找到这样一个文件,对其进行编辑:
ext02
选中的部分就是可以可视化编辑的文件类型,在后面自行敲入需要加入的扩展名即可。
ext03
下图是我在配置文件中加入”.page”扩展名之后,再打开图一所示同一个文件的效果:
ext04

小小的吃惊一下

临睡前到自己的blog上逛一逛,没想到得到一个错误信息页面:
“不能链接到您请求的网页。此页可能暂时不可用”
刷新N次还是一样,就先到dreamhost上看看,并没有发现“系统维护暂停服务”之类的通知,便有点不安了。

FTP登录上去,文件都还原封不动,安静的躺在那里,愈发的不安。莫非是被封了?难道现在放在国外主机上的中文网站也要 bei an(有点夸张的想法,^_^)?

正想去信息部的页面瞅瞅,发现网页又能打开了。该死的,小小的吃惊了一下,并发现bei an在偶这个chinese网民心里的阴影还是存在的丫。

好用的eval函数

前一阵子写程序时遇到一个题目,大致是根据货物重量求运费的问题,描述如下:
eval
公式的形式一致,所以我基本没考虑就给快递公司的那个数据表增加了三个字段,分别代表公式中的3个常量a、b、c,这样在选择某一快递时,最终的运费即:(G-a)*b+c。
当前情况这样解决当然没有什么问题,可是如果公式形式不一致呢?我想了一想没找到合适的方法就作罢。后来,一个朋友和我闲谈时提到了eval函数,我霍然开窍,就是这个函数,虽然我不是太熟悉php中它的用法,但根据经验,这个函数(从函数名上就能大致看到希望,很多编程语言里都有这样一个类似的函数)绝对就是解决问题的关键。
先找来php手册,大致看了一下函数的用法,再翻出上次的这个遗留问题,开始coding。

首先设置快递公司数据表,增加一个字段“公式”,格式为varchar型。添加的数据格式类似:
($w-0.5)*20+90
其中,$w代表货物的重量。

而代码如下(为便于理解,部分字符换成了中文):
[coolcode lang=”php”]
Execute($sql);
$gongshi = $rs->fields[“公式”];//查询得到字符串格式的公式($w-0.5)*20+90
eval(“$运费 = $gongshi;”);//关键的一步,eval函数的使用
echo $运费;

?>
[/coolcode]

如此,即使公式形式不再统一,例如变成($w×0.5)÷20-90+4也照样通吃。

Google Calendar初体验

最近google的动作可还真是不少,这不,Google Calendar又开放使用了。偶便用Gmail的帐号登录进去小小体验了一番。
先贴几个截图看看:
每日视图:
googlecalendar01

每周视图:
googlecalendar02

编辑视图:
googlecalendar03

几点感受:
1、Google不愧是引导Ajax技术的先驱者,页面元素拖拽、新增、编辑以及删除的效果绝对酷毙;
2、可以方便的导入iCal和CSV(Out look) 格式的文档数据;
3、可以导出为iCal格式的文件;
4、当然,能够输出为RSS格式(web2.0时代谁不支持这个谁就落伍了,呵呵);
4、提醒方式多样,有Email,短消息,还有POP-UP。可惜短消息提醒不支持国内的mobile服务商;

Prado初探

prado最近要给亿家净水写一个B/S架构的业务数据处理系统。考虑从PHP4跨越到PHP5上来,并选用一个框架作为开发的基础。经过简单的google搜索文章对比,选定了基于事件驱动的Prado框架。(Prado框架也是国人的骄傲,其先驱作者Qiang Xue是中国人哦)
先谈谈初步印象。
首先,它的开发文档相当的完整,入门手册、API函数、Demo都不缺少,官方的论坛人气也相当的不错,虽然满屏都是英文,但也并不妨碍你用中文问问题,说不定回复你的就是Qiang Xue老大本人了。
其次,似曾相识的代码风格。我曾经在Vb语言上下过功夫,所以看到Prado里面的语法,就有一种很熟悉的感觉。对比一下给某控件设置文字的代码片段:
VB:
[coolcode]Form1.Textbox1.Text = “this is a test”[/coolcode]
Prado:
[coolcode]$this->Textbox1->Text = “this is a test”;[/coolcode]
再来看一看模板文件里面的一些奇妙之处,先对比一下代码:
普通的html页面:
[coolcode lang=”html”]

[/coolcode]
Prado自己的button控件:
[coolcode lang=”html”]

[/coolcode]
按照我们常见的思路模式,button的click动作触发的会是一个script脚本事件,因为是客户端执行,所以肯定有一定局限性,除非你在脚本里面再用更复杂的xmlhttp来与服务器传输数据(啊,虽然ajax很酷,但是想想调试的过程都觉得难受。alert弹出中间数据成了我唯一的数据监测方法)。而在Prado里面则完全不是这么回事。它会触发一个不折不扣的php过程,所以你可以在下面的function里写下任何你想用php做的事情:
[coolcode lang=”php”]

[/coolcode]
是不是很有趣?
再来看看几个截图,很酷的样子,要是完全自己来写的话,恐怕要写很多的代码。而使用Prado,很短的几句就够了。
prado
prado

西安的沙尘暴

上次去北京,在沙尘暴来临的头天夜里搭火车回来了,很庆幸。
今天起床,却发现西安的沙尘暴也来临了。满天都是一种泥土的黄色,空气也特别的压抑。昨天我还只穿者短裤背心,今天却不得不又把收拾好的长裤翻出来再穿上。恍惚间,我好像又回到了当年做工程监理时呆过的陕北那块黄土地上。
希望能早点结束这种糟糕的天气。

沙尘暴
沙尘暴
沙尘暴

拉丁 vs 秧歌

yangge03

上周末没有去上拉丁培训课程,和老婆一起去逛街了。有些负罪感,至少是感觉对不起缴的学费,好歹也接近一千了,不能算小的开支:
学习费:¥300.00 × 2 = ¥600.00
舞鞋:¥60.00 × 2 = ¥120.00
来回交通费+舞后加餐额外费用暂不统计
——————-
总计 ≈ ¥1000.00

逛完回家路过南门广场,看到群众自发组织的秧歌队伍,没有跳成拉丁而被压抑的兴致上来了,便一咬牙拉着老婆加入了这只队伍。在偶一不怕羞二不怕丑精神的带动下,队伍的比例发生了一些变化:
加入前:
yangge01
加入后:
yangge02

想到其实都是锻炼身体和陶冶情操,就无所谓拉丁与秧歌了。管它是顿挫有致的拉丁舞曲下抖动髋关节也好,还是铿锵有力的锣鼓声下踏着十字步也罢,即使是乱跳大神又如何呢。只要身心高兴,图个健康就OK了,不是吗?

最近常去的站点

最近常去的一些站点,整理了下:
1.音乐类
A.众乐!
8see
一个很有特色和人气的音乐blog站,有很多不错的音乐可以试听并提供FTP下载,每张专辑都有详细的点评。遗憾的就是可能有流量限制,有时候会打不开页面。站长的口号是“独乐乐不如众乐乐”,的确他做到了。

B.webjay
webjay
yahoo旗下一个分享播放列表的站点,和last.fm性质类似,但我偏好这个的原因是它的列表直接提供了网络资源地址,点击就可在播放器中直接聆听了,后者则主要是歌曲信息的提供,只有一些片断的试听,不是太适合我这种懒人,呵呵。

2.图片类
A.Flickr
flickr
不用说什么了吧,地球人都知道。

B.图片部落
itbulo
分类清晰的素材库,最近工作用到的一些图片素材基本全部来自这里。

3.杂类
A.8684公交网
8684
提供详细的公交线路查询,偶现在是出门必查。

B.奇客发现 有趣新鲜
diglog
常常能在这里发现一些有趣新鲜的东东,确实令人好奇。

C.class100
就是您现在看到的这个站--本人的blog,当然每天都会来逛一逛了,哈哈。

找到了可用的RoboForm版本

自从开始使用RoboForm起,就不再记那些各个站点的通行账号和密码。可惜上一个版本破解没有成功,试用时间到了,又得逐个去手工输入,不小心还忘掉了几个密码,烦!
今天在www.crsky.com找到了Version6.6.8带有破解的可用版本,同时在readme.txt中还给出了一个不用启动到安全模式来crack的方法。(晕,上几个版本我都是重启到安全模式去覆盖一个破解的dll文件,真麻烦)。
我的操作步骤:
1.确保已经打开rar格式的压缩包
2.按Ctrl+Alt+Del,关闭explorer进程。桌面和任务栏消失。
3.利用winrar的浏览器操作,将dll文件覆盖到安装目录
4.再次按Ctrl+Alt+Del,文件》新建任务》explorer,确认
4.桌面出现,安装完成。
以前还真是有些傻,启动到安全模式好慢啊。而这次安装没有超过1分钟。

roboform.jpg