也许是今年发生的事情太多了,所以比以前要更关注时事,虽然面对一些既成的事实,难免要进行痛心的思考。

    昨天晚上关注了一下东方卫视播出的9.8特大尾矿库溃坝事故的后续报道,这起特大人为事故已经得到了认定,相关的责任人也进行了处理,但是其中的一些细节还是令人玩味:

    1、据报道,事故发生之前,附近居民中无人不知该尾矿库存在安全隐患;

    2、据报道,该矿的安全生产许早已被吊销,采矿许可也早已到期,但是该矿在利益驱使下却在夜里偷偷进行生产;

    3、据报道,事故发生之后,相关责任单位抢险过程中存在故意隐瞒事故原因和伤亡人数的行为,是附近居民和受害者曲折、强烈的反映才得以将事实真相公布于天下。

    既然附近居民无人不知该矿存在安全隐患,如果这种情况得到了反映,并且得到了相关职能部门的重视,事故的发生是不是能够被规避?

    两证都已经无效,继续生产即是违法,夜间生产的情况相信附近的居民不会不知道,问题是,附近的居民以及可能的受害者是否知道该矿两证已经失效?

    相关职能部门在第一时间为什么得到的只能是试图隐瞒事实真相的伪造的伤亡人数报告?

    我并不打算讨论可能的隐藏在该事件之中的利益关系问题,单单分析上面提出的三个问题,我们可能得到的答案是信息渠道方面的原因:在号称信息时代的现在,政府相关职能部门却存在着严重的信息不畅问题,身出安全隐患之中的潜在受害者没有通畅的反映问题的渠道,安全监察部门吊销安全生产许可证的事实没有得到有效传播,真正的受害者没有有效参与到事件信息反馈的流程之中。

    在国家层面上,我们有可以进行投诉的消费者权益保障的社会性团体,但在人命关天的安全生产、食品安全(三聚氰胺奶粉)等方面却没有可以进行举报的政府性机构。

 

    

 

posted @ 2008-09-22 19:03 蜡人张 阅读(322) | 评论 (1)编辑

 

    今年是第二次参加篮球赛了,还是没有小组出线  ,还是没有小组垫底,三场比赛得分8-8-6,还真是886了,第二次教工篮球赛!

    没有任何战术可言,没有突破,没有内线,太依赖外线,互相之间不信任,这样下去不会有什么改观的。尤其是今天,完全有机会赢下来的,结果还是输了,可惜。在场上跑着就纳闷对手这么差为什么就落后了呢,按照实力来说,我们平时三个经常一块玩儿的就能搞定对手的。为什么手感好的时候,认为该自己突破的时候,大牌们总是唧唧歪歪,气愤!不过后来又半场玩了一个多小时,挺开心的。三场球后都去腐败了,抽烟、喝酒,气氛还不错。

    带着疲惫和微醺回家,来年再说吧!

    

 

posted @ 2008-09-20 23:34 蜡人张 阅读(174) | 评论 (3)编辑
     摘要: HTML Editor有很多,比如常用的FCKeditor等,这些editor各有优缺点,在真正要用到的时候难免要费功夫比较一下。前一段时间,看见有人推荐SPAW Editor,于是到SourceForge下载了一个试用了一下。这个editor还是挺有特点的,比如可以浮动同时支持多个编辑区域、比较好的文件管理器(上传文件并管理)等。不过,之所以是".NET Edition"是因为这个editor最早是给PHP开发人员使用的,后来才推出的.NET Edition,.NET开发人员很少涉及到该editor,Google上很少能够搜索到该编辑器在.NET环境中使用的信息,更要命的是,该编辑器的帮助、代码注释等文档实在是非常之不完备,用起来很痛苦。开发人员将该款editor开源也着实不容易,而且可能他的主要精力还是集中在PHP那边,没办法,作为.NET开发人员的我只能乱用一下了。  阅读全文
posted @ 2008-08-23 21:50 蜡人张 阅读(495) | 评论 (0)编辑
     摘要: Windows Live Writer没有权限设置字体501错误描述及解决方法  阅读全文
posted @ 2008-08-22 18:13 蜡人张 阅读(226) | 评论 (0)编辑

授予学位——

    工商管理艺术学士

 

专        业——

    电子商务与信息系统

 

培养目标——

    信息系统和Internet正在将人类的一切活动向虚拟化转变并创建了一个新的全球商业环境。面向未来几十年中的商业活动,我们非常有必要去理解信息系统和Internet的强大冲击力。由于Internet已经走向大众,Internet上的电子商务正在成为当今世界经济中最重要的市场活动。在电子商务与信息系统专业(ECIS)中,学生们讨论信息技术、商业策略、商业流程的转变与构建以及在这个新的、令人兴奋的商业环境中的伦理、法律问题。

 

课程体系——

  课程代号 课程名称 学分
 
1、核心必修课程
  ENGL110 大学写作:调查和论据 5
  PHIL 110 哲学与判断思维初步 5
  HIST 120 西方文明起源 (2选1) 5
  HIST 121 现代文明研究 5
  ENGL 120 文学名著 5
  MATH 130 商业分子微积分 5
  FINR 120 或核准美术候补 5
  PHIL 220 人类哲学 5
  实验科学 5
  社会科学1 5
  社会科学2 5
  神学与宗教研究2 5
  伦理学 5
  神学与宗教研究3 5
 
2、学院公共基础课 
  ACCT 230 会计准则1 5
  ACCT 231 会计准则2 5
  ECON 260 商业统计 5
  ECON 272 微观经济学原理 5
  ECON 310 量化方法与应用 5
  MGMT 280 商业沟通 5
  ECIS 315 信息系统与电子商务初步 5
  MGMT 320 全球商业环境 (2选1) 5
  ECON 330 国际经济活动与商业决策 5
  FINC 340 商业财务 5
  MKTG 350 市场营销初步 5
  OPER 360 生产与服务运营 5
  BLAW 370 商业与国际法 5
  MGMT 380 管理原理 5
  MGMT 489 商业策略与战略 5
       
3、专业必修课  
  ECIS 320 商业编程基础 5
  ECIS 462 Internet营销 5
  ECIS 464 面向对象的商业建模 5
  ECIS 466 商业数据库系统 5
  ECIS 469 商业数据通讯 5

 

 

专业课程简介——

 

    ECIS 315 信息系统与电子商务初步

    大型组织的信息架构基础,无线技术,全局信息系统,软件外包,虚拟组织,信息安全,法律、政策和伦理问题,电子商务模型,供应链管理,电子支付系统,电子商务技术发展趋势等话题的介绍

 

    ECIS 320 商业编程基础

    介绍商业环境中编程的基本概念,包括数据类型、表达式、控制结构、函数、输入/输出、错误处理、调试、图形用户界面和事件驱动编程等。编程语言的选择取决于其在商业社会中的关联性以及可接受程度。

 

    ECIS 462 Internet营销

    在电子商务环境中使用Internet进行营销的概念、工具与策略。Internet环境中如何进行管理业务、提供客户服务、与内外部利益相关者进行交互、广告、开发新产品、塑造品牌、开拓渠道、监测市场活动、分发产品或服务。

 

    ECIS 464 面向对象的商业建模

    介绍一种用于构建信息系统的面向对象商业建模方法。在信息系统开发的每个环节(计划、分析、设计、实施)中介绍面向对象的思想,学会使用面向对象编程工具创建应用程序的方法。

 

    ECIS 466 商业数据库系统

    介绍数据库系统的基本概念与实现。理论课时间将用于关系模型及实体关系模型的介绍。学生需要熟练掌握数据库系统的设计与编程。关系型数据库管理系统和计算机辅助工程软件将会用于教学及作业。

 

    ECIS 469 商业数据通讯

    LANs、WANs、Internet等相关话题,通讯协议以及Internet商业应用程序设计也会被涉及到。新的大纲中似乎将该门课程叫做Strategies and Technologies on Internet。

posted @ 2008-08-22 17:21 蜡人张 阅读(242) | 评论 (0)编辑

 

    使用WebBrowser控件时,如果在WebBrowser控件中加载的页面存在脚本错误,程序会弹出一个脚本错误的对话框,这个对话框的弹出可能影响程序的进一步运行,如果加载的页面恰好是别人做的(这是最常见的情况),只能选择将该脚本错误屏蔽掉。

 

    屏蔽方法是设置该WebBrowser控件的ScriptErrorsSuppressed属性值为true,该属性默认值是false,Visual Studio对该属性的中文注释是“指定 WebBrowser 控件是否在对话框中显示脚本错误”是一个误导,说成“ 指定WebBrowser 控件不在对话框中显示脚本错误”更合适些,Suppressed是抑制、禁止的意思。

 

    

posted @ 2008-08-18 00:42 蜡人张 阅读(399) | 评论 (2)编辑

 

    使用超级链接调用Javascript函数时,可以使用href属性或onclick属性,如

<href="javascript:test();" title="Call Function">Call Function test()</a>

    或

<href="#" onclick="test();" title="Call Function">Call Function test()</a>

    但是如果被调用的函数中存在使用XMLHttpRequest进行异步通信的情况,请不要使用第一种方式,否则异步将无法体现出来。

    如下的调用方式和第一种方式类似不能达到异步的目的:

 

<href="javascript:void(0);" onclick="test();" title="Call Function">Call Function test()</a>


 

    

posted @ 2008-08-13 14:48 蜡人张 阅读(224) | 评论 (0)编辑

 

Windows CE

 

  • Customer Embedded
  • Compact Edition
  • Consumer Electronics
  • Computer Evangelism
  • Compact, Connectable, Compatible, Companion, and Efficient

 

Windows CE is optimized for devices that have minimal storagea Windows CE kernel may run in under a megabyte of memory. Devices are often configured without disk storage, and may be configured as a 'closed' system that does not allow for end-user extension (for instance, it can be burned into ROM). Windows CE conforms to the definition of a real-time operating system, with a deterministic interrupt latency. It supports 256 priority levels and uses priority inheritance for dealing with priority inversion. The fundamental unit of execution is the thread. This helps to simplify the interface and improve execution time.

Source: <http://en.wikipedia.org/wiki/Windows_CE>

 

The OS of Windows Mobile for Smartphone and Windows Mobile for PocketPC are both on the basis of Windows CE architecture.

 

Windows CE时间表

 

In the image above, we can see that 'Windows CE' is not a seperate OS but a series of OSes.

 

Some interesting Code Names can be found in the image, for example, 'Crossbow' for 'Windows Mobile 5.0 Second Edition'(This may be a mistake as we know Crossbow usually stands for Windows Mobile 6.0). Below is a bilingual list in English and Chinese for part of the grotesque Code Names:

  • Crossbow     石弓
  • Magneto       磁发电机
  • OZone          臭氧
  • Merlin          
  • Rapier          利剑
  • Gryphon       狮鹫
  • Wyvern        双足飞龙
  • ...


Items in the legend for the image (perphaps we can consider the image as an chart) stand for different device names, except the black one 'Core' which is 'Windows CE' itself. These device names may be involved in following posts.

 

 

 

posted @ 2008-08-03 02:17 蜡人张 阅读(214) | 评论 (0)编辑

 

    Visual Studio 2008的智能设备模板中并不包含Windows Mobile 6 SDK,下载了一个,安装时遇到如下提示:

    “系统管理员设置了系统策略,禁止进行此安装。

    msi文件安装时经常遇到各种各样的问题,但如果使用这句话作为关键词进行搜索,根本找不到可行的解决方案。

    不甘心,换关键词,直接使用"Windows Mobile 6 Professional SDK Refresh"搜索,看到博文http://www.cnblogs.com/walkingboy/archive/2008/04/27/wm6_sdk_install_digital_signature.html中,尽管提示信息“文件被数字签名策略拒绝(File was rejected by digital signature policy)”不一样,还是死马当做活马医,试了一下博主提供的reg和bat文件,安装成功,感谢浪子。不过,虽然提示的错误信息不一样,但是也许停掉msiserver服务一切问题都解决了。

 

    

posted @ 2008-07-28 17:08 蜡人张 阅读(556) | 评论 (5)编辑
     摘要: 还是挺麻烦的,记录一下。  阅读全文
posted @ 2008-07-25 21:43 蜡人张 阅读(507) | 评论 (3)编辑
     摘要:
        上海 杜莎夫人蜡像馆
        

          阅读全文
posted @ 2008-07-25 17:17 蜡人张 阅读(298) | 评论 (0)编辑

 

    来看一个使用dataURL方式指定图表数据源的例子:  

<div id="chartdiv" align="center"></div>
<script type="text/javascript">
    
var chart = new FusionCharts("../Charts/FCF_Column2D.swf""ChartId""600""350");
    chart.setDataURL(
"Data/Column2D.xml");
    chart.render(
"chartdiv");
</script>

 

     主要的代码是一段js脚本,首先声明并实例化一个对象FusionChaets,然后使用该对象的setDataURL方法为图表指定一个包含图表数据的xml文件作为数据源,最后使用该对象的render方法在id属性为chartdiv的div元素中生成图表。

    上述对象的构造函数以及两个方法都是在FusionCharts.js文件中进行实现的,所以在包含上述代码的页面中应该首先包含对FusionCharts.js文件的引用。

    当然,这里的Column2D.xml并不是一个随随便便的xml文件,它需要使用特定的标签、属性等,否则,相应的swf文件将不能正常解析并显示图表数据。

    来看一下Column2D.xml的内容:    

<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' decimalPrecision='0' formatNumberScale='0'>
    
<set name='Jan' value='462' color='AFD8F8' />
    
<set name='Feb' value='857' color='F6BD0F' />
    
<set name='Mar' value='671' color='8BBA00' />
    
<set name='Apr' value='494' color='FF8E46'/>
    
<set name='May' value='761' color='008E8E'/>
    
<set name='Jun' value='960' color='D64646'/>
    
<set name='Jul' value='629' color='8E468E'/>
    
<set name='Aug' value='622' color='588526'/>
    
<set name='Sep' value='376' color='B3AA00'/>
    
<set name='Oct' value='494' color='008ED6'/>
    
<set name='Nov' value='761' color='9D080D'/>
    
<set name='Dec' value='960' color='A186BE'/>
</graph>

 

     相对来说,这样的xml文件中的内容还是比较容易进行理解的,而且,FusionCharts的文档中提供了关于各种不同图表类型可以接受的xml文件标签、属性等的参考,参见文档中的“Chart XML Reference”部分。

    通过比较不同类型的图表的xml数据格式,可能会发现,除了漏斗图、K线图、甘特图等特殊图表之外,同一类别中常见图表(如单序列图表中的2D柱状图、3D柱状图、2D折线图、2D饼图、3D饼图、2D条形图、2D面积图、2D圆环图)的xml文件格式是类似的,这样在特定应用中,当需要更改图表类型时,我们只需要将js中的FusionCharts对象重新实例化即可,而不需要更改具体的xml数据源。如上述2D柱状图更改为2D条形图时,我们可以使用以下函数:  

<script type="text/javascript">
    
function changeChartTypeToBar()
    
{
        chart 
= new FusionCharts("../Charts/FCF_Bar2D.swf""ChartId""600""350");
        chart.setDataURL(
"Data/Column2D.xml");
        chart.render(
"chartdiv");
    }

</script>

 

     此时,整个页面不必整个刷新,只需要刷新图表区即可。而且,很显然,这是一个比较简单的操作,需要注意:

  • 不同类型的图表的xml数据源可能具有特定的xml标签或属性,所以在需要更改图表类型时,尽量使用在不同图表类型中通用的标签或属性
  • 还是要强调,不同类型图表具有不同的含义,虽然可以方便地在不同图表类型之间进行转换,但是如果图表类型选择错误,很可能带来的是画蛇添足之嫌。如上面的时序数据,如果使用饼图可能就不那么恰当了,虽然将该图表转换为饼图是非常简单的操作

    另外,使用dataURL方式对图表进行指定的数据源,并不要求是一个实际存在的物理xml文件,可以是任何一个返回XML文件或片断的HTTP请求,只有这样,我们才能根据特定的查询条件或过滤表达式方便地从数据库中检索图表所需数据先是在图表上。很显然,这种方式下只能通过POST传递HTTP请求需要的参数,此时,需要注意的是由于FusionCharts对于特殊字符的敏感性,在为FusionCharts对象使用setDataURL指定参数时,该参数字符串中最好不要包含除了英文字符、数字、?、&和-之外的字符,当然,最好使用Javascript中的escape函数对其进行编码。

 

 

 

posted @ 2008-07-07 22:41 蜡人张 阅读(1010) | 评论 (10)编辑

    上面已经说过了,要使用FusionCharts Free,只需要在项目包含FusionCharts.js和22个对应不同类型图表的.swf文件即可。

    FusionCharts.js的主要作用是用于创建一个FusionCharts对象,这个对象将负责控制不同类型图表对应的.swf文件在页面上的显示。这个js文件没有解决Flash动画的遮盖问题,如果需要的话,可以自己手动在函数getSWFHTML中进行相应的修改:

 

    getSWFHTML: function() {
        
var swfNode = "";
        
if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) 
            
// netscape plugin architecture            
            //去除flash文件遮盖
            swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf'+'" wmode="transparent" width="'+ this.getAttribute('width'+'" height="'+ this.getAttribute('height'+'"  ';
            
            
//
        }
 else // PC IE            
            swfNode = '<object id="'+ this.getAttribute('id'+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width'+'" height="'+ this.getAttribute('height'+'">';
            swfNode 
+= '<param name="movie" value="'+ this.getAttribute('swf'+'" />';
            
//去除flash文件遮盖
            swfNode += '<param name="wmode" value="transparent" />';
            
            
var params = this.getParams();
            
//
        }

        
return swfNode;
    }

 

    图表是关于数据的可视化方案,那么如何为FusionCharts Free指定图表数据?

    上述的22个对应不同类型图表的.swf文件只能接受XML格式的数据作为图表数据源,可以有2种主要的向这些.swf文件提供数据的方式——

  • dataURL方式:指定一个指向包含图表数据的XML文档的URL,该方式对应的是FusionCharts对象的setDataURL方法
  • dataXML方式:指定一个XML片断,该方式对应的是FusionCharts对象的setDataXML方法

    这两种方式对应的XML数据是怎样传递到.swf文件的?使用FusionCharts.js文件创建的FusionCharts对象将负责连接用于图表显示的swf文件和图表要表现的数据源。

    除了这两种为图表指定XML数据的方法之外,还可以通过FusionCharts.js文件中实现的一个Javascript方法updateChartXML,这种方式可以看作是对dataXML方式的一个扩展。

    对于dataURL和dataXML方式如何进行选择?

    一般情况下,建议使用的传递图表数据的方式是dataURL方式:

  • 按照代码分离的原则,我们更希望可以单独管理图表数据XML文件和用于图表展示的HTML页面,相信没有人愿意在Javascript中使用变量保存一个结构可能很复杂的XML文档或片断
  • 由于用于接收图表数据的swf文件对于非英文字母的特殊字符的敏感性,我们使用Javascript变量构造一个XML文档或片断时,可能遇到麻烦

    

    

posted @ 2008-07-06 12:48 蜡人张 阅读(843) | 评论 (2)编辑

 

    ASP .NET中如何做图表?

    Office Web Component(OWC),Report Viewer控件,甚至自己使用GDI+进行绘制等等都可以做到。但是本文中要介绍的FusionCharts Free(http://www.fusioncharts.com/free/)生成的图表更生动,可以更简洁地与用户进行交互,更重要的是,这基本上是一个完全免费的东西,使用它不会为自己带来太多困扰(参见许可协议:http://www.fusioncharts.com/free/TermsOfUse.asp)。当然,和Free版本相比,FusionCharts有一个非免费版本,功能更加强大(参见:http://www.fusioncharts.com/free/Comparison.asp)。而且,事实上,不仅是ASP .NET,无论是何种服务器端变成语言,甚至是在你的Windows应用程序中,都可以使用FusionCharts Free方便地加入图表展示功能。

    官方的文档总结FusionCharts Free的优点如下——

  • 动画可交互的图表
  • 简单但强大的Javascript集成
  • 无需安装
  • 简单易用
  • 与服务器端语言独立(或说无关)
  • 减少服务器端负荷
  • 多种图表类型支持
  • 完全免费

    可以在http://www.fusioncharts.com/free/Download.asp上下载到FusionCharts Free的最新版本,下载包中包含了一个js文件、一些涉及到不同服务器端的代码、一些浏览器端即可以查看的示例以及和FushionCharts Free相关的文档。在这些文件中重要的是FusionCharts.js文件以及Charts目录中的22个swf文件。很明显,最终在浏览器中显示的图表是以Flash的形式出现,而FusionCharts.js文件则用于控制这些swf文件最终在浏览器中的显示,要使用FusionCharts实现图表,只要把这个.js文件以及这些.swf文件包含在项目中就可以了。.swf文件是编译后的文件,所以不用特殊方法的话,我们无法看到最终图表实现的细节,幸好FusionCharts Free里面提供的文档还算详细。

    先来看看,我们可以使用FusionCharts Free实现哪些类型的图表。Free版本的FusionCharts提供了22种不同的图表(与22个.swf文件相对应,参见http://www.fusioncharts.com/free/docs/Contents/ChartList.html):单序列图表(2D柱状图、3D柱状图、2D折线图、2D饼图、3D饼图、2D条形图、2D面积图、2D圆环图)、多序列图表(2D柱状图、3D柱状图、2D折线图、2D条形图、2D面积图)、堆叠图表(2D柱状图、3D柱状图、2D条形图、2D面积图)、组合图表(3D柱状图+折线图、2D柱状图+折线图)、财务图表(K线图)、其它图表(甘特图、漏斗图)。这些图表的样式可以在http://www.fusioncharts.com/free/Gallery.asp查看到。一般情况下而言,这些图表类型基本上够用了,重要的是在表现数据时选择正确的图表类型,每种图表类型都具有特定的含义。

 

 

posted @ 2008-07-05 13:33 蜡人张 阅读(1091) | 评论 (13)编辑

中国站——
    http://china.alibaba.com

国际站——
    http://www.alibaba.com

日文站——
    http://www.alibaba.co.jp

淘宝站——
    http://www.taobao.com

支付宝——
    http://www.alipay.com

中国雅虎——
    http://www.yahoo.com.cn

口碑网——
    http://www.koubei.com

阿里软件——
    http://www.alisoft.com

阿里妈妈——
    http://www.alimama.com

 

出口服务——
    http://exporter.alibaba.com

中国供应商成功案例——
    http://exporter.alibaba.com/successstory/list.html

外贸操作经验分享——
    http://exporter.alibaba.com/cs_success_Scooters.html

百年客户培训——
    http://exporter.alibaba.com/training/list.html

展会推广——
    http://exporter.alibaba.com/exhibition/index.html

售后服务内容——
    http://exporter.alibaba.com/static/cs_service.html

阿里巴巴国际站详细介绍——
    http://exporter.alibaba.com/static/cs_service.html

 

阿里学院服务和培训——
    http://alicollege.alibaba.com

 

    

posted @ 2008-07-04 23:49 蜡人张 阅读(333) | 评论 (0)编辑

 

      昨天下午1点多,刚开始吃午饭,天气有点变,风比较大,乌云遮了天,心情有点差。

      吃完饭后,还是按照预约去了公司,正在听讲解的时候,QQ上弹出消息提示汶川突发7.8级地震,一时没反应过来,继续听讲解。小杨家里来电话了,说是洛阳也发生地震,一家人都跑到街上躲避。这才意识到这次竟然发生的是比唐山大地震更可怖的7.8级地震!!!很震惊,竟然影响到了洛阳,但徐州却什么感觉也没有(事实上,天气也发生了异常变化,短时间内出现了强降雨)。这是还没有意识到这次地震造成的损害会有多大,因为毕竟唐山的那场灾难离我们也已经很远了,还是继续讨论问题。

      五点钟左右回到家,马上上网查看相关新闻。以前上网浏览主要集中在体育新闻上(不知道有多少人像我一样打开浏览器基本上都是sports.sina.com.cn),但最近越来越关注一些门户网站的新闻频道了,这小半年中国发生太多的事情需要关注了。原来全国大部分地区都有震感,徐州虽然没震,但南京有些区域有震感。门户网站的信息总是太少,上天涯社区,想看看网友们怎么说,看到了连云港,只是和徐州遥相呼应地下了会冰雹,放心了些。此时,伤亡人数还不是很具体,但已经感到事件的严重性。

    出去处理一些事情,九点钟回到家,网上已经有实时的伤亡人数报道了,感觉胸口非常闷,喘不出气来,非常着急震区人们的情况,什么事情也做不下去。打开电视,转到四川电视台,正在现场直播抗震救灾的情况。成都及周边地区的情况大致了解了一下,汶川等重灾区还是没有任何讯息。查了一下学生的籍贯,对照了一下地图,还好只有两个同学分别是重庆达州的,应该无大碍,放心些。

      断断续续做了一点事情,凌晨一点钟,电视上播报眉山的情况,想起大学舍友小帅五月初从河南返回眉山结婚,有点担心,打手机过去,第一次不通,第二次提示正在通话中,马上再拨,竟然接通了。先问没事吧,得到的答案竟然是有事,吓了一跳,提高声音问怎么了,原来他和新婚妻子还有大学的另一个舍友老薛竟然在比眉山更危险的都江堰旅游!他的形容是在死人堆里,幸好没有受伤,老薛的声音在电话里也传了过来,提醒他们注意安全后挂了电话。继续关注电视里的新闻,特别着急知道震中的消息,但没有任何消息,No News Is Bad News!关注了下都江堰周边的消息,发了两个信息给小帅,因为他们正在灾区游荡,没有任何关于这场灾难的最新消息。

      到两点多,去睡了,祈求震中的人们没事,感到非常不爽的一点是自己对于那些受灾的人竟然什么忙也帮不上,心情更加不好。

      早上七点钟,才收到小帅回过来的信息,原来由于通讯的原因凌晨的信息他们刚刚收到。

      郁闷地忙了一天,持续关注了新闻报道,但报道的速度比较慢,比较着急。用手机捐了款,想献血附近竟然没有采血点。

      晚上八点左右,小帅打来电话,已经平安回到家中,跟他说真希望跟他换个位置,去体验一下当时的情景,可能这样的说法有点残忍,但确实是自己的真实想法,总想希望为灾区的人们做点什么,可惜并不在当地。得知自己昨天凌晨打过去的竟然是小帅手机上第一个接通的电话,眉山的家人根本打不进去。安慰他好好休息,匆匆挂了电话,但是还是通话了近10分钟,网上已经在号召尽量少往四川打电话了,不免又有点责怪自己。

      形势还是不明朗,天气又恶劣,救援速度受到阻碍,非常揪心!受灾的惨状、总理的操劳等等等等,让人心酸,真希望能为他们尽一份力,可是我又无能为力,非常窝囊!

 

posted @ 2008-05-14 00:09 蜡人张 阅读(473) | 评论 (7)编辑

 

    在这个学校里,有一些不折不扣的小人物,毕业没两年,讲课、学术等毫无建树,甚至在具体业务上存在一些或多或少的问题。每个月3000多一点的收入,在这个中等城市里,比上不足,比下有余,如果说生活都成问题,那显然是不可能的;但是压力也不是没有,想想什么时候才能攒起一套房子吧。本来希望学校能够提供便利来过渡一下,但是,这个占地面积号称为4413亩的学校里竟然没有容身之处,而他们只是要求一间面积为30平方米(如果在二楼及以上的话还不用来瓜分4413这个数字)的够两个人一起生活的宿舍而已。但是,以下的事实却让人心酸:

    某人可以怀揣两条烟,在房管科要到青教公寓的房子(条件比单身宿舍还要好),而且他本人并不是学校的教师,据说还不用向学校缴纳房租;

    某教师手里有三套房子,青教、家属区、西院各一套,历次分房都有他的份,现在准备将青教以450元/月进行出租,赚取减去他应向学校支付的费用200元/月之后的一点点差价,这250也许真正出卖的是他的师德;

    在房管科,你得到的答复永远是冷冰冰的两个字:没有;找工会主席,这个即将退休的老家伙倒是很热心,而且很可爱地承认下面的情况不在少数:分给了某个教师,但该教师并未在里面居住,用来存放东西或担心退房之后不好再向学校申请更好的房子;原应住在里面的教师将房子转租给学生或其他人来赚取差价。可爱归可爱,最后他会向你表示,他也无能为力,现在没有剩下的房源,学校没有办法将这些因种种不合理原因被占用的房子清理出来。

    真的没有办法吗?还是某些职能部门不作为?

    他们自己解决了住房问题,当然不会管小人物们的生计。他们不会了解小人物们在外面租房子的感受:总是提心吊胆,没有安全感,小区里物管部门三天两头来查身份证;想坐上校区班车,有时需要在风中、雨中等上半个小时,而且基本上不会有座位;没地方吃饭,两个人都忙工作,谁有时间做饭,最近的饭馆距离小区的距离要步行15分钟;房租猛涨,市场价格两三年间已经翻了一番,400-600元/每月,是学校的2-3倍,每月付出的房租越多,攒钱买房的时间就越长,何况房价在上升;另外,像领证的没法结婚,结婚的没法生子,不一而足,不再列举了。

    别以为大学教师全部都像想象的那样轻松,至少还有这样一个卑微的群体。教育部直属的高校现在不是又在改革了吗,但是,现在看来,所谓的“改革”永远都是BOSS们之间的利益重新分配,和小人物无关。

 

    

 

posted @ 2008-03-27 19:52 蜡人张 阅读(454) | 评论 (5)编辑

    在
Excel电子表格中最常使用的函数应该是Sum了,它是内置的;当然,在Excel中内置的函数还有很多;但是,往往我们使用的函数Excel中并没有直接提供,或者提供了我们并不知道,这个时候可以自己使用VBA定义一个自己需要使用的函数参与电子表格单元格的计算,这在日常工作中可能是经常要遇到的一个问题。下面,讨论如何实现一个自定义的具有合计功能的函数,由于Sum函数系统已经内置,我们要实现的函数不妨命名为udSum

    首先,想到的应该使用VBA,毫无疑问,最直接的针对Excel功能的扩展来源于VBA。事实上,我们可以在ExcelMicrosoft Visual Basic编辑器的模块中增加一个公共函数来实现该自定义函数,该公共自定义函数是可以在Excel单元格中直接像使用Excel内置函数一样使用的。

    如何打开Visual Basic编辑器?

    1. 启动Microsoft Excel
    2. 使用菜单“工具——宏——Visual Basic 编辑器” 打开Microsoft Visual Basic编辑器窗口;
    3. 在“工程”浏览器窗口中的树状目录的任一项目上单击右键,使用“插入——模块”命令;

    OK,在这个模块编辑器中,即可以开始编辑自定义函数了。     

    在此之前,我们应该考虑该函数的参数形式,和内置的Sum函数进行类比,我们可以发现Sum函数的参数应该是一个或多个单元格,而在VBA中对应的就应该是一个Range对象(关于Range对象可以参考Microsoft Visual Basic帮助中的Excel VBA对象模型),也就是说我们要自定义的函数的参数应该是一个Range对象,由此,我们可以在“模块1”的编辑器中自定义一个如下的函数:   

 1Public Function udSum(r As range) As Double
 2
 3    Dim i As Integer
 4    Dim j As Integer
 5    Dim rtn As Double
 6        
 7    rtn = 0
 8            
 9    For i = 1 To r.Rows.Count
10        For j = 1 To r.Columns.Count
11            rtn = rtn + r.Cells(i, j)
12        Next j
13    Next i
14    
15    udSum = rtn
16    
17End Function

    函数很简单,遍历Range对象的所有单元格,使其中的数字相加后返回即可。

    保存更改后,返回到工作簿Book1界面,在连续的单元格(如B2:C3)中录入几个数字,然后在另外一个单元格(如E4)中录入“=udSum(B2:C3)”,也就是说,我们使用我们自定义的合计函数udSum来计算区域B2:C3中的数字之和。经过验证,我们可以发现udSum可以实现内置函数Sum的合计功能。另外,由于udSum函数接受的参数是一个Range对象,所以该函数也可以这样调用=udSum(testRegion),当然在当前工作表中应该实现定义一个名称“testRegion”用于表示一个特定的单元格区域。

    在上面的描述中,我们可能也注意到了,udSum函数的参数是一个连续的单元格区域,而内置的Sum函数是可以以多个参数的形式接受不连续单元格区域中的数据,如=Sum(B2:C3,B5:C6,B8:C9)。也就是说,我们应该修改函数udSum,使其可以接受不定数量的多个参数,这个需要使用到VBAParamArray特性。修改后的自定义函数udSum如下所示:   

 1Public Function udSum (ParamArray x()) As Double
 2    
 3    Dim i As Integer
 4    Dim j As Integer
 5    Dim k As Integer
 6    Dim rtn As Double
 7
 8    rtn = 0
 9        
10    For i = 0 To UBound(x)
11        For j = 1 To x(i).Rows.Count
12            For k = 1 To x(i).Columns.Count
13                rtn = rtn + x(i).Cells(j, k)
14            Next k
15        Next j
16    Next i
17        
18    udSum = rtn
19    
20End Function
21

    可以注意到,修改后的函数的参数没有指定类型,未明确指定的数据类型被作为Variant类型处理,此处显示的类型显然应该是Range,即一个Range对象的数组,然而由于VBAParamArray必须声明为变体数组,故此处只能以变体类型出现,但在函数主体中,我们还是将其作为Range数组处理,遍历该数组中的所有不连续区域中的所有单元格,并将其中的数组相加后返回即可。

    至此,我们可以这样使用类似于=Sum(B2:C3,B5:C6,B8:C9)