博文

Flex学习(2010-03-29 16:30:00)

摘要:由于项目需要,做个flex程序用来调用xml文件,来展示拓扑图。于是,最近在研究flex的用法。把最近学到的发布网上,供分享。  本人是用eclipse来开发flex项目,主要是下载个flex插件版的安装。然后eclipse里面就能新建flex项目了。这个是简单事情。同时需要安装 flex的sdk.里面包含了所需的包。完成之后就能做项目了。......

阅读全文(1567) | 评论:0

Error 1324.(2009-12-16 23:18:00)

摘要:Error 1324. The path My Documents contains a invalid character的原因和解决方法2008-10-09 12:00Error 1324. The path My Documents contains a invalid character. 的原因及解决方法

现象:安装软件时出现如下提示:Error 1324.The path My Documents contains a invalid character.

原因:my documents路径中带有非法字符(中文或是不规则字符)或是my documents环境变量路径非安装程
          序所认可

解决:将my documents路径恢复系统默认
      打开注册表编辑器regedit,查找[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders],在右侧窗口中,将Personal项的e:\My Documents改为C:\Documents and Settings\当前用户\My documents,就可以正常安装了。
......

阅读全文(3450) | 评论:0

非Dll,设置hook(2009-11-09 13:30:00)

摘要:回调函数必须是静态函数或全局函数。 1 .如果你把它定义为类的成员函数,则应该在声明的时候加上static。 如:static LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam); 而且在函数的实现部分,即.cpp文件中,函数名前面应加上类名。 如:LRESULT CALLBACK CSettingDlg::MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
       {
         return 1;
       } 函数的调用语句示例如下:SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId()); 2.如果你把回调函数定义为全局函数 则只要把函数实现部分放在调用之前即可。头文件中不需要声明。函数名前没有类名。 如: / /函数现实部分 LRESULT CALLBACK MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
{
return 1;
} / /调用函数
void CSettingDlg::OnStart()
{    SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());

}......

阅读全文(2646) | 评论:0

开发软件须知(2009-11-05 17:14:00)

摘要:一个项目必须设计好之后,才能进行编码,今天黎老师给我们介绍了怎样用uml画图!
1要做软件先得了解软件的生命周期 1、问题的定义及规划: (可行性分析报告和软件开发计划)
 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析: (需求分析说明书和初步的用户手册)
 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
3、软件设计: (概要设计、详细设计)
 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。
4、程序编码: (提交源程序及清单)
 此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
5、软件测试: (提交软件维护测试报告)
 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试(白盒)、集成测试(黑盒,功能测试、强度性能测试)以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
6、运行维护:软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。(提交软件维护报告)
2.增量和迭代模型
 增量迭代是RUP (Rational Unified Process)统一过程常采用的软件开发生命周期模型。增量和迭代有区别但两者又经常一起使用,所以这里要先解释下增量和迭代的概念。假设现在要开发A、B、C、D四个大的业务功能......

阅读全文(1769) | 评论:0

firefox不支持parentElement属性怎么办?(2009-10-25 09:28:00)

摘要: 下面这段代码我认为比较经典,贴出来大家可能会用得着。如何写兼容的parentElement;查看红色字体,firefox识别parentNode; tc.tbl.onmouseover=function(eventTag)
 {
  if(eventTag==null)eventTag=window.event;
  var e=eventTag.srcElement||eventTag.target;
  if(e==this){return;}
  while(typeof(e)=="undefined"||e.tagName!="TR"){
   e=e.parentElement||e.parentNode;
  }
  tc.currentSelRow=e; 
  var cells=tc.currentSelRow.cells;
  for(var i=0;i<cells.length;i++)
  { 
   cells[i].style.backgroundColor=tc.alOverBgColor
  }
 }......

阅读全文(3498) | 评论:0

编码与java编码(转载)(2009-09-22 12:06:00)

摘要:编码与java编码(转载) 2009-09-04 02:05 首先讲一下几种字符的编码方式: 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。 2、非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。 但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (ג),在俄语编码中又会代表另一个符号。但是不管怎样,所有这些编码方式中,0—127表示的符号是一样的,不一样的只是128—255的这一段。 至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右。一个字节只能表示256种符号,肯定是不够的,就必须使用多个字节表达一个符号。比如,简体中文常见的编码方式是GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示256x256=65536个符号。 中文编码的问题需要专文讨论,这篇笔记不涉及。这里只指出,虽然都是用多个字节表示一个符号,但是GB类的汉字编码与后文的Unicode和UTF-8是毫无关系的。 3.Unicod......

阅读全文(2617) | 评论:0

webwork文件下载(2009-09-12 17:51:00)

摘要:webwork文件下载 2007-11-01 15:10 WEBWORK的文件下载机制。使用起来还是比较简单的。 下面是用法说明: 首先在一个ACTION中,如果判断有权限进行文件下载。 则: 1、读出该下载文件,并生成一个流。 文件名应当从请求的request中读出,或从用户的表中取出。 public String downLoadFile(String fileName){
   try {
    File input = new File("e:/engilish literature.doc");
    docStream = new FileInputStream(input);
    contentDisposition = "filename=\"test.txt\"";
   } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }  
   return "download";
} 2、将输出导向到一个特殊的RESULT中去。叫做Steam Result。          <action name="register" class="com.job2easy.web.user.RegisterAction">
             <result name="success" type="dispatcher">
      ......

阅读全文(2676) | 评论:0

Java读取xml的四种方式(2009-05-20 14:42:00)

摘要:  在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。

  预 备

  测试环境:

  AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debug 模式下测试。

  XML 文件格式如下:

  <?xml version="1.0" encoding="GB2312"?>
  <RESULT>
  <VALUE>
  <NO>A1234</NO>
  <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
  </VALUE>
  <VALUE>
  <NO>B1234</NO>
  <ADDR>四川省XX市XX乡XX村XX组</ADDR>
  </VALUE>
  </RESULT>

  测试方法:

  采用 JSP 端调用Bean(至于为什么采用JSP来调用,请参考:http://blog.csdn.net/rosen/archive/2004/10/15/138324.aspx),让每一种方案分别解析10K、100K、1000K、10000K的 XML 文件,计算其消耗时间(单位:毫秒)。

  JSP 文件:

  <%@ page contentType="text/html; charset=gb2312" %>
  <%@ page import="com.test.*"%>

  <html>
  <body>
  <%
  String args[]={""};
  MyXMLReader.main(args);
  %>
  </body>
  </html>

  测 试

  首先出场的是 DOM......

阅读全文(5538) | 评论:0

javax.xml.transform.TransformerFactoryCo(2009-04-28 09:15:00)

摘要:第一步: 去看tomcat的webapps,里边也部署上了。接着用昨天刚学的一招必杀,呵呵!去看C:\Program Files\Apache Software Foundation\Tomcat 5.0\logs下的日志,显示javax.xml.transform.TransformerFactoryConfigurationError Provider org.apache.xalan.processor.TransformerFactoryImpl not found 后来上网搜了一下:找到了一篇文章,说该问题是由于tomcat 里C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\endorsed下的两个有关xml的jar文件和JDK里的xml解析器冲突造成的:原文如下: http://localhost:8080/testdwr/dwr 访问

页面出现错误

javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
uk.ltd.getahead.dwr.convert.DOMConverter.<init>(DOMConverter.java:157)

这是一个 XML 解析器的问题,我们能直接能理解的就是 TransformerFactoryImpl 找不到,那么这个类在哪个包里呢? xalan,就去 apache 网上下载到 xalan.jar 包扔到应用的 WEB-INF/lib 目录中,重启 Tomcat 就能OK 了。

上面是第一种解决办法。问题是解决了,但是根由何在?难道就不能用别的 XML 解析器呢,难道 JDK 和 Tomcat 就没有为我们预备好对于 dwr 可用的 XML 解析器吗?先说个背景

·JDK1.3 没有 XML 解析器,所有要自己配......

阅读全文(2698) | 评论:0

解决linux上java中文乱码问题(2009-04-21 09:32:00)

摘要:在项目开发的时候,发现在windows下,java中文字符输出正常显示,但移动linux上就变成了??。经过研究发现,windows上的设置是zh_CH(字符集编码是GB2312/GBK),而linux 上是zh_US(字符集编码是ISO-8859-1)。从而导致乱码。 解决方法是: String oscode=System.getProperty("file.coding");   //是取得系统的编码方式。 String  sourceStr="你好"; String targetStr=new String(sourceStr.getBytes("GBK"),sourceStr);   注:linux上用  locale命令就可查询字符设置。......

阅读全文(5801) | 评论:1