摘要: 上一篇随笔讲了skinnable Spark component和skin之间的交互,其实在这些components背后并没有太高深的理论,它们只是通过元数据的方式定义一些skin part和skin state, 并在相关的属性上进行关联。自然有的时候我们需要override一些管理skin part和skin state生命周期的关键方法。本篇随笔试着创建一个skinnable Spart component. 阅读全文
posted @ 2010-11-08 12:22 spoony 阅读(322) 评论(3) 编辑
摘要: 上一篇随笔中笔者介绍了如何为按钮制作一个简单的自定义皮肤,接下来分析一下皮肤文件的组成部分,并对皮肤协议(skinning contract)中各个部分进行详细介绍。阅读全文
posted @ 2010-11-03 23:34 spoony 阅读(379) 评论(0) 编辑
摘要: Flex4使得改变应用程序的外观变得异常简单,这主要归功于新的皮肤框架(skinning architecture),通过它我们可以将组件中的可视化元素和逻辑完全分离。也正因为这个思想的引导,我们可以发现Flex4中的组件本身都不再包含外观信息的定义,而是把这些信息放在相关的皮肤(skin)文件中。阅读全文
posted @ 2010-11-01 10:09 spoony 阅读(405) 评论(0) 编辑
摘要: Adobe AIR 包括一个 SQL 数据库引擎,该引擎使用开放源代码 SQLite 数据库系统,支持具有许多标准 SQL 功能的本地 SQL 数据库。运行时未指定在文件系统上存储数据库数据的方式或位置。每个数据库都完全存储在单个文件中。开发人员可指定在文件系统中存储数据库文件的位置,单个 AIR 应用程序可访问一个或多个单独的数据库(即单独的数据库文件)。阅读全文
posted @ 2010-10-15 11:07 spoony 阅读(282) 评论(0) 编辑

  实验室里冷极了,没有窗户,不知道是白天还是黑夜。这是一周的最后一天——周末。在这又冷又黑的晚上,一个蓬头散发的小女孩在工位上坐着。她从家里出来的时候还穿着一件外套,但是有什么用呢?那是一件很大的外套──那么大,不知是哪一年买的。她工作的时候的,就把它脱掉了,实验室的师弟嘲笑说,可以拿它当抹布。   

  小女孩只好一个人做实验,一双小脚冻得红一块青一块的。她的破显示器屏幕上有一大段程序,手里草稿纸上还有一大段。这一整天,程序还是没调过,谁也没帮过她。   

  可怜的小女孩!她又冷又饿,哆哆嗦嗦地调程序。显示器的光落在她的干枯的长头发上,那头发卷曲着披在肩上,看上去很久没梳,不过她没注意这些。每个桌上都堆满了论文,实验室飘着一股油墨的香味,因为这是论文deadline的时间——她可忘不了这个。

  她在一行代码上停了下来,蜷着趴在桌子上。她觉得更冷了。她不敢跟老板说,因为她程序没调过,没拿到一个数据,老板一定会骂她的。再说,换做别的题目跟这个一样难。她们头上只有paper,虽然网上可以下到一些现成的代码,还是仍然没法用。   

  她的头脑几乎绝望了。啊,哪怕一次小小的成功,对她也是有好处的!她敢把上万行的代码修改一遍。编译运行一下,来找找问题么?她终于按下回车键开始运行。哧!程序开始输出信息了!一行一行的log开始出来了!她把小手拢在显示器上。多么温暖多么明亮的字符啊,简直像一支小小的蜡烛。这是一道奇异的火光!小女孩觉得自己好像坐在一个19寸液晶大显示器前面,显示器还是全新锃亮的,颜色鲜艳,字迹清晰,上边显示着程序输出的正确结果,多么舒服啊!哎,这是怎么回事呢?她刚把头伸出去,想看的仔细一些,程序crash了,大显示器不见了。她坐在那儿,眼前的破显示器上一行刺眼的segment fault。

  她又编译了一遍运行。程序又开始输出信息了,给出log了。显示器的光落在桌子上,那儿忽然变得像打印出来的paper那样洁白工整,她可以一直看到paper上的字迹。IEEE的logo,会议名称和日期,Abstract和Instroduction。更妙的是这篇paper的一作, 赫然署着自己的名字!看上去那么诱惑,一直向这个穷苦的小女孩走来。这时候,程序又crash了,她面前只剩一张又硬又旧的桌子。    

  她又运行了一遍。这一回,她感觉自己坐在布置整齐的会议室里。条幅上写着“博士毕业答辩”,比她去年师姐毕业时用的条幅还要大,还要美。红色的条幅上贴着那几个白色的黑体字,投影仪屏幕上许多幅美丽的彩色画片,跟顶级会议里的presentation一个样,在向她眨眼睛。小女孩向画片伸出手去。这时候,程序又crash了。只见ppt上的图片越升越高,最后成了在天空中闪烁的星星。有一颗星星落下来了,在天空中划出了一道细长的红光。

  “有一个什么人快要死了。”小女孩说。唯一疼她的师姐毕业前的时候告诉过她:一颗星星落下来,就有一个灵魂要到图灵那儿去了。 

  她又编译了一遍。这一回,她把所有的数组size都设大了。师姐出现在亮光里,是那么温和,那么慈爱。

   “师姐!”小女孩叫起来,“啊!请把我带走吧!我知道,程序一crash,您就会不见的,像那漂亮的显示器,发表的paper,布置好的答辩会议室一个样,就会不见的!”

  她赶紧按了回车键,要把师姐留住。一大堆输出信息发出强烈的光,把实验室照得跟白天一样明亮。师姐从来没有像现在这样高大,这样美丽。师姐把小女孩抱起来,搂在怀里。她们俩在光明和快乐中飞走了,越飞越高,飞到那没有代码,没有论文,也没有毕业的地方去了。

  第二天清晨,这个小女孩坐在工位上,两腮通红,嘴上带着微笑。她死了,在周末的实验室累死了。新一周的太阳升起来了,照在她小小的尸体上。小女孩坐在那儿,手还按着在不知用过多少年的键盘上。

   “她想自己把程序调一下……”人们说。谁也不知道她曾经看到过多么美丽的东西,她曾经多么幸福,跟着她师姐一起走向新世界的幸福中去。

posted @ 2010-07-27 18:29 spoony 阅读(96) 评论(0) 编辑
摘要: 作为应用程序的一个很大组成部分,报表其实很少以单独形式存在,因此我们需要将报表作为模板应用到程序中。阅读全文
posted @ 2010-03-03 15:28 spoony 阅读(80) 评论(0) 编辑
摘要: 在web开发中,最经常用到的控制页面样式的方法就是通过CSS(级联样式单Cascading Style Sheet). 它能对布局、字体、颜色、背景和其它文图效果实现更加精确的控制。阅读全文
posted @ 2010-03-03 15:21 spoony 阅读(81) 评论(0) 编辑
摘要: 前面的随笔中我们提到过图表是很好的展示数据的工具,它能使显示更加直观。现在我们在报表中添加图表,以便于更加直观的展现数据信息。阅读全文
posted @ 2010-03-01 09:24 spoony 阅读(91) 评论(0) 编辑
摘要: 上一篇随笔只是用报表向导生成了一个最简单的报表,数据都是从数据库中直接获取,我们知道,数据库中存储数据可能比实际显示要简洁,因此显示的数据格式等还需要进一步完善。阅读全文
posted @ 2010-02-26 20:54 spoony 阅读(94) 评论(0) 编辑
摘要: 在应用程序开发过程中,报表设计开发是一项很繁琐的工作。首先要保证信息的详尽和直观。由于报表很多需要打印出来,所以也要对其大小规格进行详细设计。虽然所有浏览器都提供了打印功能,但是单单一个HTML格式的网页并不适合作为打印输出。阅读全文
posted @ 2010-02-26 16:19 spoony 阅读(188) 评论(0) 编辑
摘要: 作为查询分析的图表大多数情况下是全局的笼统概括的,它能够给使用者以直观的形式产生对总体进行把握的信息。但图表的功能不应仅限于此,当使用者对某个具体部分或某个具体数字感兴趣的时候,他应该可以对这个部分或数字进行进一步详细分析,因此图表中最好有钻取功能以满足需求。阅读全文
posted @ 2010-02-08 10:56 spoony 阅读(108) 评论(0) 编辑
摘要: 在企业应用中,有时候我们不止需要一组数据,我们还需要对比数据,比如对比计划数值和实际数值。这个时候我们需要在同一个图表中结合使用两种不同类型的图,比如折线图与柱状图结合使用。还有一种情况就是我们可能需要查看同一项的不同组成部分分别在这一项中所占百分比,这在图表中称为“堆叠”。阅读全文
posted @ 2010-02-07 09:54 spoony 阅读(81) 评论(0) 编辑
摘要: 对于数字信息,用图表展示显然要比单单的表格给人感觉更加直观。常见的图表有柱状图,饼图,折线图等等。企业报表中经常会用到这些。使用Adobe ColdFusion创建图表是一件很容易的事情,主要有两种方式。第一,像其它元素一样,可以用标签创建。图表对应的标签为cfchart, 与之配合使用的还有cfchartseries和cfchartdata。从字面就可以看出cfchartseries定义了一组相关数据的信息,而cfchartdata定义了每个点的数值信息。第二,使用ColdFusion Report Builder创建。 阅读全文
posted @ 2010-02-06 21:47 spoony 阅读(233) 评论(2) 编辑
摘要: 在实际应用中,除了对已有Excel表单进行读写操作外,我们很有可能会需要将系统数据导出到Excel文件。导出Excel实质上是利用现有的数据新建一个Excel文件。ColdFusion9很容易实现这个功能。下面笔者将通过小示例来演示一下。阅读全文
posted @ 2010-01-23 15:27 spoony 阅读(306) 评论(0) 编辑
摘要: 上一篇随笔主要简单演示了数据读取操作,要想编辑Excel中数据的功能也很容易实现。代码几乎同读取操作一样,显著的不同是要将cfspreadsheet标签的action属性设置为write,设定所要编辑的单元格位置信息并且调用spreadsheetSetCellValue方法进行编辑。阅读全文
posted @ 2010-01-22 21:39 spoony 阅读(251) 评论(0) 编辑
摘要: Adobe公司最新推出的ColdFusion9新增了很多令人兴奋地功能,这些功能具体体现在新出现的标签(Tag)上。比如,与微软Office文件的互操作性(CFSPREADSHEET),与其最新开发工具ColdFusion Builder的紧密集成,对象-关系映射(ORM),与微软Office SharePoint的集成(CFSHAREPOINT),ColdFusion作为服务,Adobe AIR本地/远程数据库同步,服务管理器以及对门户标准的嵌入支持等。笔者这几篇随笔简单介绍下ColdFusion9与Excel的交互操作。 阅读全文
posted @ 2010-01-22 13:00 spoony 阅读(287) 评论(0) 编辑
摘要: 这篇随笔是对上篇的一些更加深入的思考,并举出了一些小小的操作技巧。阅读全文
posted @ 2009-12-27 09:53 spoony 阅读(239) 评论(0) 编辑
摘要: Flex常用的访问远程数据的类有:HTTPService, WebService, RemoteObject. HttPService与 WebService自不必说,使用的是基于XML的SOAP(Simple Object Access Protocol, 简单对象访问协议),而RemoteObject使用的却是序列化的二进制协议AMF. AMF(Action Message Format)是在flash和flex中remoting的一种方式格式。笔者在这里并不太想讨论这个有点“非主流”的方式,只讨论一下Flex与DotNET WebService的交互。阅读全文
posted @ 2009-12-26 15:22 spoony 阅读(337) 评论(2) 编辑
摘要: ExtJS官方Blog上发布了Ext JS Designer新版本,版本号为1.0.5,这个版本添加了不少新特性,如直接修改title,config参数搜索等等。虽然这个版本仍然不支持代码生成,不过另一则文章则让人感觉代码生成的日子也不远了。  此版本需Adobe AIR环境。环境安装完毕后,下载到得xds-1.0.5.zip压缩包重命名为xds-1.0.5.air,然后执行安装即可。阅读全文
posted @ 2009-12-05 16:10 spoony 阅读(611) 评论(0) 编辑
摘要: 1. 正尝试安装的adobe flash player不是最新版本安装debug版本提示有更新版本问题:删除注册表相关内容即可。2. (1)Flex项目属性里的Flex Buid PathàLibrary PathàplayerglobalàSource attachement设置(2)可以设置的选项位于D:"Program Files"eclipse"s...阅读全文
posted @ 2009-09-08 11:00 spoony 阅读(682) 评论(0) 编辑