分布式版本控制系统Mercurial的是安装和使用

转自http://blog.csdn.net/snwcwt/archive/2010/04/24/5525633.aspx 使用Mercurial已经有一年多的时间了,个人认为除了安全性以外相比SVN这样的集中式版本管理有很多的优势,尤其最近TortoiseHG 1.0.1版本发布了,使用相比以前也更加简捷和方便了。 作为分布式的版本管理软件我也无法将它与其它DVCS进行比较,因为是我用过的第一个的DVCS。从简要的概念上来讲,我就将它与SVN进行一翻比较,不过SVN太长时间没用,有些东西可能记不太清甚至是错误的。 为了简化概念,我把mercurial分隔成两个部分:本地版本和外地版本。 首先说下本地版本 在SVN中,主要会用到的几条指令是add/commit/update/branch,当然这些指令多数都会修改SVN所在服务器的版本库内容:commit,提交一个新的版本;add,添加文件/目录/链接文件等;branch,建立一个新的分支,操作来讲始终觉得有点复杂。 这些指令mercurial自然是一个不少。commit,提交新版本;add,添加文件;branch,耶,似乎没有这条或类似的指令,但其实更加强大。 这些指令当中,似乎看来差别不大,确实,但他们有一个重要的差别:那就是他们操作的目标。众所周知,svn会修改一个svn地址(或是其他什么如http等共享方式)上服务器的内容,然后其它用户就可以看到这个修改并获取。 Mercurial则不然,这一类的指令都只会修改“本地的库”,也就是说其他人目前看来是无法获得你这个版本修改的相关信息的(至于如何获得,稍后会提到)。 正如svn的目录下会有个隐藏的.svn目录,mercurial有一个类似的隐藏的.hg(汞)目录,但svn在这个目录下面保存的是一些诸如什么文件被修改的信息(是吗?记不清了),而mercurial的这个目录保存的却是完整的版本数据,对的,包含一切东西,changelog、branch、谁修改的、那个版本修改了什么文件什么内容,一个都不少。它就是本地库所存在的地方 .hg 目录。在mercurial中,commit、版本历史浏览、update都是修改/读取的.hg这个目录下的信息。即使你把该除了.hg目录的其他所有文件都删掉,你依然可以通过update指令把工作文件恢复到你所指定的某个版本,而这一切不需要任何网络。 .svn与.hg目录还有一个很大的差别,.svn目录遍布整个工作目录下所有的子文件夹中,.hg则只在工作目录的根文件夹存在。比如SVN可能是这样的目录结构: | code |---- .svn |---- include |-------- .svn |-------- *.h |---- src |-------- .svn |-------- *.cpp |---- some file |---- some folder |-------- .svn |-------- subfile and subfolder 而mercurial则会是这样: | code |---- .hg |---- include |-------- *.h |---- src |-------- *.cpp |---- some file |---- some folder |-------- subfile and subfolder 关于mercurial的branch相当灵活,分支的创建与合并(当然,冲突解决是无法避免的)也很简单,或者说分支随时与你同在,一旦你commit之后,那么就可能创建了一个分支。假设我们现在有2个版本号,2号版本基于1号版本进行了一些修改。如果我继续修改然后提交,那么3号版本没有创建了来的新的分支。分支的图形可能就是这样 ● 3 |

(OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次

出现如下错误的解决办法: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: c ould not bind to address 0.0.0.0:1213 no listening sockets available, shutting down Unable to open logs 1:通过 netstat -anb 查看端口占用情况,关闭调用相关端口的进程 2:通过 修改conf/httpd.conf 中相应的监听端口来处理。

计算机类期刊投稿心得

1、【杂志名称】 计算机应用研究 成都 【杂志文章包含专业】建模,仿真,网络,人工智能,比较杂。 【投稿联系方式】 注册在线投稿审稿 【投稿费用】审稿费无,250元/页 【杂志级别】国家一级期刊,全国中文核心期刊 【稿酬回报】无 【投稿感受】录用率始终保持在60%以上,不包括增刊,想上增刊,交钱就行(250元/页)。无审稿费,1~2月就知道结果了!很喜欢把作者的稿件录用在增刊上,商业味道太浓(增刊的版面费也要1000左右)。 2、【杂志名称】火力与指挥控制 【杂志文章包含专业】武器装备方面建模,仿真,评估等。主要针对军工方面文章。 【投稿联系方式】 【投稿费用】版面费600元,审稿费50元。如果稿件质量高,免版面费。 【杂志级别】中文核心期刊,科技论文统计源期刊。 【稿酬回报】有,但不多,百十来元吧。 【投稿感受】录用率较高,70%左右,审稿周期2个月,发表周期1年左右。编辑态度较好。 【其他】如果忙着毕业,或评职称,可以投。 3、【杂志名称】系统仿真学报 【杂志文章包含专业】建模,仿真,计算机技术,网络,评估等。内容较杂。 【投稿联系绞健?/font > 【投稿费用】版面费1200元左右,审稿费150元(中文)。 【杂志级别】中文核心期刊,EI统计源期刊。 【稿酬回报】有,但不多,百十来元吧。 【投稿感受】录用率不高,20%左右,审稿周期2个月,发表周期1.3年左右。编辑态度较好。论文要求有仿真结果。 【其他】2005年,论文被EI检索率90%以上。 4、【杂志名称】《宇航学报》 【杂志文章包含专业】飞行理论、航天飞行器系统、导弹系统、空气动力学、测量与信息传输、制导与控制、飞行器能源、遥感飞行器设计与制造、惯性技术、推进技术、计算机应用、材料与工艺、发射工程、结构强度、目标与环境、计量与测试、质量与可靠性等。 【投稿联系方式】 【投稿费用】审稿费80元,版面费1100左右 【杂志级别】核心期刊,06年为EI 检索期刊 【稿酬回报】较少 【投稿感受】要求电子稿和打印稿投送,审稿2~3个月,录用率为10%左右、感觉投稿有难度。 5、【杂志名称】《导弹与航天运载技术》 【杂志文章包含专业】主要报道中国导弹与火箭系统及分系统技术及与其相关的学术研究论文与报告,并适当报道国际航天领域的热点、最新成果及新动态。设有综述与述评、专家论坛、运载器总体及分系统技术、论文与报告、研究简报、高科技窗口、国外进展、热点漫谈、简讯等栏目。 【投稿联系方式】 【投稿费用】无审稿费80元,版面费500左右,优秀的文章免收版面费。 【杂志级别】核心期刊 【稿酬回报】有,约150 【投稿感受】可电子投稿,审稿2个月,录用率为50%左右。总的感觉难度不大。 【其他】编辑部态度不错。 6、【杂志名称】《小型微型计算机系统》 【杂志文章包含专业】发表我国计算机领域的科学研究、工程设计及应用、高等教育等方面的学术论文,并介绍国外先进计算机理论和技术。主要栏目有计算机硬件、软件、网络、多媒体等技术的研究、开发、应用。 【投稿联系方式】 【投稿费用】审稿费100元,版面费1000左右 【杂志级别】核心期刊,EI检索。 【稿酬回报】有 【投稿感受】先投打印稿投送,初审通过再投电子稿,再交审稿费。审稿2~3个月,录用率为20%左右,难度中。 【其他】编辑部态度不错。 xwjxt@sict.ac.cnedit@calt.comyhxbbjb@263.netwww.china-simulation.comhlyz@chinajournal.net.cnhttp://www.arocmag.com/ 转一下华中科技大学一位朋友的经验: ****** 我中小微的经验: 1) 看看小微最近2年的杂志,有没有相关方面的文章,如果没有,中的机会大。 2)参考文献要尽量多引用那些是小微杂志编辑委员会写的文章的。 3)小微要求内容比较新,而且注重实现,要有数据和实现。 4)运气好的1个月就可以中。 ****** 7、【杂志名称】《计算机仿真》 【投稿费用】审稿费100元,版面费250/页。 【杂志级别】中国核心期刊。 【稿酬回报】有,但不多。 【投稿感受】电子投稿。审稿1~2个月,录用率为70%左右。较容易,基本上有仿真结果就能发表。如果你交200,要求加急审稿的话,100%中。(据说是级别被降下来了,所以狂要文章,狂收钱) 【其他】编辑部态度不错。 8、【杂志名称】《自动化学报》 【杂志文章包含专业】自动化技术,计算机技术等。

Distributed SCM - Mercurial

Introduction: from http://hginit.com/: Hg Init: a Mercurial tutorial Mercurial is a modern, open source, distributed version control system, and a compelling upgrade from older systems like Subversion. In this user-friendly, six-part tutorial, Joel Spolsky teaches you the key concepts. Joel太能吹了。推测他之所以写这么一堆介绍材料,是因为自己的公司在Mercurial的基础上开发了一个SCM系统。 Wikipedia(http://en.wikipedia.org/wiki/Comparison_of_revision_control_software)例举了很多SCM系统以及它们的比较,值得一读。

RealVNC的 VNC server在windows7(win7)系统下无法正确运行

windows7上运行VNC server VNC版本4.1.2,这个版本是免费的。在windows7下不可以运行服务器端,反向连接,正向连接都不可以实现。安装后VNC后,在”开始”菜单中”Start VNC Service”右键属性”兼容性”改为windows xp sp3下就可以顺利启动。以上只是一个例子,其实其它的有兼容性的软件,在win7下,也可以这样做。

to_char函数不要使用hh格式

昨天检查程序,那些程序员一个小小的错误,他们把日期转换成字符串作为记录主关键字的一部分,我当时看了感觉应该使用hh24格式。 例子如下: => select sysdate a ,to_char(sysdate,'yyyymmddhh') b ,to_char(sysdate-16/24,'yyyymmddhh') c from dual ; SYSDATE TO_CHAR(SY TO_CHAR(SY ------------------- ---------- ---------- 2010-05-21 16:41:23 2010052104 2010052112 可以发现hh的范围实际上是1-12.如果是0点某个时刻,实际上显示的是12. 这个是很容易判断出错! 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-663358/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/267265/viewspace-663358/

再谈证书身份认证

一、简单描述一下证书的原理与作用。 所谓证书,就是使用私钥进行了数字签名的一个文件,文件里包含了用户的一些信息和公钥。认证者可以从证书中取得公钥,从而对用户进行身份认证。 很明显,证书就相当于一张×××,让人可以对其进行身份认证。 证书身份认证方式是采用的是密码学中非对称密钥方式,私钥加密,公钥解密,所以任何人都可以对其进行身份认证。与数据传输中的非对称密钥加密方式正好相反,公钥加密,私钥解密,任何人都可以给发送加密的数据,而只有我能够正确解密。 做一个证书并不难,就像做一个假的×××一样,大街上随处可见。所以要有权威的机构来发行证书,所谓的权威机构,就是它发行的证书就是真的,你只要验证这个证书是它发行的就可以了,就像只有某某公安局发行的×××才是真的一样。那么权威机构自己也有一张证书,这个证书就是CA证书。CA证书可以给其他用户签署用户证书。从理论上讲,CA证书和用户证书也没什么太大区别,原理都是一样的。 当采用证书方式进行身份认证时,如果认证者不验证用户证书的颁发机构,那只要用户有一张证书就可以了;如果需要验证用户证书的颁发机构,那认证者需要有一张用户证书颁发机构的CA证书,用户的证书也必须是由同一机构所颁发(即,用同样的CA证书签署过的)。 二、下面说一下证书在无线网络世界里的应用。 在无线网络世界里,经常需要使用证书的方式进行身份认证。简单的列举几种方式: 1、EAP-TLS。这种方式采用了双向安全认证,即,服务器要对用户进行认证,用户也要对服务器进行认证。这双向认证都是在采用非对称加密的安全方式进行的,也就是证书方式。这种方式应用并不很广泛,其原因就是没个用户都要安装证书,比较繁琐。 2、EAP-PEAP/EAP-TTLS。这种方式只需要服务器端安装证书,也就是用户对服务器的认证是采用证书认证的。单向安全认证完毕后,双方建立加密的安全隧道,而服务器对用户的认证是在安全隧道中完成的,采用的是传统的认证方式,如,PAP/CHAP/MS-CHAP等。 三、再讲一下如何使用OpenSSL制作证书。 作为学习或测试使用,我们当然不需要花钱去权威机构申请证书,只要自己做一个就可以了。OpenSSL可以帮你完成这项工作。 1、先做一张CA证书,有了它,你就是所谓的权威机构,你就可以给别人签发证书了。 § openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf 这里有两个输出文件(ca.key和ca.crt)和一个输入文件(openssl.cnf)。ca.crt就是ca证书了,ca.key就是ca证书的私钥,不过是经过加密的了。openssl.cnf就是openssl的config文件了。值得说明的是,还有几个文件是所必须的,先罗列一下。文件:index.txt,dh,index.txt.attr,random,serial;目录:certs,private,crl,newcerts。 2、为用户生成私钥 § openssl genrsa -des3 -out client.key 1024 des3是一种对称加密方式,这里是对生成的私钥进行加密的。当然你也可以采用其它的方式进行加密,如,aes等。 3、为用户生成证书请求文件 openssl req -new -key client.key -out client.csr -config openssl.cnf 4、使用CA证书对用户的证书请求文件进行签署,生成用户证书 openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf 至此,用户的证书已经生成完毕。通常情况下,对于ms-window的客户端来说,证书都是采用pkcs12的格式,这样更容易安装。 5、生成pkcs12格式的证书文件 openssl pkcs12 –export –inkey client.key –in client.crt –out client.p12 openssl pkcs12 –export –inkey ca.

html map area 标签

map :定义一个客户端图像映射。图像映射(image-map)指带有可点击区域的一幅图像。 属性: name: 为 image-map 规定的名称。 注释: <img> 标签中的 usemap 属性与 map 元素 name 属性相关联,创建图像与映射之间的联系。 id : 为 map 标签定义唯一的名称。 area :定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。 注:area 元素总是嵌套在 <map> 标签中。 属性: alt(必须):定义此区域的替换文本。alt 属性是一个必需的属性,它规定在图像无法显示时的替代文本。 shape :定义区域的形状。 coords :坐标值 定义可点击区域(对鼠标敏感的区域)的坐标。 coords 属性规定区域的 x 和 y 坐标。 coords 属性与shape 属性配合使用,来规定区域的尺寸、形状和位置。 图像左上角的坐标是 "0,0"。 圆形(circ) :shape="circle",coords="x,y,z" 这里的 x 和 y 定义了圆心的位置("0,0" 是图像左上角的坐标),z 是以像素为单位的圆形半径。 多边形(poly) :shape="polygon",coords="x1,y1,x2,y2,x3,y3,..." 每一对 "x,y" 坐标都定义了多边形的一个顶点("0,0" 是图像左上角的坐标)。 定义三角形至少需要三组坐标;高纬多边形则需要更多数量的顶点。 多边形会自动封闭,因此在列表的结尾不需要重复第一个坐标来闭合整个区域。 矩形:shape="rectangle",coords="x1,y1,x2,y2" 第一个坐标是矩形的一个角的顶点坐标,另一对坐标是对角的顶点坐标,"0,0" 是图像左上角的坐标。 请注意,定义矩形实际上是定义带有四个顶点的多边形的一种简化方法。 href :URL 定义此区域的目标 URL。规定在何处打开 href 属性指定的目标 URL。

Bufree中Bug严重等级及优先级定义说明

http://bbs.pfan.cn/post-305427.html 1.BUG等级划分建议: 目前project上的BUG严重程度分为五个等级,按照CMMI5中定义的规范,BUG严重等级可分为3-5个等级,建议将BUG等级划分四个等级,分别为严重、主要、次要、轻微。 ● 1级,Critical,严重(可对应目前BUG体系中的“非常严重”): 严重问题主要为:系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。 具体基本上可分为: ○ 严重花屏 ○ 内存泄漏 ○ 用户数据丢失或破坏 ○ 系统崩溃/死机/冻结 ○ 模块无法启动或异常退出 ○ 严重的数值计算错误 ○ 功能设计与需求严重不符 ○ 导致其它功能无法测试的错误 ● 2级,Major,主要(可对应目前BUG体系中的“主要”) 主要问题主要为:影响系统功能或操作,主要功能存在缺陷,但不会影响到系统稳定性。 具体基本上可分为: ○ 功能未实现 ○ 功能错误 ○ 系统刷新错误 ○ 语音或数据通讯错误 ○ 轻微的数值计算错误 ○ 系统所提供的功能或服务受到明显的影响 ● 3级,Minor,次要(可对应于目前BUG体系中的“次要”) 一般性问题主要为:界面、性能缺陷 具体基本上可分为: ○ 操作界面错误(包括数据窗口内列名定义、含义是否一致) ○ 边界条件显示错误 ○ 提示信息错误(包括未给出信息、信息提示错误等) ○ 长时间操作无进度提示 ○ 系统未优化(性能问题) ○ 光标跳转设置不好,鼠标(光标)定位错误 ● 4级,trivial,轻微(可对应于目前BUG体系中的“轻微及建议”) 提示性问题主要为:易用性及建议性问题 具体基本上可分为: ○ 界面格式等不规范 ○ 辅助说明描述不清楚 ○ 操作时未给用户提示 ○ 可输入区域和只读区域没有明显的区分标志 ○ 个别不影响产品理解的错别字

网络事件模型---重叠IO

1.基于windows窗口的网络事件通知模型 缺点:只是通知什么时候可以接收数据,什么时候可以发送数据。 没有异步发送数据,异步接收数据的能力。 2.重叠IO模型 允许应用一次投递一个或多个异步I/O请求。 这与重叠ReadFile 和 WriteFile操作文件类似。 提交重叠I/O包括提交ACCEPT,提交SEND,提交RECV请求等。 其中有个参数是OVERLAPPED结构, 若操作完成,OVERLAPPED结构中的事件就会受信. 所以只需要在一个线程中监听此事件即可。 重叠IO模型是具有异步发送数据的能力。对于接收数据,要注意提交的RECV请求的数量。

vb.net中的整除

vb.net中的整除 C#中的除法的写法应该很简单,不过 vb.net中的除法就不是简单的一个 / 了,在vb.net中存在两种除法的写法,一种是 / 普通除法的写法它允许小数的存在而且会自动的四舍五入,而 / 这中写法就是vb.net中的整除了。举例如下 c#: int a=2; int b=3; int c=0; c = b / a; 输出结果 1 vb.net: dim a as integer = 2 dim b as integer = 3 dim c as integer = 0 c=b/a c=b/a 输出结果: 2 1

Android Resource介绍和使用

1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源! res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版内容): 目录Directory 资源类型Resource Types res/anim/ XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 res/drawable/ .png、.9.png、.jpg文件,它们被编译进以下的Drawable资源子类型中: 要获得这种类型的一个资源,可以使用Resource.getDrawable(id) 位图文件 9-patches(可变尺寸的位图) 为了获取资源类型,使用mContext.getResources().getDrawable(R.drawable.p_w_picpathId) 注意:放在这里的图像资源可能会被aapt工具自动地进行无损压缩优化。比如,一个真彩色但并不需要256色的PNG可能会被转换为一个带调色板的8位PNG。这使得同等质量的图片占用更少的资源。所以我们得意识到这些放在该目录下的二进制图像在生成时可能会发生变化。如果你想读取一个图像位流并转换成一个位图(bitmap),请把图像文件放在res/raw/目录下,这样可以避免被自动优化。 res/layout/ 被编译为屏幕布局(或屏幕的一部分)的XML文件。参见布局声明(Declaring Layout) res/values/ 可以被编译成很多种类型的资源的XML文件。 注意: 不像其他的res/文件夹,它可以保存任意数量的文件,这些文件保存了要创建资源的描述,而不是资源本身。XML元素类型控制这些资源应该放在R类的什么地方。 尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中): array.xml 定义数组 colors.xml 定义color drawable和颜色的字符串值(color string values)。使用Resource.getDrawable()和Resources.getColor()分别获得这些资源。 dimens.xml定义尺寸值(dimension value)。使用Resources.getDimension()获得这些资源。 strings.xml定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。 styles.xml 定义样式(style)对象。 res/xml/ 任意的XML文件,在运行时可以通过调用Resources.getXML()读取。 res/raw/ 直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。 2.自动生成的R class 在项目文件夹的gen文件夹里面有个R.java,我们平常引用的资源主要引用这个类的变量。 注意:R类是自动生成的,并且它不能被手动修改。当资源发生变动时,它会自动修改。 3. 在代码中使用资源 下面是一个引用资源的语法: R.resource_type.resource_name 或者 android.R.resource_type.resource_name 其中 resource_type是R的子类,保存资源的一个特定类型。 resource_name是在XML文件定义的资源的 name属性,或者有其他文件类型为资源定义的文件名(不包含扩展名,这指的是drawable文件夹里面的icon.png类似的文件,name=icon)。 Android包含了很多标准资源,如屏幕样式和按钮背景。要在代码中引用这些资源,你必须使用android进行限定,如 android.R.drawable.button_background。 下面是官方给出的一些在代码中使用已编译资源的正确和错误用法的例子: // Load a background for the current screen from a drawable resource.

如何将WORD文档转成CHM帮助

前提:将word文档全部编写完成,需要仔细检查项目编号,图片居中等细节,否则生成CHM文件后再修改就麻烦了。 1、使用word2chm软件将word文档转换成hhp格式,完成转换后会生成很多文件,所以生成前最好新建一个目录,否则不好找。 2、使用quickCHM软件打开刚刚生成的那个hhp文件,每页仔细检查,进行微调。 3、点击运行,生成CHM格式的帮助文档。 CHM文件的好处: 1、文件相对比较小 2、多数客户都是在使用到某处遇到困难才会去查阅用户手册,一般不会全篇通读,所以CHM可以帮助客户快速定位到所需查找的问题位置,阅读起来比较方便。 quickCHM使用是遇到的几个问题的解决方法: 1、注意:使用WORD2CHM生成的文件中,每一个网页文件上面都有一个隐藏的网页说明,有广告的嫌疑,将第一行选中即可看到,所以需要将每页的第一行清空。 2、链接:选中一个需要链接的词,右键选择“链接”,然后在弹出的界面中选择“其他”,下面填写完整的链接该文件的路径,例如: D:/公司文档/研发中心/HollyC5研发方案/HollyC5 1.2/用户手册/标准版/前台/7x24呼叫中心操作手册(标准版-前台坐席篇).Content/4.1工作台界面介绍.97836.htm 3、图像:如果要修改已生成的图像,先将原始图片文件替换,然后选择图像右键,重新选择该文件即可。 4、使用quickCHM编译后,文件出现乱码:则在源文件中编码改成charset=8gb2312 另外,近期发现生成的CHM文件有些人打开显示乱码,有些人打开显示正常,这个目前还没找到好的方法解决。 刘婷婷 2010-4-21

IBM X366服务器维修(实战供友借鉴)

IBM X366服务器维修(年前实战供商友借鉴) 一日,网上客户寻求服务器维修技术支持 事故原因为一家为北京商业银行12台IBM X366 服务器,因为断电维护做一些除尘工作.重新加电后12台X366服务器同时报风扇错误,因为都是运营服务器只有一台可以做实验,客户遍请服务器相关技术都去做了检测,没有找到原因,竟然以为是因为除尘造成风扇倒转烧坏主板风扇接口.后取下主板请维修主板的维修过,依然不见好转,花去3000余元,实在没招了,请我过去.因为之前与客户也就这个问题做过多次交流,应为没有做过实地观察,我也不敢说具体情况怎么样? 在去之前我准备了相关服务器所有的检测工具,带上了备份优盘,网线,小黑本等等......到了银行机房,第一件事就是重启服务器查看BIOS报错! 风扇错误!!清空报错信息...重启....依然报风扇错误.....进入系统没有一点错误,报警灯依然常亮...因为服务器不能拆出机柜检查...... 最后只有进入系统,安装服务器检测专用软件,这可以把有的硬件的信息报出!!但是不显示出出错的硬件!! 以多年的服务器维修维护工作经验,逐条逐项的查看硬件配置信息..... 第一遍....过去了......... 第二遍....过去了......... 第三遍....过不去了......... 终于看到了......一组数字的不同 终于知道了问题所在..... 拆掉一组相关的冗余选件,重启服务器....报警灯不亮了...系统起来了 ....任何问题都没有了 工作总结: 仔细观察,冗余选件就是因为数量的不相符,造成同批次服务器报的相同的错误... 方法一:去除冗余选件,问题解决. 方法二:补齐相关冗余选件,问题也可以解决(需停止相关应用服务器). 至此服务器维修维护抢修任务圆满解决 后语: 客户急了乱投医...... 非专业(什么修主板,修电器的,会点电焊.就瞎蒙骗客户,纯粹骗钱,上来就是电容烧了 什么的). 建议客户直接找北京专业服务器维修维护抢修, 先判断问题,修不好不收钱(关键不让你瞎花钱)!!! 转载于:https://blog.51cto.com/serverservice/292026

Quartz使用

简单的任务管理类 import java.text.ParseException; import org.quartz.CronTrigger; import org.quartz.Job; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.impl.StdSchedulerFactory; /** *//** * @Title:Quartz管理类 * * @Description: * * @Copyright: * @author zz 2008-10-8 14:19:01 * @version 1.00.000 * */ public class QuartzManager { private static SchedulerFactory sf = new StdSchedulerFactory(); private static String JOB_GROUP_NAME = "group1"; private static String TRIGGER_GROUP_NAME = "trigger1"; /** *//** * 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名 * @param jobName 任务名

获取数据库表中所有字段名称

最近在用pymssql读sqlserver库里面的数据,数据库是从一堆原始数据整理以后入库的,刚开始别人给了个字段名称,看了以后发现似乎原始数据中的某些项目没有入库,刚好没找到具体负责的人。于是想知道是否能查询获取表中所有的字段名称。查了一下,原来很简单。 #! /usr/bin/env python #coding=utf-8 import pymssql as sqlite1 # 连接数据库 try: cx = sqlite1.connect(host='172.1.1.1',user='uu',password='pp',database='einfo') print "connect ok" except Exception, e: print e print "erro" sys.exit() # 获取cursor对象来进行操作 cu = cx.cursor() sql = "select * from tabTimeData where StationNum=57083 and ObservTimes>2010031908" print sql cu.execute(sql) for i in cu.description: print i cu.close() cx.close() 上述针对sqlserver,其他的数据库应该也可以。

VC|MFC学习笔记(一)

最近学习了MFC,下面是我对学习的一些整理。 1.Windows的原理和特点 (1):标准的图形界面,窗口,菜单,按钮,文本框等。 (2):与硬件无关性,比如应用程序QQ,在联想电脑上,可以运行,也可以在东芝上运行。 (3):由消息驱动,再以QQ为例,它是接收系统发送消息来处理,我们的响应的。 2.事件和消息的概念 在Windows系统中,系统产生的动作和我们对应用程序发生操作的动作都称为 事件(Events),消息(Message,msg),是用来描述 事件 的信息。事件是因,消息是果。比如我按键盘 上的 空格键,系统就会产生一条特定的消息,而此 又标志着 键盘 事件的发生。 在VC++编程中,系统规定 每一种消息用一种特定的值表示 例 WM_QUIT 表示 退出应用程序的消息 WM 就是Windows Message的缩写 消息分为三类: 1.标准的Windosw消息(WM_XXXXX, 但WM_COMMAND例外) 2.控件消息(WM_COMMAND) 3.命令消息 消息用结构体来表示,如下 typedef struct tagMSG { HWND hwnd; //获取消息的窗口句柄,以便知道该消息是哪个窗口的 UINT message; //消息编号 WPARAM wParam; //记录消息的附加信息的字参数 LPARAM lParam; //记录消息的附加信息的长字参数 DWORD time; //消息发送到消息队列时的时间 POINT pt; //消息发送时的光标所在的位置 }MSG;

如何将新浪博客备份(使用beautiful soap)

感觉javaeye还不错,很喜欢他能制作电子书的功能。以前在新浪写过一阵博客,不过是技术无关的东西,就想转到这里来,找了找,有些程序,发现也有python的,那么自己肯定也能写点代码导出来。 本来用的正则,这两天调试了几次,发现可以了。中间试验了下,发现新浪的博客有两种,一种是旧版的,一种可能是升级过的,所以改了改,改成可以导出新版的博客。另外大家建议用beautiful soap来弄,就改成用soap来弄的了。 最后试验的时候抓取的是新浪里面的徐静蕾的博客,所有的博客都保存了起来。 下面给出代码,示例当然以老徐的博客为例。 第一步找到博客的uid #! /usr/bin/env python #coding=utf-8 import urllib2 import sqlite3 as sqlite import time import re from BeautifulSoup import BeautifulSoup #socket.setdefaulttimeout(30) blog="http://blog.sina.com.cn/xujinglei" req = urllib2.Request(blog) f = urllib2.urlopen(req) #print f.msg #blog1=f.read() soup1 = BeautifulSoup(f) uid=soup1.find("link",{"id":"uid_link_css"}) raw_input("Press ENTER to exit") print uid print uid print len(uid) a=str(uid) uida=re.findall(re.compile(r'(\d+).css'),a) len(uida) print uida print uida[0] 后续文章的链接都与这个id有关 下面就是生成页面的链接,现在新版的博客都是js的分页按钮,弄个httpfox直接可以看到链接,链接生成的样式如下。 def urlexit1(a): urllist={} for i in range(1,77): url="http://blog.sina.com.cn/s/article_sort_"+str(a)+"_10001_"+str(i)+".html" #print url urllist[i]=url return urllist aa=urlexit1(uida[0]) 因为我还没有仔细看分页的函数在那里,所以就简单的数下,看看他的主页上分了多少个分页,她的是76,这里填上77就可以了。

[DnD]Swing Drag And Drop 分析笔记

DnD(Drag And Drop)对于程序的用户友好度至关重要 常见的, 把一个文件直接拖入程序里, 把item从一个list拖到另一个list 最几天在学习Swing的DnD机制, 被搞得一塌糊涂, 晕头转向的忙活了好几个晚上, 终于理出一点头绪来: 总体来说, DnD 包括这几个类: DragSource, DragGestureRecognizer, DragGestureListener, DragSourceAdapter, DropTargetAdapter, TransferHandler, Transferable, DataFlavor DragSoure: 环境变量, 生成DragGestureRecognizer DragGestureRecognizer: 环境变量, 绑定DragGestureListener给指定的Jcomponent DragGestureListener: 拖拽事件开始的源头 DragSourceAdapter: JComponent Source Listener: dragEnter, dragOver, dragExit, dragDropEnd DropTargetAdapter: JComponent Target Listener: dropEnter,, drapOver, dragExit, drop TransferHandler: drag & drop event handler, 从官方的源代码设计来看, DragSourceAdapter, DropTargetAdapter都包含在里面, 类似代理器的设计模式 Transferable: DnD事件的统一数据接口 DataFlavor:DnD事件的统一数据 先以简单的例子来演示DnD的机制 一 Drag 1.给 JTextField 添加DnD: JTextField txt1=new JTextField(); txt1.setDragEnabled(true); 虽然只需以上2行代码即可, 但其实Swing在背后给我们做了很多事情 首先, jframe生成的时候, DataSourse和DragGestureRecognizer已经生成, 并给所有textfield, textarea之类的控件添加了DnD事件, 其中所有的jtextfield控件都绑定给 [b]"

开机显示windows/system32/config/system损坏解决办法

开机显示windows/system32/config/system损坏解决办法 启动故障恢复控制台、创建临时文件夹、将现有注册表文件备份到新位置、删除现有位置的注册表文件,然后将注册表文件从修复文件夹复制到 System32/Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动 Windows XP 具体步骤 将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM 驱动器,然后重新启动计算机。 按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。 出现“欢迎使用安装程序”屏幕时,按 R 键启动故障恢复控制台。 如果您使用的是双启动或多启动计算机,请从故障恢复控制台中选择要访问的安装。 按照提示,键入管理员密码。如果管理员密码为空,则只需按 Enter 键。 在故障恢复控制台命令提示符处,键入下列几行命令,并在每行之后按 Enter 键: md tmp copy c:/windows/system32/config/system c:/windows/tmp/system.bak copy c:/windows/system32/config/software c:/windows/tmp/software.bak copy c:/windows/system32/config/sam c:/windows/tmp/sam.bak copy c:/windows/system32/config/security c:/windows/tmp/security.bak copy c:/windows/system32/config/default c:/windows/tmp/default.bak delete c:/windows/system32/config/system delete c:/windows/system32/config/software delete c:/windows/system32/config/sam delete c:/windows/system32/config/security delete c:/windows/system32/config/default copy c:/windows/repair/system c:/windows/system32/config/system copy c:/windows/repair/software c:/windows/system32/config/software copy c:/windows/repair/sam c:/windows/system32/config/sam copy c:/windows/repair/security c:/windows/system32/config/security copy c:/windows/repair/default c:/windows/system32/config/default

主板故障的四种基本解决办法

主板是整个计算机系统中非常重要的部件,它可以说成是一台计算机的基础躯干,CPU、内存、显卡等其他配件都要安插在主板上以后才能进行正常的工作。另外,CPU及总线控制逻辑、BIOS芯片读写控制、系统时钟发生器与时序控制电路、DMA传输与中断控制、内存及其读写控制、键盘控制逻辑、I/O总线插槽及某些外设控制逻辑也都集成在主板上。因此,主板发生故障的话将会严重的影响到整个PC机系统的正常工作。一般由计算机主板引起的常见故障表现为:开机加电显示器呈黑屏状态,扬声器无声响,键盘被封锁,硬盘驱动器不能引导等。 下面,将主板的维护和维修方法分为几点向大家介绍一下。 一、清洁法 用毛刷轻轻刷去主板上的灰尘,另外,主板上一些插卡、芯片都采用了插脚形式,经常会因为引脚氧化而造成接触不良。对于这样的情况,我们可以用橡皮擦去表面氧化层,然后再重新插接即可。 二、观察法 仔细的查看出现问题的主板,看看每个插头、插座是否倾斜,电阻、电容的引脚是否相互虚连、芯片的表面是否烧焦或者开裂,主板上的锡箔是否有烧断的痕迹出现。另外我们还要查看的就是,有没有异物掉进主板的元器件之间。遇到有疑问的地方,可以借助万用表量一下。 三、拔插交换法 主机系统产生故障的原因很多,例如主板自身故障或I/O总线上的各种插卡的故障均可能导致系统的运行不正常。采用拔插检查的方式是确定故障在主板或I/O设备的简捷方法。简单点说也就是在关机的情况下将插卡逐块拔出,每拔出一块插卡后就开机观察一下机器运行状态,如果在拔出某块插卡后计算机运行正常了,那故障原因就是该插卡有故障或相应的I/O总线插槽及负载电路有问题。若拔出所有插卡后计算机启动仍不正常,则故障很有可能就出在主板上。采用拔插交换法实质上就是将同型号插件板,总线方式一致、功能相同的插卡或同型号芯片相互交换,根据故障的变化情况判断故障所在。此法多用于易拔插的维修环境,例如内存在自检的时候出错,就可以交换相同的内存芯片或内存条来确定故障原因。 四、电阻、电压测量法 为防止出现意外,我们还应该测量一下主板上的电源+5V与地(GND)之间的电阻值。最简捷的方法就是测量芯片的电源引脚与地之间的电阻。在没有插入电源插头时,该电阻一般为300Ω,最低的也不应该低于100Ω。然后我们再测一下反向电阻值,可能略有差异,但相差不可以过大。如果正反向阻值都很小或接近导通,就说明主板上有短路现象发生,应该检查短路的原因。 一般,产生这类现象的原因有以下几种 : 1.主板上有被击穿的芯片。一般说此类故障较难排除。例如TTL芯片(LS系列)的+5V连在一起,可吸去+5V引脚上的焊锡,使其悬浮,逐个测量,从而找出有故障的芯片。如果不采用吸掉焊锡而直接使用割线的方法,有可能会影响到主板的寿命。 2.主板上有损坏的电阻电容。 3.主板上存有导电杂物。 当排除短路故障后,插上所有的I/O卡,测量+5V,+12V与地是否短路。特别是+12V与周围信号是否相碰。如果手头上正好有一块同样型号的主板时,也可以用测量电阻值的方法测板上的疑点,通过对比,可以很快的发现芯片故障所在。 如果在上述步骤还没有见效时,可以将插上电源加电测量。一般测电源的+5V和+12V。当发现某一电压值偏离标准太远时,可以通过分隔法或割断某些引线或拔下某些芯片再测电压。当割断某条引线或拔下某块芯片时,若电压变为正常,则这条引线引出的元器件或拔下来的芯片就是故障所在。 转载于:https://blog.51cto.com/sansanshuis/277703

开源的游戏引擎irrlicht中不使用比较、条件、三元运算求最值与中值的代码

看过论坛里很多人问这个问题,呵呵,其实在开源的游戏引擎irrlicht的1.6版本里有相当好的解决解决方案。 所在文件名为irrMath.h typedef __int32 s32; 1、最小值 inline s32 s32_min(s32 a, s32 b) { const s32 mask = (a - b) >> 31; // 取得a-b的符号位 return (a & mask) | (b & ~mask); // 利用位运算取得返回值 } 2、最大值 inline s32 s32_max(s32 a, s32 b) { const s32 mask = (a - b) >> 31; return (b & mask) | (a & ~mask); } 3、中值 inline s32 s32_clamp (s32 value, s32 low, s32 high)

数字万用表各指标含义:准确度(精度)分辨力(分辨率)测量范围--转

3又1/2描述数字万用表的什么指标啊?表示什么含义? 所说的3又1/2数字万用表能显示0000-1999 第一位数只能显示1或0 , 3代表个位、十位、百位可以显示0-9的数字,1/2代表千位只能显示0和1。 读作“三位半”。这类袖珍数字万用表有DT830A、DT830C、DT890D等。 数字万用表的显示位数通常为 3 1/2 位~8 1/2 位。判定数字仪表的显示位数有两条原则:其一是,能显示从0-9中所有数字的位数是整位数;其二是,分数位的数值是以最大显示值中最高位数字为分子,用满 量程时计数值为2000 ,这表明该仪表有3个整数位,而分数位的分子是1,分母是2 ,故称之为3 1/2 位,读作“三位半”,其最高位只能显示 0 或1(0 通常不显示)。3 2/3 位(读作“三又三分之二位”)数字万用表的最高位只能显示0~2的数字,故最大显示值为±2999 。在同样情况下,它要比3 1/2 位的数字万用表的量限高50%,尤其在测量380V 的交流电压是很有价值。 例如,在用数字万用表测量电网电压时,普通3 1/2 位数字万用表的最高位只能是0或1,若要测量220V 或 380V 电网电压,只能用三位显示,该档的分辨率仅为 1V 。相比之下,用 3 3/4 位的数字万用表来测量电网电压,最高位可以显示 0~3 ,这样可以四位显示,分辨率为 0.1V ,这与 4 1/2 位的数字万用表分辨力相同。 普及型数字万用表一般属于3 1/2 位显示的手持式万用表,4 1/2 ,5 1/2位(6位以下)数字万用表分为手持式、台式两种。6 1/2 位以上大多属于台式数字万用表。 数字万用表采用先进的数显技术,显示清晰直观、读书准确。它既能保证了读数的客观性,又符合人们的读数习惯,能够缩短读数或记录时间。这些优点是传统的模拟式(即指针式)万用表所不具备的。 准确度(精度) 数字万用表的准确度是测量结果中系统误差与随机误差的综合。它表示测量值与真值的一致程度,也反映测量误差的大小。一般讲准确度愈高,测量误差就愈小,反之亦然。 准确度有三种表达方式,分别如下: 准确度=±(a % RDG + b% FS ) ( 2.2.1 ) 准确度=±(a % RDG +n个字) ( 2.

人脸数据库

在国际上已有的一些人脸数据库: Yale人脸库(美国): 耶鲁大学,15人,每人11张照片,主要包括光照条件的变化,表情的变化等。 ORL人脸库(英国): 剑桥大学,40人,每人10张照片,包括表情变化,微小姿态变化,20%以内的尺度变化。 FERET人脸库(美国): 为 了促进人脸识别算法的研究和实用化,美国国防部的Counterdrug Technology Transfer Program(CTTP)发起了一个人脸识别技术(Face Recognition Technology 简称FERET)工程,它包括了一个通用人脸库以及通用测试标准。同一人的包括不同表情,光照,姿态和年龄的照片,到1997年,它已经包括了1000多 人的10000多张照片,并不断得到扩充,FERET定期对不同识别算法进行测试。 CMU PIE人脸库(美国): 卡 耐基梅隆大学,所谓PIE就是姿态(POSE),光照(ILLUMINATION)和表情(EXPRESSION)的缩写,CMU PIE人脸库建立于2000年11月,它包括来自68个人的40000张照片,其中包括了每个人的13种姿态条件,43种光照条件和4种表情下的照片,现 有的多姿态人脸识别的文献基本上都是在CMU PIE人脸库上测试的。 UMIST人脸库(英国): 曼彻斯特大学,20人,总共564张照片,姿态变化。 Bern人脸库(徳国): Bern 大学,30人,每人10张灰度图像,主要包括人脸不同姿态的变化。 AR人脸库(美国): Purdue 大学,126人的彩色照片,光照,尺度和表情变化. 另附主要的链接给大家分享(pahaha!!): Database Overview Surveys 1、Humaine - a collection of emotional databases: http://emotion-research.net/wiki/Databases 2、AR Face Database (AR): http://rvl1.ecn.purdue.edu/~aleix/aleix_face_DB.html 3、BioID Face Database (BioID): http://www.humanscan.de/support/downloads/facedb.php 4、Brodatz Texture Database (Brodatz): 5、Butterfly Database (BDB): http://www-cvr.ai.uiuc.edu/ponce_grp/data 6、CMU Frontal Face Database (CMUFF): http://vasc.ri.cmu.edu//idb/html/face/frontal_images/index.html 7、CMU PIE Database (CMUPIE): http://www.

用IE访问TD时,如何应对控件安装不上的情况

在服务端安装完TD后,有的客户端IE在访问时,会出现控件安装不上的情况(目前发现只有一个IE8有此问题),解决方法如下: 1. 清除IE的缓存; 2. 删除客户端机器中的C:/Program Files/Common Files/Mercury Interactive/TD2000_80 目录; 3. 在IE8中,设置IE属性 工具->Internet选项->高级启用内存保存减少内存攻击选项 取消选中。 重新登录IE后,重新访问TD,此时,会重新下载控件。应该就可以成功下载了。 如果仍然不行,需要再查询具体某个控件无法下载的原因。 --肖楠(Selena) 

压力测试中遇到的问题和流程回顾

先记录一下在进行华安基金压力测试的过程中遇到的几个问题。 1、 问题:多次录制登录脚本(vuser_init)的时候报错,所以直接略过init录制action了,脚本录制完成以后,回放脚本成功。但是在进行压测的时候接口一直没有压力,也就是没有调接口数据。 解决办法:考虑是因为没有录制init脚本的原因,找了另外一台机器,重新录制了init脚本,复制粘贴过来,再次执行的时候问题就解决了。 Ps:这个错误可能比较低级,呵呵。 2、 在录制脚本的过程中如果遇到多个动作的连续执行,为了方便给每个动作命名,可以在录制脚本之前建立多个action,例如jingzhiquery,jijinquery…在录制的时候把每个动作分别录制到对应的action之中,那么就可以更清晰地在对应action之中命名各动作了。 3、 问题:压力测试结果分析报告中某个事务的响应时间长 如果排除系统性能的问题,还有就是执行压力测试的时间过短,因为运行的结果得到的大部分是平均值,因此测的时间越长这个数据便越精确,如果运行的时间太短,就会导致没有取到平均值,可能只是某个执行过程的时间。 下面是做了中融系统的一个简单的呼入电话查询的压力测试,熟悉了一下压力测试的流程,希望各位MM给我指导哦。 一、制定压力测试计划 制定测试方案:呼入电话查询方案 设置场景: 测试序号 1 脚本名称 呼入电话查询 方案概述 查询呼入电话记录 脚本描述 操作步骤 操作 1. 用户登录系统 2. 进入呼入电话页面 3. 用户输入查询条件 4. 进行呼入电话查询 参数配置 数据库连接数:50 测试记录数据 每分钟执行操作数 出现错误时需要记录:出错时间、所执行的操作 测试时间30分钟,座席数50 二、录制脚本 启动LoadRunner中的Virtual User Generator,开始录制呼入电话查询的脚本。 在录制脚本的时候有几点需要注意: 1、 登录的脚本会录在init里,呼入电话查询的动作要录在action里; 2、 脚本录制完成后,为了将压力测试的时间都放在事务上,去掉lr_think_time; 3、 在脚本中找到要执行压测的呼入电话查询的动作,重新命名,例如“callin-query”;然后对该动作插入事务(lr_start_transaction;lr_end_transaction); 4、如果想要对该查询动作并发执行,可以插入集合点(lr_rendezvous); 5、回放脚本,如果成功,说明脚本录制没有问题。 三、执行脚本 根据客户对系统的需求进行压力测试,例如客户有30个坐席,需要满足30个坐席同时在线进行查询,那么我们就可以模拟50个用户同时在线查询的场景,然后进行参数设置: 首先在ramp标签页下设置每15秒增加5个用户;最终达到50个用户同时在线 在duration标签页下设置持续30分钟; 在ramp down标签页下设置每15秒减少5个用户,或者load all Vusers simultaneously; 四、结果分析 主要是各事务的响应时间,另外还可以监控应用服务器和数据库。 ——春丽 

关于loadrunner安装中的几个问题的解决

我在安装的过程中,总是会报我安装源文件的一个错误:“The link file D:/All工具/... may be corrupted or has illegal link string”,哈,原因好简单,以至于我都不太好意思说了。就是在安装loadrunner的时候,不管是源文件,还是目标文件夹,路径中都不能存在中文! 另外呢,还有一个安装8.0的时候有时候会提示注册码不能使用的错误。因此呢,在安装8.0过程中是不能修改他那个默认的注册码的,直到安装结束后,将那两个dll文件覆盖后,才可以使用sn.txt中的注册码注册! 这是最近安装loadrunner过程中的两大收获。收藏之。。。。 小郑

VC中对按钮控件的修改[转载]

VC中对按钮控件的修改 在VC6.0环境下,通过向导设置建立基于MFC AppWizard[exe] 名称为MyClassBTNdemo的project (图1),基于Dialog(图2)。项目建立好了以后,左侧的导航栏点击FILEVIEW,展开的列表文件(图3),通过文件File->new添加ClassBTN.cpp和ClassBTN.h文件。我们的主要工作都是在这两个文件夹中设置的。 1、在 ClassBTN.h文件中添加代码: #if !defined(AFX_CLASSBTN_H__44CD5B2A_756E_4939_9261_E0034E0F2DEF__INCLUDED_) #define AFX_CLASSBTN_H__44CD5B2A_756E_4939_9261_E0034E0F2DEF__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // ClassBTN.h : header file // / // CClassBTN window class CClassBTN : public CButton { // Construction public: CClassBTN(); // Attributes protected: //按钮的外边框 CPen m_BoundryPen; //鼠标指针置于按钮之上时按钮的内边框 CPen m_InsideBoundryPenLeft; CPen m_InsideBoundryPenRight; CPen m_InsideBoundryPenTop; CPen m_InsideBoundryPenBottom; //按钮获得焦点时按钮的内边框 CPen m_InsideBoundryPenLeftSel; CPen m_InsideBoundryPenRightSel; CPen m_InsideBoundryPenTopSel; CPen m_InsideBoundryPenBottomSel; //按钮的底色,包括有效和无效两种状态 CBrush m_FillActive;

wince usb驱动代码详解

随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。但是对于很多初学者来说,存在以下三个困难: 一是对WinCE的驱动程序结构了解得太少,没办法得心应手的专注于驱动程序的开发工作; 二是对WinCE自带的USB驱动程序的例子没有弄懂,看到一大堆文件夹结构和源程序思维混乱; 三是几乎没有什么中文的参考资料,不知如何下手。 第三条是很多开发人员都遇到的,我也一样,很多朋友问我有没有什么资料,我也只能说抱歉,因为我也同样有这个问题,一切都靠自己的黑暗中摸索,因此本文不谈第三条。 第一条是可以找到资料的,如《Windows CE .NET系统分析及实验教程》,因此本文也不打算在此花费大量笔墨。 这样,本文的着重点就在第二条上面了,通过本文,我希望能让更多的朋友理解Windows CE下对USB设备的驱动模型及样例程序中的实现过程,以样例代码为基础理顺USB设备驱动程序的开发思路。同样,本文的读者对象预期是入门者和准备着手USB驱动开发的人员,驱动开发高手自然就当一笑吧。同时写本文的目的也是履行我半年前答应很多朋友的诺言,并向我的慵懒致歉。 好了,在看样例程序之前,我们还有些东西需要了解,我们就先来看下图: 在此图中,我们可以非常清晰的看到主机和物理外设之间的结构方式,在主机端,通过USBD模块和HCD模块使用默认的PIPE访问一个通用的逻辑设备,实际上就是说USBD和HCD是一组抽象出来的访问所有USB设备的逻辑接口,它们负责管理所有USB设备的连接、加载、移除、数据传输和通用的配置。其中HCD是主机控制驱动,是为USBD提供底层的功能访问服务,USBD是USB总线驱动,位于HCD的上层,利用HCD的服务提供较高层次抽象的功能。 由于HCD和USBD都是面向的一致的逻辑设备接口,那么对于各种各样的物理设备,就需要有唯一对应的设备驱动程序,这就是上图中最上层的特殊的PIPE所连接的物理设备和USB设备驱动程序。 有了对这个结构的认识,我们可以明确的是我们要写的就是最上端的USB设备驱动程序,在WINCE的样例程序中也称为USB Client Driver,它是工作于USBD之上,所以实际上我们的工作就变成了利用USBD提供的接口针对特定的物理设备来完成USB设备驱动程序,而暂时与其他的部分无关。 好了,先到这,接下来就准备看一些具体的东西吧! 接下来,我们就来分析一下CE中的样例程序,我用的是4.2版本的,所以下面的内容是4.2版本中的程序。这里的程序是通过文件夹的形式组织在一起的,所以我们还是像以前学习CE的时候那样,先来了解与此相关的文件夹结构,如下图。 在USB文件夹下,分成了CLASS,CLIENTS,COMMON,HCD,INC,USBD几个文件夹,其中INC和COMMON里面有一个lock.c的程序,这个程序很明显是将要被其他USB有关的驱动程序所使用的一个锁,代码很简单,只是一个类似临界区的封装体,可以保护多线程对同一内存区域的读写访问,可以先不去管它。CLIENTS文件夹可能最初微软的开发人员是用来放置设备驱动程序的,但是后来没有放,而发布的时候也没有删除,所以遗留了下来,里面是个空的文件夹,所以没用实际用处。USBD和HCD是前述的底层驱动,里面含有很多子文件夹和程序,由于我们只针对USB设备驱动,因此对这两部分不做分析,不兴趣的朋友可以自己去了解。 重点就在CLASS文件夹了,展开来看,里面又包含了COMMON、HID、PRINTER、STORAGE几个文件夹,同样,COMMON里面存放的源程序是为HID、PRINTER、STORAGE所共有的。HID是USB输入设备如键盘/鼠标的样例驱动程序,PRINTER是USB打印机的样例驱动程序,STORAGE是USB存储设备如U盘的样例程序。 我们此次以USB存储设备为例,所以再来展开STORAGE文件夹,其中的INC文件夹里面是头文件,CLASS是USB存储设备的驱动程序,DISK是磁盘驱动程序。这里为什么有两个驱动程序呢,我来简要解释一下。 驱动程序工作在硬件与操作系统之间,它有两个功能,一个是 将操作系统转发来的操作以符合指定硬件设备的形式控制硬件设备,另一个是向操作系统提供这个访问接口。比如说U盘,一方面驱动程序要把操作系统对U盘的识别、读、写等操作转换成U盘的动作,另一方面又告诉操作系统这是个U盘,可以当成一个文件夹或文件系统来用,能够接受标准的文件操作命令。所以此处存在两个驱动。 另外还有一个文件夹,WINCE420/PUBLIC/COMMON/DDK/INC,这里面是与设备驱动有关的头文件,对于USB设备,相关的文件有USB100.H, USBTYPES.H, USBDI.H,这里面前两个里面关于USB的定义是完全符合USB规范的,不是随便定义出来的,而USBDI.H文件里的内容就是USBD总线驱动程序向USB设备驱动程序提供的接口描述,在开发USB设备驱动时必须要包含此头文件,这样才可以得到USBD接口的原型。 此前,我们共同了解了USB驱动在CE中的位置结构,也了解了样例驱动程序的文件夹结构,接下来,我们就要了解一下USBD为我们提供了哪些接口来实现设备访问以及驱动程序管理的功能。找到USBDI.H,不要告诉我你找不到吧,不管你用什么编辑器,记事本也好,PB也好,VC/EVC或者VS都行,打开它,我们一起来了解一下USBD为我们提供了什么。 我们首先看到的一个大的结构体就是_USB_DRIVER_SETTINGS,注意这个结构体不是USB规范中的USB设备描述,而是为了CE设备管理器加载USB设备驱动程序方便而建立的。该结构体中对供应商描述、设备描述和Interface的描述是用来匹配注册表中对USB设备驱动的注册表键,当设备管理器发现你设备的这些值与注册表中的这些值相符时,就会加载你的驱动。也就是说它是与你的设备唯一对应的东西,是一种标识。该结构体的供应商部分的描述需要根据你的设备的供应商信息来填,设备描述的设备类、子类、协议等可以在USB规范中找到,在USB100.H头文件中也有一部分,在后面的样例程序中也定义了一部分。 在接下来有三个函数是必须由USB设备驱动程序实现的,这也就是我们在MSDN里或其他CE的文档里所看到的,这几个函数就是: USBDeviceAttach:设备加载的时候由系统调用 USBInstallDriver:设备第一次加载的时候由系统调用,用来安装注册表配置以便搜索设备 USBUnInstallDriver:设备移除后清理由上一个函数写入的注册表配置 这样在我们的驱动程序中就一定要按照这三个函数的原型来实现,否则就不能为设备管理器所识别。其实除了这三个,个我觉得第四个也是必须的,这就是一个函数指针所指向的函数: *LPDEVICE_NOTIFY_ROUTINE 这个指针所指向的函数是用来接收通知消息的,既然微软说任何USB设备必须实现USB_CLOSE_DEVICE消息的响应,那么这个指针所指向的函数自然也就是必须要实现的了。 继续向下看,是一组函数的原型,这些函数就是USBD向设备驱动程序提供的服务接口,有些函数是可以任意调用的,用来完成版本信息读取、注册表操作和设备驱动程序注册,这些函数有: GetUSBDVersion RegisterClientDriverID UnRegisterClientDriverID RegisterClientSettings UnRegisterClientSettings OpenClientRegistryKey 还有大量的函数是必须通过指针调用的,通常只允许在驱动程序中调用,为了方例使用,在这里给出一个_USB_FUNCS的结构体,每一个结构体成员对应了一个函数指针,这样在驱动程序中要想使用USBD函数只能通过一个结构体变量来进行了,在这里我们要记住这个结构体的名字,并且微软还对这个结构体变量进行了以下的类型定义: typedef struct _USB_FUNCS USB_FUNCS, * PUSB_FUNCS, * LPUSB_FUNCS; typedef struct _USB_FUNCS const * PCUSB_FUNCS; typedef struct _USB_FUNCS const * LPCUSB_FUNCS; 好了,到此我们发现,大部分的USB工作都已经被USBD完成了,我们为了实现自己的设备驱动,只需要利用这些指针或函数,来实现四个我们自己的函数,然后在其中匹配上我们自己的设备就可以了。是不是忒简单,没错,总不能刚开始就把自己吓得不行,那样后面可就没法做了。 在上次了解了所有USBD接口函数以后,我们已经有了很多基础知识了,回顾USB样例的文件夹结构,我们还能记得USB/CLASS/COMMON这个文件夹下是存放所公共部分的源程序,它是微软专门抽象出来的能为大多数USB设备驱动程序服务的一些结构体以及函数的封装,我们这次再来概略的了解一下这里面的源程序。 这里面包含了三个程序,分别是: remlock usbclient utils 下面我们分别来了解一下这三个程序的功能和接口,很显然,USB设备驱动程序肯定是会用到这其中的一部分函数的,因此我们不一定需要读懂这其中的每一行,但至少要对这些函数有个印象,不至于在读驱动程序时不知道函数的来源。

OSPF 笔记

区域类型对应的LSA: backbone 1 2 3 4 5 no-backbone,no-stub 1 2 3 4 5 stub 1 2 3 and A Default Route totally stubby 1 2 and A Default Route not-so-stubby 1 2 3 7 nssa no-summary 1 2 7 and A Default Route 调整区域类型: backbone no-backbone,no-stub stub R1(config-router)#area 1 stub totally stubby R1(config-router)#area 1 stub no-summary not-so-stubby R1(config-router)#area 1 nssa nssa no-summary R1(config-router)#area 1 nssa no-summary 查看对应的LSA: 1 R1#show ip ospf database router (该区域内的每个路由器产生) 2 R1#show ip ospf database network (该区域内DR产生) 3 R1#show ip ospf database summary (ABR产生) 4 R1#show ip ospf database asbr-summary (ABR产生,描述到ASBR距离) 5 R1#show ip ospf database external (ASBR产生,描述到AS外的路由) 7 R1#show ip ospf database nssa (ASBR产生,仅在NSSA传递,ABR转换成5内到其他区域) 类型1的LSA : link-id= router-id 类型2的LSA : link-id=DR的接口IP 类型3的LSA : link-id=目的网络号 类型4的LSA : link-id= ASBR router-id 类型5的LSA : link-id= 外部网络号 类型7的LSA : link-id= 外部网络号 5类 External LSA 在LSA5类中的Forward Address: The value of the forwarding address specified by the autonomous system boundary router (ASBR) (Router 1 in the previous figure) can be either 0.

计算机核心期刊新排名(转)

计算机核心期刊新排名(1)分类:计算机期刊 部分核心期刊名单(自动化、计算机部分与无线电、电信部分) 自动化、计算机部分 1 计算机学报 北京 中国计算机学会等 2 软件学报 北京 中国科学院软件研究所 3 计算机研究与发展 北京 中国科学院计算技术研究所等 4 自动化学报 北京 中国科学院等 5 计算机科学 重庆 国家科技部西南信息中心 6 控制理论与应用 广州 中国科学院系统科学研究所等 7 计算机辅助设计与图形学学报 北京 中国计算机学会等 8 计算机工程与应用 北京 华北计算技术研究所 9 模式识别与人工智能 北京 中国自动化学会等 10 控制与决策 沈阳 东北大学 11 小型微型计算机系统 沈阳 中国科学院沈阳计算机技术研究所 12 计算机工程 上海 上海市计算机协会 13 计算机应用 北京 中国科学院计算机应用研究所等 14 信息与控制 沈阳 中国科学院沈阳自动化研究所 15 机器人 沈阳 中国科学院沈阳自动化研究所 16 中国图象图形学报 A版 北京 中国图象图形学会 17 计算机应用研究 成都 四川省计算机应用研究中心 18 系统仿真学报 北京 航天机电集团北京长峰计算机技术有限公司 19 计算机集成制造系统—CIMS 北京 国家863计划CIMS主题办公室等 20 遥感学报 .

C++复合表达式

C++标准关于运算符的求值顺序 只定义了几个运算符的 其他的编译器实现 例子: (环境:VS 2008) #include "stdafx.h" using std::cout; int _tmain(int argc, _TCHAR* argv[]) { int a=0; cout<<a++<<"/n"<<a++<<"/n"; /* 1 0 */ a=0; cout<<a++<<"/n"<<++a<<"/n"; /* 1 2 */ a=0; cout<<++a<<"/n"<<a++<<"/n"; /* 2 0 */ a=0; cout<<++a<<"/n"<<++a<<"/n"; /* 2 2 */ return 0; }

CreateDC的使用事宜

图形设备接口(GDI,Graphics Device Interface)的主要目标之一是支持在输出设备(如视频显示器、打印机和绘图仪)上的与设备无关的图形。 GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无问题地在Windows支持的任何图形输出设备上运行。 Windows中的图形基本上是由从GDI.EXE模块中输出的函数处理的(尽管一些绘制函数实际上具有USER.EXE的入口点),GDI.EXE模块调用在不同驱动程序文件中的例程,其中有一个.DRV驱动程序文件用于控制显示屏幕,并且可能有一个或多个其他的.DRV驱动程序文件用来控制打印机或绘图仪。 Windows GDI使用两种坐标系统。使用虚拟坐标系统可以使程序不依赖于具体的硬件,使用设备坐标系统可以使程序和硬件紧密相联。 GDI含有在Windows应用程序内部执行、且与设备无关的图形操作函数,这些函数可产生各种各样的线、正文和位图,它们可以输出到许多不同的输出设备上。GDI允许一个应用程序产生笔、刷子、字体和位图,以供特定的输出操作使用。下面列出GDI中几组比较常用的函数: ·设备上下文函数 ·椭圆和多边形函数 ·绘图工具函数 ·位图函数 ·绘图属性函数 ·正文函救 ·映射函数。 ·坐标函数 ·元文件(metafile)函数 ·区域函数 ·裁剪(clipping)函数· 窗口应用程序输出图形的操作步骤如下: ①取得指定窗口的当前显示设备上下丈,显示设备上下文实际上是一个数据结构,它包括该窗口的参数及各种图形、文字属性的现行设定值,它们对以后的图形、文字输 出命令起控制作用。 ②选择用户坐标系及映射方式。 ③设定用户坐标系中的观察窗口和设备坐标系中的显示视区。 ④输出图形、文字和图象。 ⑤释放所使用的显示设备上下文。 当想要在图形输出设备(例如屏幕或打印机)上绘制图形时,必须首先获得设备上下文的句柄。先给出这个句柄,Windows才允许程序使用设备,在GDI函数中将句柄作为一个参数传入,向Windows标明需要使用的设备。 设备上下文中包含许多属性,当GDI在不同的设备上工作时都要用到这些属性。使用这些属性可使GDI只关心起始和终止坐标的大小,而不必关心有关对象的其他属性,如颜色、背景等等,因为这些都是设备上下文的一部分。当需要修改这些属性时,只需调用一个修改设备上下文中属性的参数,以后的程序中都使用修改后的设备上下文属性。设备上下文是连接Windows应用程序、设备驱动程序以及输出设备的纽带。 获取设备上下文句柄有多种方法。最一般的方法是当处理一条消息时获得了设备上下文、并在退出窗口之前释放它。一般的处理方法如下: 在处理WM_PAINT消息时 case WM_PAINT: hdc=BeginPaint(hwnd,&ps) EndPaint (hwnd,&ps); 其数据结构为: HDC hWnd; PAINTSTRUCT ps; 而在windows.h中定义了PAINTSTRUCT的数据结构。 type struct tagPAINTSTRUCT { HDC hdC; BOOL fErase; RECT rcPaint; BOOL fRestore; BOOL flncUpdate; BYTE rgbReserved[16]; }PAINTSTRUCT; 其中,hdc用于标识显式上下文,fErase指出背景是否重画,rcPaint是涂色矩形,其余的域均为保留。这里的hdc是BeginPaint返回的设备上下文句柄,有了从DeginPaint获取的设备上下文句柄,就可以也只能在ps指出的rcPaint的矩形内绘图,EndPaint调用使这一区域有效。 第二种方法如下所示,使用这种方法获取和释放设备上下文可以在整个用户区内画图,图形在整个用户区域内都有效: hdC=GetDc (hwnd ); …画图操作… ReleaseDC (hwnd , hdc ); 使用下面第三种方法获取和释放设备上下文,可以在整个窗口内画图,图形在整个窗口内有效: hdC=GetWindowDc(hwnd); …画图操作… ReleaseDc(hwnd,hdc); 使用下面第四种方法获取和释放设备上下文,可以在整个显示器区域内画图,图形在整个显示器区域内部有效: hdc=CreateDC (lpszDriver ,lpszDevice ,lpszOutput , lpData); …画图操作… ReleaseDC(hdc); 其中lpszDriver指向设备驱动程序的DOS文件名(不带扩展名),lpszDevice指向专用设备名(例如Epson Fx-80),lpszOutput指向物理输出介质(文件或输出端口)的DOS文件名或设备名,lpData指向含有设备驱动程序的设备专用的初始化数据的DEVMODE数据结构。例如: hdc=CreateDC("

+CMS ERROR消息服务失败结果编码

CMS Error codes Error Code Description 8 Operator determined barring 10 Call barred 21 Short message transfer rejected 27 Destination out of service 28 Unidentified subscriber 29 Facility rejected 30 Unknown subscriber 38 Network out of order 41 Temporary failure 42 Congestion 47 Resources unavailable, unspecified 50 Requested facility not subscribed 69 Requested facility not implemented 81 Invalid short message transfer reference value 95 Invalid message, unspecified 96 Invalid mandatory information 97 Message type non-existent or not implemented 98 Message not compatible with short message protocol state 99 Information element non-existent or not implemented 111 Protocol error, unspecified 127 Interworking, unspecified 128 Telematic interworking not supported 129 Short message Type 0 not supported 130 Cannot replace short message 143 Unspecified TP-PID error 144 Data coding scheme (alphabet) not supported 145 Message class not supported 159 Unspecified TP-DCS error 160 Command cannot be actioned 161 Command unsupported 175 Unspecified TP-Command error 176 TPDU not supported 192 SC busy 193 No SC subscription 194 SC system failure 195 Invalid SME address 196 Destination SME barred 197 SM Rejected-Duplicate SM 198 TP-VPF not supported 199 TP-VP not supported 208 D0 SIM SMS storage full 209 No SMS storage capability in SIM 210 Error in MS 211 Memory Capacity Exceeded 212 SIM Application Toolkit Busy 213 SIM data download error 255 Unspecified error cause 300 ME failure 301 SMS service of ME reserved 302 Operation not allowed 303 Operation not supported 304 Invalid PDU mode parameter 305 Invalid text mode parameter 310 SIM not inserted 311 SIM PIN required 312 PH-SIM PIN required 313 SIM failure 314 SIM busy 315 SIM wrong 316 SIM PUK required 317 SIM PIN2 required 318 SIM PUK2 required 320 Memory failure 321 Invalid memory index 322 Memory full 330 SMSC address unknown 331 No network service 332 Network timeout 340 NO +CNMA ACK EXPECTED 500 Unknown error 512 User abort /

使用ctrl+shift+esc调出任务管理器

今天遇到一个问题,windows 2003 的服务器登录由于explorer.exe 死掉,远程登录后 仅仅显示一个屏幕,无法进行正常的操作。 我使用的登录命令是: %SystemRoot%\system32\mstsc.exe /console 我直接执行mstsc.exe ,出现“终端服务器超出最大允许数量”,问别人那个登录了,未知。 我想如果能够通过一个键盘调出任务管理器,执行explorer.exe就ok了,通过不断的摸索与google,终于发现可以使用ctrl+shift+esc就可以调出任务管理器,剩下的工作就简单了,在“新任务”打入explorer.exe就ok了。 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-617030/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/267265/viewspace-617030/

在DataGridView中TextBox和ComboBox混合编辑

假期帮同学做了一个信息管理系统,里面涉及到一些枚举类型的数据和文字类型的数据的混合编辑。 数据列表和编辑,我第一个想到的就是DataGridView。但是DataGridView只能实现列的编辑类型设置,不能针对一个CELL进行设置。 琢磨了很久,发现了下面的解决方法: 主要思路就是在编辑控件现实的时候,在父控件中加入一个COMBOBOX,用来进行枚举数据的编辑。把它放到最前,挡住文本框,并把文本框的值给它。当COMBOBOX的内容改变时,更新到文本框中。文本框隐藏时,删除这个COMBOBOX。 代码如下: Code 1 private void gvInfo_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 2 { 3 // 检查选中的CELL 4 if (gvInfo.SelectedCells.Count > 0) 5 { 6 // 取得选中的CELL的行索引 7 int nRowIndex = gvInfo.SelectedCells[0].RowIndex; 8 // 取得本行的数据定义 9 dataDefineItem item = myInfo.DataDefine.Items[nRowIndex]; 10 // 如果数据是枚举类型的 11 if (item.EditType == DataEditType.ENUM) 12 { 13 // 获取编辑控件 14 TextBox tb = (TextBox)e.Control; 15 // 创建枚举选择用的COMBOBOX 16 ComboBox cb = new ComboBox(); 17 // 把COMBOBOX加入到文本控件的父控件中

vc中关于recordcount记录集数目

RecordCount属性返回指示Recordset中记录数目的Long值。用RecordCount属性可查找Recordset对象中的记录数目。如果ADO无法确定记录数目或者提供者或游标类型不支持RecordCount,则该属性返回-1。读取已关闭的Recordset的RecordCount属性将产生错误。Recordset属性取决于提供者的功能和游标类型。对于仅向前游标,RecordCount属性将返回-1;对于静态或键集游标,将返回实际计数;而对于动态游标,则返回-1或实际计数,这取决于数据源。在检验数据中介绍的范例Recordset由于仅向前游标被打开将返回–1。为了使用RecordCount属性,您需要利用更先进的游标(静态或键集)打开Recordset。在某些情况下,您的提供者或游标在首先从数据源提取所有的记录之前无法提供RecordCount值。若要强制执行这种类型的记录提取,请在调用RecordCount之前调用Recordset的MoveLast方法。以上是ADO官方手册的描述对记录集计数有以下几个方法1.直接读取recordcount2.遍历3.先selectcount(*)asccfromtable1,然后再select*fromtable1第一种方法,直接读取recordcount,最简单,但是有前提,游标位置要事先指定为客户端游标,游标类型事先指定为静态游标和Keyset游标,才能够稳定的使用该属性。使用connection->execute的方法得到记录集的游标类型依赖于数据库和,connection自身的游标位置属性,有时候返回的是只读向前的游标类型,这里取得的记录集recordcount属性是-1,所以一旦要使用这种方法,请在获取记录集的时候使用recordset的open方法,并事先明确指定游标位置,和游标类类型第二种方法,遍历,遍历的方法,可以使用movenext来遍历计数,但目前很多人封装的ADO类获取记录集的方式是从connection->execute得到,得到的记录集可能是只读向前的游标,在遍历的时候是不可以使用movefirst,movelast,move等方法,只能使用movenext方法,所以要想使用所有的move方法,就必须使用明确的游标类型的记录集来open而不是从execute中得到。所以目前见到的多数ADO封装类经常在这里出现异常。大家使用的时候必须要进行相应的修改第三种方法,是兼容性比较好,不需要考虑游标类型不确定的因素。但是代码量稍多游标中只读向前的游标是最快的,性能最好的,但如果想在movenext遍历记录集之前获取记录数就必须采用第三种方法。服务端游标和客户端游标到底谁的性能快,取决于需求和系统实际的情况,以及数据库驱动对游标的支持程度。以下来自官方手册,大家可以自行体会游标位置的重要性每个游标都使用临时资源来持有其数据。这些资源可以是内存、磁盘分页文件、临时磁盘文件,甚至是数据库中的临时存储区。当这些资源位于客户端计算机上时,游标称为“客户端”游标。当这些资源位于服务器上时,游标称为“服务器端”游标。客户端游标在ADO中,通过使用adUseClientCursorLocationEnum来调用客户端游标。利用非键集的客户端游标,服务器将整个结果集通过网络发送给客户端计算机。客户端计算机提供并管理游标和结果集所需要的临时资源。客户端应用程序可以浏览整个结果集,以确定它需要哪些行。如果静态的和键集驱动的客户端游标包括的行数太多,那么,这些游标可能给工作站带来较沉重的负载。由于所有游标库都能够生成包含数千行的游标,所以,为获取大量行集而设计的应用程序有可能性能不佳。当然,也会有例外。对于某些应用程序来说,大型客户端游标可能完美好用,并且性能可能不成问题。客户端游标的一个显然的好处是快速响应能力。结果集已下载到客户端计算机之后,浏览所有行的速度会非常快。一般来说,如果使用客户端游标,应用程序的可伸缩性更好,这是因为游标对资源的需求由每个单独的客户端而不是服务器来解决。服务器端游标在ADO中,通过使用adUseServerCursorLocationEnum来调用服务器端游标。通过服务器端游标,服务器使用由服务器计算机所提供的资源来管理结果集。服务器端游标只通过网络返回所请求的数据。该类型的游标有时可以提供比客户端游标更好的性能,尤其是存在过度拥挤的网络通信问题时。但必须指出的是,对于每个活动客户端来说,服务器端游标很容易耗费宝贵的服务器资源(至少目前是这样)。因此,必须相应地进行计划,确保服务器硬件能够管理活动客户端所请求的所有服务器端游标。另外,服务器端游标速度缓慢,因为它只提供单行访问,就是说,没有批游标可用。当插入、更新或删除记录时,服务器端游标是有用的。使用服务器端游标,在同一个连接上就可以有多个活动语句。 这几天做进行数据库操作时发现直接连接打开时,数据集非空时getrecordcount返回-1,最后发现原来是默认的动态游标问题,Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。 只需要设置一下:m_conn->CursorLocation=adUseClient;随后调用就出现实际的值。

国外7个免费的网络主机服务

排名不分先后 第一个:Zymic http://www.zymic.com/free-web-hosting/ 空间:5G 月流量:50G 第二个:xtreemhost http://xtreemhost.com/ 空间:5.5G 月流量:200G 第三个:hosting-engine http://hosting-engine.tk/ 空间:150M 月流量:4G 第四个:host-ed http://www.host-ed.net/order-now.php 空间:150M 月流量:4G 第五个:freehostia http://freehostia.com/free-chocolate.html 空间:250M 月流量:6G 第六个:phpnet http://phpnet.us/index.php?option=com_content&task=view&id=16&Itemid=26 空间:350M 月流量:15G 第七个:000webhost http://www.000webhost.com/39102.html 空间:1.5G 月流量:100G

z-index在IE中的迷惑

z-index属性简介 引用: z-index : auto | number auto: 默认值。 number: 无单位的整数值,可为负数 。 z-index值较大的元素将叠加在z-index值较小的元素之上。对于未指定此属性的定位对象,z-index 值为正数的对象会在其之上,而 z-index 值为负数的对象在其之下。 注意 :这个属性不会作用于窗口控件,如 select 对象。 在IE5.5+中, iframe 对象开始支持此属性。而在之前的浏览器版本中, iframe 对象是窗口控件,会忽略此属性。 z-index属性适用于定位元素(position 属性值为 relative 或 absolute 或 fixed的对象),用来确定定位元素在垂直于显示屏方向(称为Z轴)上的层叠顺序(stack order)。 每一个定位元素都归属于一个stacking context。根元素形成root stacking context,而其他的stacking context则由定位元素产生(此定位元素的z-index被定义一个非auto的z-index值),定位子元素会以这个local stacking context为参考,用相同的规则来决定层叠顺序。并且stacking context和 containing block 之间并没有必然联系。 当stacking context一样的时候,就用z-index的值来决定怎样显示,如果z-index也相同(即stack level相同),则按照档中后来者居上的原则(back-to-front )的顺序来层叠。 当任何一个元素层叠另一个包含在不同stacking context元素时,则会以stacking context的层叠级别(stack level)来决定显示的先后情况。也就是说,在相同的stacking context下才会用z-index来决定先后,不同时则由stacking context的z-index来决定。例如: 定位元素A(z-index:100)里面有定位元素A1(z-index:300),而定位元素B和元素A兄弟关系(z-index:200)。你会发现无论A1的z-index是多大,也会被z-index是200的B所覆盖,因为A的z-index只有100。 阅读更详细的内容:http://www.w3.org/TR/CSS21/visuren.html#z-index 首先先来看一个演示例子的代码部分。 XHTML部分 : <div id="container"> <div id="box1">这个box应该在上面</div> </div> <div id="box2">这个box应该在下面,IE浏览器会对定位元素产生一个新的stacking context ,甚至当元素 z-index的为“auto”。</div>

relation of kconfig Makeifle

kconfig 文件情况 menu "MIPC STRESS TEST CODE" config TEST_15036 tristate "TEST 15036" ----------如果为bool那menuconfig中只能是选和不选两种方式, tristate则是三种(多了一种模块方式) default y ---help--- Say Y here if you want to use the MIPC network device. endmenu 以下红色的好像不对,实际是 grep BLK_CPQ_CISS_DA * -rn Kconfig:122:config BLK_CPQ_CISS_DA Kconfig:134: depends on BLK_CPQ_CISS_DA && PROC_FS Kconfig:135: depends on SCSI=y || SCSI=BLK_CPQ_CISS_DA Makefile:19:obj-$(CONFIG_BLK_CPQ_CISS_DA) += cciss.o 在同一层的kconfig中选中y m的话就会用宏付给obj-后面的,来编译。 其中TEST_15036 在调用同一目录下相关Makefile时会传给Makefile。 在menuconfig里选成*就会用obj-y编到内核里,选成[M]就会用obj-m编 成模块。 在代码中用 #if TEST_15036 . . . #else . . . #endif

经典回顾Class.forName()

String userName = "testuser"; String password = "testpass"; String url = "jdbc:mysql://localhost/test?user=" + userName + "&password=" + password; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url); Class.forName(xxx.xx.xx) 返回的是一个类[Class], .newInstance() 后才创建一个对象[Object] Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段 Class aClass = Class.forName(xxx.xx.xx); Object anInstance = aClass.newInstance(); Class.forName("").newInstance()返回的是object but there is some limit for this method to create instance that is your class constructor should no contain parameters, and you should cast the instance manually. Class Driver{ protected static Driver current;

Java编程琐事(3)——转义字符的应用

Java编程琐事(3)——转义字符的应用 一、为什么要转义: 1、 HTML中<、>、&等都有特殊的含义(<,>,用于链接签,&用于转义),不能够直接使用,这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,需要进行转义。 2、 转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符的原因有两个:第一、“<”和“>”类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,这就需要定义它们的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写规则。第二、有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。 二、转义字符串的组成: 1、 转义字符串,即字符实体分为三部分。第一部分:是一个&符号,英文叫做ampersand;第二部分:是实体名字或者是#加上实体编号;第三部分:是一个分号。例如要显示小于号(<),就可以写&lt;或者&#60。 2、 用实体名字的好处是比较好理解,lt意思即是less than。但是劣势在于并不是所有的浏览器都支持最新的Entity名字。是实体编号,各种浏览器都能处理。注意:实体名称是区分大小写的。 三、如何显示空格: 通常情况下,HTML会自动截取多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用&nbsp;表示空格。 四、HTML特殊转义字符列表: 1、 最常用的字符实体: 显示 说明 实体名称 实体编号 半方大的空白 &ensp; &#8194; 全方大的空白 &emsp; &#8195; 不断行的空白格 &nbsp; &#160; < 小于 &lt; &#60; > 大于 &gt; &#62; & &符号 &amp; &#38; " 双引号 &quot; &#34; © 版权 &copy; &#169; ® 已注册商标 &reg; &#174; ™ 商标(美国) ™ &#8482; × 乘号 &times; &#215; ÷ 除号 &divide; &#247; 2、 JavaScript转义字符

js获取滚动条位置:绝对有效

获取坐标: IE (event.x event.y) 获取滚动条位置: document.body.scrollTop (滚动条离页面最上方的距离) document.body.scrollLeft (滚动条离页面最左方的距离) 当我用js获取当前垂直或者水平方向滚动条位置的时候,使用"document.body.scrollTop"或者"document.body.scrollLeft"是无效的,得到的数值永远是0。但是,当写在“onscroll”事件里面的时候,上述方法可以获得当前滚动条的位置。 当网页最前面有以下内容: <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> document.documentElement.scrollTop (滚动条离页面最上方的距离) document.documentElement.scrollLeft (滚动条离页面最左方的距离) 所以为了准确取得当前滚动条的位置,正确的使用方法是: document.documentElement.scrollTop:垂直方向 document.documentElement.scrollLeft:水平方向

SAP之安装篇(下)

今天终于把SAP的客户端和服务端终于完全安装成功了,现把安装过程中需要注意的地方记录下来,以备下次安装的时候查询。总体的安装过程我是参考sap.471.ides[杨].for.oracle9i安装参考这本书安装的,网上多的是,一G一大把。 安装总体来说还是比较简单的,就是比较消耗时间,大致步骤如下: 1.安装VM虚拟机和win 2003 操作系统 这个网上也不少,我安装的时候也没有发现什么问题,就是在分配硬盘和内存的时候要注意点就行了。我给VM分配的是1G内存和160G硬盘.安装好操作系统后,最好把你虚拟系统的远程桌面打开,这样你在本机就可以用远程桌面进入虚拟系统了,不然在vm里面的那个窗口看着很不爽,而且如果要用到本机的资源的话,还需要做映射,如果用远程桌面就全解决了。 2.安装jdk 这个全是默认安装,安装成功后只是要配置下JAVA_HOME这个环境变量即可。 3.安装数据库 这次安装的是sap自带的数据库版本,安装过程中选择不安装数据库,也是基本全是默认安装,安装完成后要把oracle自动起的两个服务停止,然后升级oracle版本。具体参 见sap.471.ides[杨].for.oracle9i这本书,书里说的很详细,还配有插图。 4.安装SAPinst 安装之前要把系统时间调到未来的某一天,以便你能长期用生成的授权文件。具体参见sap.471.ides[杨].for.oracle9i这本书。 5.安装Central Instance 具体参见sap.471.ides[杨].for.oracle9i这本书。 6.安装Database Instance 在安装Database Instance之前,必须先将先前安装好的SAPinst卸载了,重启系统后,再将SAPinst安装下,这不是折腾人吗。这次安装要8-12小时,所以最好选择夜里安装,等到安装到数据导入的时候,不报错就可以不管了。但是我安装的时候还是在这步出错了,害的我早晨起来的时候又点击下重试按钮才好。安装完成后,点击服务器管理软件,发现已经启动了,把服务器停止,将系统时间改回来,然后再启动服务器即可。具体参见sap.471.ides[杨].for.oracle9i这本书。 7.安装GUI GUI最好安装在本机,不要在虚拟机里面安装,这样就可以完全模拟客户的工作环境了。 8.配置中文包 这个我没有试过,先看看英文再说吧

遍历文件及繁简体字转换

#include<iostream> #include<fstream> #include<direct.h> using namespace std; #define JIAN_LEN sizeof(jian) #define FAN_LEN sizeof(fan) typedef unsigned short uint16; const uint16 fan[] = { '啊', '阿', '埃', '挨', '哎', '唉', '哀', '皚', '癌', '藹', '矮', '艾', '礙', '愛', '隘', '鞍', '氨', '安', '俺', '按', '暗', '岸', '胺', '案', '肮', '昂', '盎', '凹', '敖', '熬', '翺', '襖', '傲', '奧', '懊', '澳', '芭', '捌', '扒', '叭', '吧', '笆', '八', '疤', '巴', '拔', '跋', '靶', '把', '耙', '壩', '霸', '罷', '爸', '白', '柏', '百', '擺', '佰', '敗', '拜', '稗', '斑', '班', '搬', '扳', '般', '頒', '板', '版', '扮', '拌', '伴', '瓣', '半', '辦', '絆', '邦', '幫', '梆', '榜', '膀', '綁', '棒', '磅', '蚌', '鎊', '傍', '謗', '苞', '胞', '包', '褒', '剝', '薄', '雹', '保', '堡', '飽', '寶', '抱', '報', '暴', '豹', '鮑', '爆', '杯', '碑', '悲', '卑', '北', '輩', '背', '貝', '鋇', '倍', '狽', '備', '憊', '焙', '被', '奔', '苯', '本', '笨', '崩', '繃', '甭', '泵', '蹦', '迸', '逼', '鼻', '比', '鄙', '筆', '彼', '碧', '蓖', '蔽', '畢', '斃', '毖', '幣', '庇', '痹', '閉', '敝', '弊', '必', '辟', '壁', '臂', '避', '陛', '鞭', '邊', '編', '貶', '扁', '便', '變', '卞', '辨', '辯', '辮', '遍', '標', '彪', '膘', '表', '鼈', '憋', '別', '癟', '彬', '斌', '瀕', '濱', '賓', '擯', '兵', '冰', '柄', '丙', '秉', '餅', '炳', '病', '並', '玻', '菠', '播', '撥', '缽', '波', '博', '勃', '搏', '鉑', '箔', '伯', '帛', '舶', '脖', '膊', '渤', '泊', '駁', '捕', '蔔', '哺', '補', '埠', '不', '布', '步', '簿', '部', '怖', '擦', '猜', '裁', '材', '才', '財', '睬', '踩', '采', '彩', '菜', '蔡', '餐', '參', '蠶', '殘', '慚', '慘', '燦', '蒼', '艙', '倉', '滄', '藏', '操', '糙', '槽', '曹', '草', '廁', '策', '側', '冊', '測', '層', '蹭', '插', '叉', '茬', '茶', '查', '碴', '搽', '察', '岔', '差', '詫', '拆', '柴', '豺', '攙', '摻', '蟬', '饞', '讒', '纏', '鏟', '産', '闡', '顫', '昌', '猖', '場', '嘗', '常', '長', '償', '腸', '廠', '敞', '暢', '唱', '倡', '超', '抄', '鈔', '朝', '嘲', '潮', '巢', '吵', '炒', '車', '扯', '撤', '掣', '徹', '澈', '郴', '臣', '辰', '塵', '晨', '忱', '沈', '陳', '趁', '襯', '撐', '稱', '城', '橙', '成', '呈', '乘', '程', '懲', '澄', '誠', '承', '逞', '騁', '秤', '吃', '癡', '持', '匙', '池', '遲', '弛', '馳', '恥', '齒', '侈', '尺', '赤', '翅', '斥', '熾', '充', '衝', '沖', '蟲', '崇', '寵', '抽', '酬', '疇', '躊', '稠', '愁', '籌', '仇', '綢', '瞅', '醜', '臭', '初', '出', '櫥', '廚', '躇', '鋤', '雛', '滁', '除', '楚', '礎', '儲', '矗', '搐', '觸', '處', '揣', '川', '穿', '椽', '傳', '船', '喘', '串', '瘡', '窗', '幢', '床', '闖', '創', '吹', '炊', '捶', '錘', '垂', '春', '椿', '醇', '唇', '淳', '純', '蠢', '戳', '綽', '疵', '茨', '磁', '雌', '辭', '慈', '瓷', '詞', '此', '刺', '賜', '次', '聰', '蔥', '囪', '匆', '從', '叢', '湊', '粗', '醋', '簇', '促', '躥', '篡', '竄', '摧', '崔', '催', '脆', '瘁', '粹', '淬', '翠', '村', '存', '寸', '磋', '撮', '搓', '措', '挫', '錯', '搭', '達', '答', '瘩', '打', '大', '呆', '歹', '傣', '戴', '帶', '殆', '代', '貸', '袋', '待', '逮', '怠', '耽', '擔', '丹', '單', '鄲', '撣', '膽', '旦', '氮', '但', '憚', '淡', '誕', '彈', '蛋', '當', '擋', '黨', '蕩', '檔', '刀', '搗', '蹈', '倒', '島', '禱', '導', '到', '稻', '悼', '道', '盜', '德', '得', '的', '蹬', '燈', '登', '等', '瞪', '凳', '鄧', '堤', '低', '滴', '迪', '敵', '笛', '狄', '滌', '翟', '嫡', '抵', '底', '地', '蒂', '第', '帝', '弟', '遞', '締', '顛', '掂', '滇', '碘', '點', '典', '靛', '墊', '電', '佃', '甸', '店', '惦', '奠', '澱', '殿', '碉', '叼', '雕', '凋', '刁', '掉', '吊', '釣', '調', '跌', '爹', '碟', '蝶', '叠', '諜', '疊', '丁', '盯', '叮', '釘', '頂', '鼎', '錠', '定', '訂', '丟', '東', '冬', '董', '懂', '動', '棟', '侗', '恫', '凍', '洞', '兜', '抖', '鬥', '陡', '豆', '逗', '痘', '都', '督', '毒', '犢', '獨', '讀', '堵', '睹', '賭', '杜', '鍍', '肚', '度', '渡', '妒', '端', '短', '鍛', '段', '斷', '緞', '堆', '兌', '隊', '對', '墩', '噸', '蹲', '敦', '頓', '囤', '鈍', '盾', '遁', '掇', '哆', '多', '奪', '垛', '躲', '朵', '跺', '舵', '剁', '惰', '墮', '蛾', '峨', '鵝', '俄', '額', '訛', '娥', '惡', '厄', '扼', '遏', '鄂', '餓', '恩', '而', '兒', '耳', '爾', '餌', '洱', '二', '貳', '發', '罰', '筏', '伐', '乏', '閥', '法', '琺', '藩', '帆', '番', '翻', '樊', '礬', '釩', '繁', '凡', '煩', '反', '返', '範', '販', '犯', '飯', '泛', '坊', '芳', '方', '肪', '房', '防', '妨', '仿', '訪', '紡', '放', '菲', '非', '啡', '飛', '肥', '匪', '誹', '吠', '肺', '廢', '沸', '費', '芬', '酚', '吩', '氛', '分', '紛', '墳', '焚', '汾', '粉', '奮', '份', '忿', '憤', '糞', '豐', '封', '楓', '蜂', '峰', '鋒', '風', '瘋', '烽', '逢', '馮', '縫', '諷', '奉', '鳳', '佛', '否', '夫', '敷', '膚', '孵', '扶', '拂', '輻', '幅', '氟', '符', '伏', '俘', '服', '浮', '涪', '福', '袱', '弗', '甫', '撫', '輔', '俯', '釜', '斧', '脯', '腑', '府', '腐', '赴', '副', '覆', '賦', '複', '傅', '付', '阜', '父', '腹', '負', '富', '訃', '附', '婦', '縛', '咐', '噶', '嘎', '該', '改', '概', '鈣', '蓋', '溉', '幹', '甘', '杆', '柑', '竿', '肝', '趕', '感', '稈', '敢', '贛', '岡', '剛', '鋼', '缸', '肛', '綱', '崗', '港', '杠', '篙', '臯', '高', '膏', '羔', '糕', '搞', '鎬', '稿', '告', '哥', '歌', '擱', '戈', '鴿', '胳', '疙', '割', '革', '葛', '格', '蛤', '閣', '隔', '鉻', '個', '各', '給', '根', '跟', '耕', '更', '庚', '羹', '埂', '耿', '梗', '工', '攻', '功', '恭', '龔', '供', '躬', '公', '宮', '弓', '鞏', '汞', '拱', '貢', '共', '鈎', '勾', '溝', '苟', '狗', '垢', '構', '購', '夠', '辜', '菇', '咕', '箍', '估', '沽', '孤', '姑', '鼓', '古', '蠱', '骨', '谷', '股', '故', '顧', '固', '雇', '刮', '瓜', '剮', '寡', '挂', '褂', '乖', '拐', '怪', '棺', '關', '官', '冠', '觀', '管', '館', '罐', '慣', '灌', '貫', '光', '廣', '逛', '瑰', '規', '圭', '矽', '歸', '龜', '閨', '軌', '鬼', '詭', '癸', '桂', '櫃', '跪', '貴', '劊', '輥', '滾', '棍', '鍋', '郭', '國', '果', '裹', '過', '哈', '骸', '孩', '海', '氦', '亥', '害', '駭', '酣', '憨', '邯', '韓', '含', '涵', '寒', '函', '喊', '罕', '翰', '撼', '捍', '旱', '憾', '悍', '焊', '汗', '漢', '夯', '杭', '航', '壕', '嚎', '豪', '毫', '郝', '好', '耗', '號', '浩', '呵', '喝', '荷', '菏', '核', '禾', '和', '何', '合', '盒', '貉', '閡', '河', '涸', '赫', '褐', '鶴', '賀', '嘿', '黑', '痕', '很', '狠', '恨', '哼', '亨', '橫', '衡', '恒', '轟', '哄', '烘', '虹', '鴻', '洪', '宏', '弘', '紅', '喉', '侯', '猴', '吼', '厚', '候', '後', '呼', '乎', '忽', '瑚', '壺', '葫', '胡', '蝴', '狐', '糊', '湖', '弧', '虎', '唬', '護', '互', '滬', '戶', '花', '嘩', '華', '猾', '滑', '畫', '劃', '化', '話', '槐', '徊', '懷', '淮', '壞', '歡', '環', '桓', '還', '緩', '換', '患', '喚', '瘓', '豢', '煥', '渙', '宦', '幻', '荒', '慌', '黃', '磺', '蝗', '簧', '皇', '凰', '惶', '煌', '晃', '幌', '恍', '謊', '灰', '揮', '輝', '徽', '恢', '蛔', '回', '毀', '悔', '慧', '卉', '惠', '晦', '賄', '穢', '會', '燴', '彙', '諱', '誨', '繪', '葷', '昏', '婚', '魂', '渾', '混', '豁', '活', '夥', '火', '獲', '或', '惑', '霍', '貨', '禍', '擊', '圾', '基', '機', '畸', '稽', '積', '箕', '肌', '饑', '迹', '激', '譏', '雞', '姬', '績', '緝', '吉', '極', '棘', '輯', '籍', '集', '及', '急', '疾', '汲', '即', '嫉', '級', '擠', '幾', '脊', '己', '薊', '技', '冀', '季', '伎', '祭', '劑', '悸', '濟', '寄', '寂', '計', '記', '既', '忌', '際', '妓', '繼', '紀', '嘉', '枷', '夾', '佳', '家', '加', '莢', '頰', '賈', '甲', '鉀', '假', '稼', '價', '架', '駕', '嫁', '殲', '監', '堅', '尖', '箋', '間', '煎', '兼', '肩', '艱', '奸', '緘', '繭', '檢', '柬', '堿', '鹼', '揀', '撿', '簡', '儉', '剪', '減', '薦', '檻', '鑒', '踐', '賤', '見', '鍵', '箭', '件', '健', '艦', '劍', '餞', '漸', '濺', '澗', '建', '僵', '姜', '將', '漿', '江', '疆', '蔣', '槳', '獎', '講', '匠', '醬', '降', '蕉', '椒', '礁', '焦', '膠', '交', '郊', '澆', '驕', '嬌', '嚼', '攪', '鉸', '矯', '僥', '腳', '狡', '角', '餃', '繳', '絞', '剿', '教', '酵', '轎', '較', '叫', '窖', '揭', '接', '皆', '稭', '街', '階', '截', '劫', '節', '莖', '睛', '晶', '鯨', '京', '驚', '精', '粳', '經', '井', '警', '景', '頸', '靜', '境', '敬', '鏡', '徑', '痙', '靖', '竟', '競', '淨', '炯', '窘', '揪', '究', '糾', '玖', '韭', '久', '灸', '九', '酒', '廄', '救', '舊', '臼', '舅', '咎', '就', '疚', '鞠', '拘', '狙', '疽', '居', '駒', '菊', '局', '咀', '矩', '舉', '沮', '聚', '拒', '據', '巨', '具', '距', '踞', '鋸', '俱', '句', '懼', '炬', '劇', '捐', '鵑', '娟', '倦', '眷', '卷', '絹', '撅', '攫', '抉', '掘', '倔', '爵', '桔', '傑', '捷', '睫', '竭', '潔', '結', '解', '姐', '戒', '藉', '芥', '界', '借', '介', '疥', '誡', '屆', '巾', '筋', '斤', '金', '今', '津', '襟', '緊', '錦', '僅', '謹', '進', '靳', '晉', '禁', '近', '燼', '浸', '盡', '勁', '荊', '兢', '覺', '決', '訣', '絕', '均', '菌', '鈞', '軍', '君', '峻', '俊', '竣', '浚', '郡', '駿', '喀', '咖', '卡', '咯', '開', '揩', '楷', '凱', '慨', '刊', '堪', '勘', '坎', '砍', '看', '康', '慷', '糠', '扛', '抗', '亢', '炕', '考', '拷', '烤', '靠', '坷', '苛', '柯', '棵', '磕', '顆', '科', '殼', '咳', '可', '渴', '克', '刻', '客', '課', '肯', '啃', '墾', '懇', '坑', '吭', '空', '恐', '孔', '控', '摳', '口', '扣', '寇', '枯', '哭', '窟', '苦', '酷', '庫', '褲', '誇', '垮', '挎', '跨', '胯', '塊', '筷', '儈', '快', '寬', '款', '匡', '筐', '狂', '框', '礦', '眶', '曠', '況', '虧', '盔', '巋', '窺', '葵', '奎', '魁', '傀', '饋', '愧', '潰', '坤', '昆', '捆', '困', '括', '擴', '廓', '闊', '垃', '拉', '喇', '蠟', '臘', '辣', '啦', '萊', '來', '賴', '藍', '婪', '欄', '攔', '籃', '闌', '蘭', '瀾', '讕', '攬', '覽', '懶', '纜', '爛', '濫', '琅', '榔', '狼', '廊', '郎', '朗', '浪', '撈', '勞', '牢', '老', '佬', '姥', '酪', '烙', '澇', '勒', '樂', '雷', '鐳', '蕾', '磊', '累', '儡', '壘', '擂', '肋', '類', '淚', '棱', '楞', '冷', '厘', '梨', '犁', '黎', '籬', '狸', '離', '漓', '理', '李', '裏', '鯉', '禮', '莉', '荔', '吏', '栗', '麗', '厲', '勵', '礫', '曆', '利', '傈', '例', '俐', '痢', '立', '粒', '瀝', '隸', '力', '璃', '哩', '倆', '聯', '蓮', '連', '鐮', '廉', '憐', '漣', '簾', '斂', '臉', '鏈', '戀', '煉', '練', '糧', '涼', '梁', '粱', '良', '兩', '輛', '量', '晾', '亮', '諒', '撩', '聊', '僚', '療', '燎', '寥', '遼', '潦', '了', '撂', '鐐', '廖', '料', '列', '裂', '烈', '劣', '獵', '琳', '林', '磷', '霖', '臨', '鄰', '鱗', '淋', '凜', '賃', '吝', '拎', '玲', '菱', '零', '齡', '鈴', '伶', '羚', '淩', '靈', '陵', '嶺', '領', '另', '令', '溜', '琉', '榴', '硫', '餾', '留', '劉', '瘤', '流', '柳', '六', '龍', '聾', '嚨', '籠', '窿', '隆', '壟', '攏', '隴', '樓', '婁', '摟', '簍', '漏', '陋', '蘆', '盧', '顱', '廬', '爐', '擄', '鹵', '虜', '魯', '麓', '碌', '露', '路', '賂', '鹿', '潞', '祿', '錄', '陸', '戮', '驢', '呂', '鋁', '侶', '旅', '履', '屢', '縷', '慮', '氯', '律', '率', '濾', '綠', '巒', '攣', '孿', '灤', '卵', '亂', '掠', '略', '掄', '輪', '倫', '侖', '淪', '綸', '論', '蘿', '螺', '羅', '邏', '鑼', '籮', '騾', '裸', '落', '洛', '駱', '絡', '媽', '麻', '瑪', '碼', '螞', '馬', '罵', '嘛', '嗎', '埋', '買', '麥', '賣', '邁', '脈', '瞞', '饅', '蠻', '滿', '蔓', '曼', '慢', '漫', '謾', '芒', '茫', '盲', '氓', '忙', '莽', '貓', '茅', '錨', '毛', '矛', '鉚', '卯', '茂', '冒', '帽', '貌', '貿', '麽', '玫', '枚', '梅', '酶', '黴', '煤', '沒', '眉', '媒', '鎂', '每', '美', '昧', '寐', '妹', '媚', '門', '悶', '們', '萌', '蒙', '檬', '盟', '錳', '猛', '夢', '孟', '眯', '醚', '靡', '糜', '迷', '謎', '彌', '米', '秘', '覓', '泌', '蜜', '密', '冪', '棉', '眠', '綿', '冕', '免', '勉', '娩', '緬', '面', '苗', '描', '瞄', '藐', '秒', '渺', '廟', '妙', '蔑', '滅', '民', '抿', '皿', '敏', '憫', '閩', '明', '螟', '鳴', '銘', '名', '命', '謬', '摸', '摹', '蘑', '模', '膜', '磨', '摩', '魔', '抹', '末', '莫', '墨', '默', '沫', '漠', '寞', '陌', '謀', '牟', '某', '拇', '牡', '畝', '姆', '母', '墓', '暮', '幕', '募', '慕', '木', '目', '睦', '牧', '穆', '拿', '哪', '呐', '鈉', '那', '娜', '納', '氖', '乃', '奶', '耐', '奈', '南', '男', '難', '囊', '撓', '腦', '惱', '鬧', '淖', '呢', '餒', '內', '嫩', '能', '妮', '霓', '倪', '泥', '尼', '擬', '你', '匿', '膩', '逆', '溺', '蔫', '拈', '年', '碾', '攆', '撚', '念', '娘', '釀', '鳥', '尿', '捏', '聶', '孽', '齧', '鑷', '鎳', '涅', '您', '檸', '獰', '凝', '甯', '擰', '濘', '牛', '扭', '鈕', '紐', '膿', '濃', '農', '弄', '奴', '努', '怒', '女', '暖', '虐', '瘧', '挪', '懦', '糯', '諾', '哦', '歐', '鷗', '毆', '藕', '嘔', '偶', '漚', '啪', '趴', '爬', '帕', '怕', '琶', '拍', '排', '牌', '徘', '湃', '派', '攀', '潘', '盤', '磐', '盼', '畔', '判', '叛', '乓', '龐', '旁', '耪', '胖', '抛', '咆', '刨', '炮', '袍', '跑', '泡', '呸', '胚', '培', '裴', '賠', '陪', '配', '佩', '沛', '噴', '盆', '砰', '抨', '烹', '澎', '彭', '蓬', '棚', '硼', '篷', '膨', '朋', '鵬', '捧', '碰', '坯', '砒', '霹', '批', '披', '劈', '琵', '毗', '啤', '脾', '疲', '皮', '匹', '痞', '僻', '屁', '譬', '篇', '偏', '片', '騙', '飄', '漂', '瓢', '票', '撇', '瞥', '拼', '頻', '貧', '品', '聘', '乒', '坪', '蘋', '萍', '平', '憑', '瓶', '評', '屏', '坡', '潑', '頗', '婆', '破', '魄', '迫', '粕', '剖', '撲', '鋪', '仆', '莆', '葡', '菩', '蒲', '埔', '樸', '圃', '普', '浦', '譜', '曝', '瀑', '期', '欺', '棲', '戚', '妻', '七', '淒', '漆', '柒', '沏', '其', '棋', '奇', '歧', '畦', '崎', '臍', '齊', '旗', '祈', '祁', '騎', '起', '豈', '乞', '企', '啓', '契', '砌', '器', '氣', '迄', '棄', '汽', '泣', '訖', '掐', '洽', '牽', '扡', '釺', '鉛', '千', '遷', '簽', '仟', '謙', '乾', '黔', '錢', '鉗', '前', '潛', '遣', '淺', '譴', '塹', '嵌', '欠', '歉', '槍', '嗆', '腔', '羌', '牆', '薔', '強', '搶', '橇', '鍬', '敲', '悄', '橋', '瞧', '喬', '僑', '巧', '鞘', '撬', '翹', '峭', '俏', '竅', '切', '茄', '且', '怯', '竊', '欽', '侵', '親', '秦', '琴', '勤', '芹', '擒', '禽', '寢', '沁', '青', '輕', '氫', '傾', '卿', '清', '擎', '晴', '氰', '情', '頃', '請', '慶', '瓊', '窮', '秋', '丘', '邱', '球', '求', '囚', '酋', '泅', '趨', '區', '蛆', '曲', '軀', '屈', '驅', '渠', '取', '娶', '齲', '趣', '去', '圈', '顴', '權', '醛', '泉', '全', '痊', '拳', '犬', '券', '勸', '缺', '炔', '瘸', '卻', '鵲', '榷', '確', '雀', '裙', '群', '然', '燃', '冉', '染', '瓤', '壤', '攘', '嚷', '讓', '饒', '擾', '繞', '惹', '熱', '壬', '仁', '人', '忍', '韌', '任', '認', '刃', '妊', '紉', '扔', '仍', '日', '戎', '茸', '蓉', '榮', '融', '熔', '溶', '容', '絨', '冗', '揉', '柔', '肉', '茹', '蠕', '儒', '孺', '如', '辱', '乳', '汝', '入', '褥', '軟', '阮', '蕊', '瑞', '銳', '閏', '潤', '若', '弱', '撒', '灑', '薩', '腮', '鰓', '塞', '賽', '三', '三', '傘', '散', '桑', '嗓', '喪', '搔', '騷', '掃', '嫂', '瑟', '色', '澀', '森', '僧', '莎', '砂', '殺', '刹', '沙', '紗', '傻', '啥', '煞', '篩', '曬', '珊', '苫', '杉', '山', '刪', '煽', '衫', '閃', '陝', '擅', '贍', '膳', '善', '汕', '扇', '繕', '墒', '傷', '商', '賞', '晌', '上', '尚', '裳', '梢', '捎', '稍', '燒', '芍', '勺', '韶', '少', '哨', '邵', '紹', '奢', '賒', '蛇', '舌', '舍', '赦', '攝', '射', '懾', '涉', '社', '設', '砷', '申', '呻', '伸', '身', '深', '娠', '紳', '神', '沈', '審', '嬸', '甚', '腎', '慎', '滲', '聲', '生', '甥', '牲', '升', '繩', '省', '盛', '剩', '勝', '聖', '師', '失', '獅', '施', '濕', '詩', '屍', '虱', '十', '石', '拾', '時', '什', '食', '蝕', '實', '識', '史', '矢', '使', '屎', '駛', '始', '式', '示', '士', '世', '柿', '事', '拭', '誓', '逝', '勢', '是', '嗜', '噬', '適', '仕', '侍', '釋', '飾', '氏', '市', '恃', '室', '視', '試', '收', '手', '首', '守', '壽', '授', '售', '受', '瘦', '獸', '蔬', '樞', '梳', '殊', '抒', '輸', '叔', '舒', '淑', '疏', '書', '贖', '孰', '熟', '薯', '暑', '曙', '署', '蜀', '黍', '鼠', '屬', '術', '述', '樹', '束', '戍', '豎', '墅', '庶', '數', '漱', '恕', '刷', '耍', '摔', '衰', '甩', '帥', '栓', '拴', '霜', '雙', '爽', '誰', '水', '睡', '稅', '吮', '瞬', '順', '舜', '說', '碩', '朔', '爍', '斯', '撕', '嘶', '思', '私', '司', '絲', '死', '肆', '寺', '嗣', '四', '伺', '似', '飼', '巳', '松', '聳', '慫', '頌', '送', '宋', '訟', '誦', '搜', '艘', '擻', '嗽', '蘇', '酥', '俗', '素', '速', '粟', '僳', '塑', '溯', '宿', '訴', '肅', '酸', '蒜', '算', '雖', '隋', '隨', '綏', '髓', '碎', '歲', '穗', '遂', '隧', '祟', '孫', '損', '筍', '蓑', '梭', '唆', '縮', '瑣', '索', '鎖', '所', '塌', '他', '它', '她', '塔', '獺', '撻', '蹋', '踏', '胎', '苔', '擡', '台', '泰', '酞', '太', '態', '汰', '坍', '攤', '貪', '癱', '灘', '壇', '檀', '痰', '潭', '譚', '談', '坦', '毯', '袒', '碳', '探', '歎', '炭', '湯', '塘', '搪', '堂', '棠', '膛', '唐', '糖', '倘', '躺', '淌', '趟', '燙', '掏', '濤', '滔', '縧', '萄', '桃', '逃', '淘', '陶', '討', '套', '特', '藤', '騰', '疼', '謄', '梯', '剔', '踢', '銻', '提', '題', '蹄', '啼', '體', '替', '嚏', '惕', '涕', '剃', '屜', '天', '添', '填', '田', '甜', '恬', '舔', '腆', '挑', '條', '迢', '眺', '跳', '貼', '鐵', '帖', '廳', '聽', '烴', '汀', '廷', '停', '亭', '庭', '挺', '艇', '通', '桐', '酮', '瞳', '同', '銅', '彤', '童', '桶', '捅', '筒', '統', '痛', '偷', '投', '頭', '透', '凸', '禿', '突', '圖', '徒', '途', '塗', '屠', '土', '吐', '兔', '湍', '團', '推', '頹', '腿', '蛻', '褪', '退', '吞', '屯', '臀', '拖', '托', '脫', '鴕', '陀', '馱', '駝', '橢', '妥', '拓', '唾', '挖', '哇', '蛙', '窪', '娃', '瓦', '襪', '歪', '外', '豌', '彎', '灣', '玩', '頑', '丸', '烷', '完', '碗', '挽', '晚', '皖', '惋', '宛', '婉', '萬', '腕', '汪', '王', '亡', '枉', '網', '往', '旺', '望', '忘', '妄', '威', '巍', '微', '危', '韋', '違', '桅', '圍', '唯', '惟', '為', '濰', '維', '葦', '萎', '委', '偉', '僞', '尾', '緯', '未', '蔚', '味', '畏', '胃', '餵', '魏', '位', '渭', '謂', '尉', '慰', '衛', '瘟', '溫', '蚊', '文', '聞', '紋', '吻', '穩', '紊', '問', '嗡', '翁', '甕', '撾', '蝸', '渦', '窩', '我', '斡', '臥', '握', '沃', '巫', '嗚', '鎢', '烏', '汙', '誣', '屋', '無', '蕪', '梧', '吾', '吳', '毋', '武', '五', '捂', '午', '舞', '伍', '侮', '塢', '戊', '霧', '晤', '物', '勿', '務', '悟', '誤', '昔', '熙', '析', '西', '硒', '矽', '晰', '嘻', '吸', '錫', '犧', '稀', '息', '希', '悉', '膝', '夕', '惜', '熄', '烯', '溪', '汐', '犀', '檄', '襲', '席', '習', '媳', '喜', '銑', '洗', '系', '隙', '戲', '細', '瞎', '蝦', '匣', '霞', '轄', '暇', '峽', '俠', '狹', '下', '廈', '夏', '嚇', '掀', '鍁', '先', '仙', '鮮', '纖', '鹹', '賢', '銜', '舷', '閑', '涎', '弦', '嫌', '顯', '險', '現', '獻', '縣', '腺', '餡', '羨', '憲', '陷', '限', '線', '相', '廂', '鑲', '香', '箱', '襄', '湘', '鄉', '翔', '祥', '詳', '想', '響', '享', '項', '巷', '橡', '像', '向', '象', '蕭', '硝', '霄', '削', '哮', '囂', '銷', '消', '宵', '淆', '曉', '小', '孝', '校', '肖', '嘯', '笑', '效', '楔', '些', '歇', '蠍', '鞋', '協', '挾', '攜', '邪', '斜', '脅', '諧', '寫', '械', '卸', '蟹', '懈', '泄', '瀉', '謝', '屑', '薪', '芯', '鋅', '欣', '辛', '新', '忻', '心', '信', '釁', '星', '腥', '猩', '惺', '興', '刑', '型', '形', '邢', '行', '醒', '幸', '杏', '性', '姓', '兄', '凶', '胸', '匈', '洶', '雄', '熊', '休', '修', '羞', '朽', '嗅', '鏽', '秀', '袖', '繡', '墟', '戌', '需', '虛', '噓', '須', '徐', '許', '蓄', '酗', '敘', '旭', '序', '畜', '恤', '絮', '婿', '緒', '續', '軒', '喧', '宣', '懸', '旋', '玄', '選', '癬', '眩', '絢', '靴', '薛', '學', '穴', '雪', '血', '勳', '熏', '循', '旬', '詢', '尋', '馴', '巡', '殉', '汛', '訓', '訊', '遜', '迅', '壓', '押', '鴉', '鴨', '呀', '丫', '芽', '牙', '蚜', '崖', '衙', '涯', '雅', '啞', '亞', '訝', '焉', '咽', '閹', '煙', '淹', '鹽', '嚴', '研', '蜒', '岩', '延', '言', '顔', '閻', '炎', '沿', '奄', '掩', '眼', '衍', '演', '豔', '堰', '燕', '厭', '硯', '雁', '唁', '彥', '焰', '宴', '諺', '驗', '殃', '央', '鴦', '秧', '楊', '揚', '佯', '瘍', '羊', '洋', '陽', '氧', '仰', '癢', '養', '樣', '漾', '邀', '腰', '妖', '瑤', '搖', '堯', '遙', '窯', '謠', '姚', '咬', '舀', '藥', '要', '耀', '椰', '噎', '耶', '爺', '野', '冶', '也', '頁', '掖', '業', '葉', '曳', '腋', '夜', '液', '一', '壹', '醫', '揖', '銥', '依', '伊', '衣', '頤', '夷', '遺', '移', '儀', '胰', '疑', '沂', '宜', '姨', '彜', '椅', '蟻', '倚', '已', '乙', '矣', '以', '藝', '抑', '易', '邑', '屹', '億', '役', '臆', '逸', '肄', '疫', '亦', '裔', '意', '毅', '憶', '義', '益', '溢', '詣', '議', '誼', '譯', '異', '翼', '翌', '繹', '茵', '蔭', '因', '殷', '音', '陰', '姻', '吟', '銀', '淫', '寅', '飲', '尹', '引', '隱', '印', '英', '櫻', '嬰', '鷹', '應', '纓', '瑩', '螢', '營', '熒', '蠅', '迎', '贏', '盈', '影', '穎', '硬', '映', '喲', '擁', '傭', '臃', '癰', '庸', '雍', '踴', '蛹', '詠', '泳', '湧', '永', '恿', '勇', '用', '幽', '優', '悠', '憂', '尤', '由', '郵', '鈾', '猶', '油', '遊', '酉', '有', '友', '右', '佑', '釉', '誘', '又', '幼', '迂', '淤', '于', '盂', '榆', '虞', '愚', '輿', '余', '俞', '逾', '魚', '愉', '渝', '漁', '隅', '予', '娛', '雨', '與', '嶼', '禹', '宇', '語', '羽', '玉', '域', '芋', '郁', '籲', '遇', '喻', '峪', '禦', '愈', '欲', '獄', '育', '譽', '浴', '寓', '裕', '預', '豫', '馭', '鴛', '淵', '冤', '元', '垣', '袁', '原', '援', '轅', '園', '員', '圓', '猿', '源', '緣', '遠', '苑', '願', '怨', '院', '曰', '約', '越', '躍', '鑰', '嶽', '粵', '月', '悅', '閱', '耘', '雲', '鄖', '勻', '隕', '允', '運', '蘊', '醞', '暈', '韻', '孕', '匝', '砸', '雜', '栽', '哉', '災', '宰', '載', '再', '在', '咱', '攢', '暫', '贊', '贓', '髒', '葬', '遭', '糟', '鑿', '藻', '棗', '早', '澡', '蚤', '躁', '噪', '造', '皂', '竈', '燥', '責', '擇', '則', '澤', '賊', '怎', '增', '憎', '曾', '贈', '紮', '喳', '渣', '劄', '軋', '鍘', '閘', '眨', '柵', '榨', '咋', '乍', '炸', '詐', '摘', '齋', '宅', '窄', '債', '寨', '瞻', '氈', '詹', '粘', '沾', '盞', '斬', '輾', '嶄', '展', '蘸', '棧', '占', '戰', '站', '湛', '綻', '樟', '章', '彰', '漳', '張', '掌', '漲', '杖', '丈', '帳', '賬', '仗', '脹', '瘴', '障', '招', '昭', '找', '沼', '趙', '照', '罩', '兆', '肇', '召', '遮', '折', '哲', '蟄', '轍', '者', '鍺', '蔗', '這', '浙', '珍', '斟', '真', '甄', '砧', '臻', '貞', '針', '偵', '枕', '疹', '診', '震', '振', '鎮', '陣', '蒸', '掙', '睜', '征', '猙', '爭', '怔', '整', '拯', '正', '政', '幀', '症', '鄭', '證', '芝', '枝', '支', '吱', '蜘', '知', '肢', '脂', '汁', '之', '織', '職', '直', '植', '殖', '執', '值', '侄', '址', '指', '止', '趾', '只', '旨', '紙', '志', '摯', '擲', '至', '致', '置', '幟', '峙', '制', '智', '秩', '稚', '質', '炙', '痔', '滯', '治', '窒', '中', '盅', '忠', '鍾', '衷', '終', '種', '腫', '重', '仲', '衆', '舟', '周', '州', '洲', '謅', '粥', '軸', '肘', '帚', '咒', '皺', '宙', '晝', '驟', '珠', '株', '蛛', '朱', '豬', '諸', '誅', '逐', '竹', '燭', '煮', '拄', '矚', '囑', '主', '著', '柱', '助', '蛀', '貯', '鑄', '築', '住', '注', '祝', '駐', '抓', '爪', '拽', '專', '磚', '轉', '撰', '賺', '篆', '樁', '莊', '裝', '妝', '撞', '壯', '狀', '椎', '錐', '追', '贅', '墜', '綴', '諄', '准', '捉', '拙', '卓', '桌', '琢', '茁', '酌', '啄', '著', '灼', '濁', '茲', '咨', '資', '姿', '滋', '淄', '孜', '紫', '仔', '籽', '滓', '子', '自', '漬', '字', '鬃', '棕', '蹤', '宗', '綜', '總', '縱', '鄒', '走', '奏', '揍', '租', '足', '卒', '族', '祖', '詛', '阻', '組', '鑽', '纂', '嘴', '醉', '最', '罪', '尊', '遵', '昨', '左', '佐', '柞', '做', '作', '坐', '座', }; const uint16 jian[] = { '啊', '阿', '埃', '挨', '哎', '唉', '哀', '皑', '癌', '蔼', '矮', '艾', '碍', '爱', '隘', '鞍', '氨', '安', '俺', '按', '暗', '岸', '胺', '案', '肮', '昂', '盎', '凹', '敖', '熬', '翱', '袄', '傲', '奥', '懊', '澳', '芭', '捌', '扒', '叭', '吧', '笆', '八', '疤', '巴', '拔', '跋', '靶', '把', '耙', '坝', '霸', '罢', '爸', '白', '柏', '百', '摆', '佰', '败', '拜', '稗', '斑', '班', '搬', '扳', '般', '颁', '板', '版', '扮', '拌', '伴', '瓣', '半', '办', '绊', '邦', '帮', '梆', '榜', '膀', '绑', '棒', '磅', '蚌', '镑', '傍', '谤', '苞', '胞', '包', '褒', '剥', '薄', '雹', '保', '堡', '饱', '宝', '抱', '报', '暴', '豹', '鲍', '爆', '杯', '碑', '悲', '卑', '北', '辈', '背', '贝', '钡', '倍', '狈', '备', '惫', '焙', '被', '奔', '苯', '本', '笨', '崩', '绷', '甭', '泵', '蹦', '迸', '逼', '鼻', '比', '鄙', '笔', '彼', '碧', '蓖', '蔽', '毕', '毙', '毖', '币', '庇', '痹', '闭', '敝', '弊', '必', '辟', '壁', '臂', '避', '陛', '鞭', '边', '编', '贬', '扁', '便', '变', '卞', '辨', '辩', '辫', '遍', '标', '彪', '膘', '表', '鳖', '憋', '别', '瘪', '彬', '斌', '濒', '滨', '宾', '摈', '兵', '冰', '柄', '丙', '秉', '饼', '炳', '病', '并', '玻', '菠', '播', '拨', '钵', '波', '博', '勃', '搏', '铂', '箔', '伯', '帛', '舶', '脖', '膊', '渤', '泊', '驳', '捕', '卜', '哺', '补', '埠', '不', '布', '步', '簿', '部', '怖', '擦', '猜', '裁', '材', '才', '财', '睬', '踩', '采', '彩', '菜', '蔡', '餐', '参', '蚕', '残', '惭', '惨', '灿', '苍', '舱', '仓', '沧', '藏', '操', '糙', '槽', '曹', '草', '厕', '策', '侧', '册', '测', '层', '蹭', '插', '叉', '茬', '茶', '查', '碴', '搽', '察', '岔', '差', '诧', '拆', '柴', '豺', '搀', '掺', '蝉', '馋', '谗', '缠', '铲', '产', '阐', '颤', '昌', '猖', '场', '尝', '常', '长', '偿', '肠', '厂', '敞', '畅', '唱', '倡', '超', '抄', '钞', '朝', '嘲', '潮', '巢', '吵', '炒', '车', '扯', '撤', '掣', '彻', '澈', '郴', '臣', '辰', '尘', '晨', '忱', '沉', '陈', '趁', '衬', '撑', '称', '城', '橙', '成', '呈', '乘', '程', '惩', '澄', '诚', '承', '逞', '骋', '秤', '吃', '痴', '持', '匙', '池', '迟', '弛', '驰', '耻', '齿', '侈', '尺', '赤', '翅', '斥', '炽', '充', '冲', '冲', '虫', '崇', '宠', '抽', '酬', '畴', '踌', '稠', '愁', '筹', '仇', '绸', '瞅', '丑', '臭', '初', '出', '橱', '厨', '躇', '锄', '雏', '滁', '除', '楚', '础', '储', '矗', '搐', '触', '处', '揣', '川', '穿', '椽', '传', '船', '喘', '串', '疮', '窗', '幢', '床', '闯', '创', '吹', '炊', '捶', '锤', '垂', '春', '椿', '醇', '唇', '淳', '纯', '蠢', '戳', '绰', '疵', '茨', '磁', '雌', '辞', '慈', '瓷', '词', '此', '刺', '赐', '次', '聪', '葱', '囱', '匆', '从', '丛', '凑', '粗', '醋', '簇', '促', '蹿', '篡', '窜', '摧', '崔', '催', '脆', '瘁', '粹', '淬', '翠', '村', '存', '寸', '磋', '撮', '搓', '措', '挫', '错', '搭', '达', '答', '瘩', '打', '大', '呆', '歹', '傣', '戴', '带', '殆', '代', '贷', '袋', '待', '逮', '怠', '耽', '担', '丹', '单', '郸', '掸', '胆', '旦', '氮', '但', '惮', '淡', '诞', '弹', '蛋', '当', '挡', '党', '荡', '档', '刀', '捣', '蹈', '倒', '岛', '祷', '导', '到', '稻', '悼', '道', '盗', '德', '得', '的', '蹬', '灯', '登', '等', '瞪', '凳', '邓', '堤', '低', '滴', '迪', '敌', '笛', '狄', '涤', '翟', '嫡', '抵', '底', '地', '蒂', '第', '帝', '弟', '递', '缔', '颠', '掂', '滇', '碘', '点', '典', '靛', '垫', '电', '佃', '甸', '店', '惦', '奠', '淀', '殿', '碉', '叼', '雕', '凋', '刁', '掉', '吊', '钓', '调', '跌', '爹', '碟', '蝶', '迭', '谍', '叠', '丁', '盯', '叮', '钉', '顶', '鼎', '锭', '定', '订', '丢', '东', '冬', '董', '懂', '动', '栋', '侗', '恫', '冻', '洞', '兜', '抖', '斗', '陡', '豆', '逗', '痘', '都', '督', '毒', '犊', '独', '读', '堵', '睹', '赌', '杜', '镀', '肚', '度', '渡', '妒', '端', '短', '锻', '段', '断', '缎', '堆', '兑', '队', '对', '墩', '吨', '蹲', '敦', '顿', '囤', '钝', '盾', '遁', '掇', '哆', '多', '夺', '垛', '躲', '朵', '跺', '舵', '剁', '惰', '堕', '蛾', '峨', '鹅', '俄', '额', '讹', '娥', '恶', '厄', '扼', '遏', '鄂', '饿', '恩', '而', '儿', '耳', '尔', '饵', '洱', '二', '贰', '发', '罚', '筏', '伐', '乏', '阀', '法', '珐', '藩', '帆', '番', '翻', '樊', '矾', '钒', '繁', '凡', '烦', '反', '返', '范', '贩', '犯', '饭', '泛', '坊', '芳', '方', '肪', '房', '防', '妨', '仿', '访', '纺', '放', '菲', '非', '啡', '飞', '肥', '匪', '诽', '吠', '肺', '废', '沸', '费', '芬', '酚', '吩', '氛', '分', '纷', '坟', '焚', '汾', '粉', '奋', '份', '忿', '愤', '粪', '丰', '封', '枫', '蜂', '峰', '锋', '风', '疯', '烽', '逢', '冯', '缝', '讽', '奉', '凤', '佛', '否', '夫', '敷', '肤', '孵', '扶', '拂', '辐', '幅', '氟', '符', '伏', '俘', '服', '浮', '涪', '福', '袱', '弗', '甫', '抚', '辅', '俯', '釜', '斧', '脯', '腑', '府', '腐', '赴', '副', '覆', '赋', '复', '傅', '付', '阜', '父', '腹', '负', '富', '讣', '附', '妇', '缚', '咐', '噶', '嘎', '该', '改', '概', '钙', '盖', '溉', '干', '甘', '杆', '柑', '竿', '肝', '赶', '感', '秆', '敢', '赣', '冈', '刚', '钢', '缸', '肛', '纲', '岗', '港', '杠', '篙', '皋', '高', '膏', '羔', '糕', '搞', '镐', '稿', '告', '哥', '歌', '搁', '戈', '鸽', '胳', '疙', '割', '革', '葛', '格', '蛤', '阁', '隔', '铬', '个', '各', '给', '根', '跟', '耕', '更', '庚', '羹', '埂', '耿', '梗', '工', '攻', '功', '恭', '龚', '供', '躬', '公', '宫', '弓', '巩', '汞', '拱', '贡', '共', '钩', '勾', '沟', '苟', '狗', '垢', '构', '购', '够', '辜', '菇', '咕', '箍', '估', '沽', '孤', '姑', '鼓', '古', '蛊', '骨', '谷', '股', '故', '顾', '固', '雇', '刮', '瓜', '剐', '寡', '挂', '褂', '乖', '拐', '怪', '棺', '关', '官', '冠', '观', '管', '馆', '罐', '惯', '灌', '贯', '光', '广', '逛', '瑰', '规', '圭', '硅', '归', '龟', '闺', '轨', '鬼', '诡', '癸', '桂', '柜', '跪', '贵', '刽', '辊', '滚', '棍', '锅', '郭', '国', '果', '裹', '过', '哈', '骸', '孩', '海', '氦', '亥', '害', '骇', '酣', '憨', '邯', '韩', '含', '涵', '寒', '函', '喊', '罕', '翰', '撼', '捍', '旱', '憾', '悍', '焊', '汗', '汉', '夯', '杭', '航', '壕', '嚎', '豪', '毫', '郝', '好', '耗', '号', '浩', '呵', '喝', '荷', '菏', '核', '禾', '和', '何', '合', '盒', '貉', '阂', '河', '涸', '赫', '褐', '鹤', '贺', '嘿', '黑', '痕', '很', '狠', '恨', '哼', '亨', '横', '衡', '恒', '轰', '哄', '烘', '虹', '鸿', '洪', '宏', '弘', '红', '喉', '侯', '猴', '吼', '厚', '候', '后', '呼', '乎', '忽', '瑚', '壶', '葫', '胡', '蝴', '狐', '糊', '湖', '弧', '虎', '唬', '护', '互', '沪', '户', '花', '哗', '华', '猾', '滑', '画', '划', '化', '话', '槐', '徊', '怀', '淮', '坏', '欢', '环', '桓', '还', '缓', '换', '患', '唤', '痪', '豢', '焕', '涣', '宦', '幻', '荒', '慌', '黄', '磺', '蝗', '簧', '皇', '凰', '惶', '煌', '晃', '幌', '恍', '谎', '灰', '挥', '辉', '徽', '恢', '蛔', '回', '毁', '悔', '慧', '卉', '惠', '晦', '贿', '秽', '会', '烩', '汇', '讳', '诲', '绘', '荤', '昏', '婚', '魂', '浑', '混', '豁', '活', '伙', '火', '获', '或', '惑', '霍', '货', '祸', '击', '圾', '基', '机', '畸', '稽', '积', '箕', '肌', '饥', '迹', '激', '讥', '鸡', '姬', '绩', '缉', '吉', '极', '棘', '辑', '籍', '集', '及', '急', '疾', '汲', '即', '嫉', '级', '挤', '几', '脊', '己', '蓟', '技', '冀', '季', '伎', '祭', '剂', '悸', '济', '寄', '寂', '计', '记', '既', '忌', '际', '妓', '继', '纪', '嘉', '枷', '夹', '佳', '家', '加', '荚', '颊', '贾', '甲', '钾', '假', '稼', '价', '架', '驾', '嫁', '歼', '监', '坚', '尖', '笺', '间', '煎', '兼', '肩', '艰', '奸', '缄', '茧', '检', '柬', '碱', '硷', '拣', '捡', '简', '俭', '剪', '减', '荐', '槛', '鉴', '践', '贱', '见', '键', '箭', '件', '健', '舰', '剑', '饯', '渐', '溅', '涧', '建', '僵', '姜', '将', '浆', '江', '疆', '蒋', '桨', '奖', '讲', '匠', '酱', '降', '蕉', '椒', '礁', '焦', '胶', '交', '郊', '浇', '骄', '娇', '嚼', '搅', '铰', '矫', '侥', '脚', '狡', '角', '饺', '缴', '绞', '剿', '教', '酵', '轿', '较', '叫', '窖', '揭', '接', '皆', '秸', '街', '阶', '截', '劫', '节', '茎', '睛', '晶', '鲸', '京', '惊', '精', '粳', '经', '井', '警', '景', '颈', '静', '境', '敬', '镜', '径', '痉', '靖', '竟', '竞', '净', '炯', '窘', '揪', '究', '纠', '玖', '韭', '久', '灸', '九', '酒', '厩', '救', '旧', '臼', '舅', '咎', '就', '疚', '鞠', '拘', '狙', '疽', '居', '驹', '菊', '局', '咀', '矩', '举', '沮', '聚', '拒', '据', '巨', '具', '距', '踞', '锯', '俱', '句', '惧', '炬', '剧', '捐', '鹃', '娟', '倦', '眷', '卷', '绢', '撅', '攫', '抉', '掘', '倔', '爵', '桔', '杰', '捷', '睫', '竭', '洁', '结', '解', '姐', '戒', '藉', '芥', '界', '借', '介', '疥', '诫', '届', '巾', '筋', '斤', '金', '今', '津', '襟', '紧', '锦', '仅', '谨', '进', '靳', '晋', '禁', '近', '烬', '浸', '尽', '劲', '荆', '兢', '觉', '决', '诀', '绝', '均', '菌', '钧', '军', '君', '峻', '俊', '竣', '浚', '郡', '骏', '喀', '咖', '卡', '咯', '开', '揩', '楷', '凯', '慨', '刊', '堪', '勘', '坎', '砍', '看', '康', '慷', '糠', '扛', '抗', '亢', '炕', '考', '拷', '烤', '靠', '坷', '苛', '柯', '棵', '磕', '颗', '科', '壳', '咳', '可', '渴', '克', '刻', '客', '课', '肯', '啃', '垦', '恳', '坑', '吭', '空', '恐', '孔', '控', '抠', '口', '扣', '寇', '枯', '哭', '窟', '苦', '酷', '库', '裤', '夸', '垮', '挎', '跨', '胯', '块', '筷', '侩', '快', '宽', '款', '匡', '筐', '狂', '框', '矿', '眶', '旷', '况', '亏', '盔', '岿', '窥', '葵', '奎', '魁', '傀', '馈', '愧', '溃', '坤', '昆', '捆', '困', '括', '扩', '廓', '阔', '垃', '拉', '喇', '蜡', '腊', '辣', '啦', '莱', '来', '赖', '蓝', '婪', '栏', '拦', '篮', '阑', '兰', '澜', '谰', '揽', '览', '懒', '缆', '烂', '滥', '琅', '榔', '狼', '廊', '郎', '朗', '浪', '捞', '劳', '牢', '老', '佬', '姥', '酪', '烙', '涝', '勒', '乐', '雷', '镭', '蕾', '磊', '累', '儡', '垒', '擂', '肋', '类', '泪', '棱', '楞', '冷', '厘', '梨', '犁', '黎', '篱', '狸', '离', '漓', '理', '李', '里', '鲤', '礼', '莉', '荔', '吏', '栗', '丽', '厉', '励', '砾', '历', '利', '傈', '例', '俐', '痢', '立', '粒', '沥', '隶', '力', '璃', '哩', '俩', '联', '莲', '连', '镰', '廉', '怜', '涟', '帘', '敛', '脸', '链', '恋', '炼', '练', '粮', '凉', '梁', '粱', '良', '两', '辆', '量', '晾', '亮', '谅', '撩', '聊', '僚', '疗', '燎', '寥', '辽', '潦', '了', '撂', '镣', '廖', '料', '列', '裂', '烈', '劣', '猎', '琳', '林', '磷', '霖', '临', '邻', '鳞', '淋', '凛', '赁', '吝', '拎', '玲', '菱', '零', '龄', '铃', '伶', '羚', '凌', '灵', '陵', '岭', '领', '另', '令', '溜', '琉', '榴', '硫', '馏', '留', '刘', '瘤', '流', '柳', '六', '龙', '聋', '咙', '笼', '窿', '隆', '垄', '拢', '陇', '楼', '娄', '搂', '篓', '漏', '陋', '芦', '卢', '颅', '庐', '炉', '掳', '卤', '虏', '鲁', '麓', '碌', '露', '路', '赂', '鹿', '潞', '禄', '录', '陆', '戮', '驴', '吕', '铝', '侣', '旅', '履', '屡', '缕', '虑', '氯', '律', '率', '滤', '绿', '峦', '挛', '孪', '滦', '卵', '乱', '掠', '略', '抡', '轮', '伦', '仑', '沦', '纶', '论', '萝', '螺', '罗', '逻', '锣', '箩', '骡', '裸', '落', '洛', '骆', '络', '妈', '麻', '玛', '码', '蚂', '马', '骂', '嘛', '吗', '埋', '买', '麦', '卖', '迈', '脉', '瞒', '馒', '蛮', '满', '蔓', '曼', '慢', '漫', '谩', '芒', '茫', '盲', '氓', '忙', '莽', '猫', '茅', '锚', '毛', '矛', '铆', '卯', '茂', '冒', '帽', '貌', '贸', '么', '玫', '枚', '梅', '酶', '霉', '煤', '没', '眉', '媒', '镁', '每', '美', '昧', '寐', '妹', '媚', '门', '闷', '们', '萌', '蒙', '檬', '盟', '锰', '猛', '梦', '孟', '眯', '醚', '靡', '糜', '迷', '谜', '弥', '米', '秘', '觅', '泌', '蜜', '密', '幂', '棉', '眠', '绵', '冕', '免', '勉', '娩', '缅', '面', '苗', '描', '瞄', '藐', '秒', '渺', '庙', '妙', '蔑', '灭', '民', '抿', '皿', '敏', '悯', '闽', '明', '螟', '鸣', '铭', '名', '命', '谬', '摸', '摹', '蘑', '模', '膜', '磨', '摩', '魔', '抹', '末', '莫', '墨', '默', '沫', '漠', '寞', '陌', '谋', '牟', '某', '拇', '牡', '亩', '姆', '母', '墓', '暮', '幕', '募', '慕', '木', '目', '睦', '牧', '穆', '拿', '哪', '呐', '钠', '那', '娜', '纳', '氖', '乃', '奶', '耐', '奈', '南', '男', '难', '囊', '挠', '脑', '恼', '闹', '淖', '呢', '馁', '内', '嫩', '能', '妮', '霓', '倪', '泥', '尼', '拟', '你', '匿', '腻', '逆', '溺', '蔫', '拈', '年', '碾', '撵', '捻', '念', '娘', '酿', '鸟', '尿', '捏', '聂', '孽', '啮', '镊', '镍', '涅', '您', '柠', '狞', '凝', '宁', '拧', '泞', '牛', '扭', '钮', '纽', '脓', '浓', '农', '弄', '奴', '努', '怒', '女', '暖', '虐', '疟', '挪', '懦', '糯', '诺', '哦', '欧', '鸥', '殴', '藕', '呕', '偶', '沤', '啪', '趴', '爬', '帕', '怕', '琶', '拍', '排', '牌', '徘', '湃', '派', '攀', '潘', '盘', '磐', '盼', '畔', '判', '叛', '乓', '庞', '旁', '耪', '胖', '抛', '咆', '刨', '炮', '袍', '跑', '泡', '呸', '胚', '培', '裴', '赔', '陪', '配', '佩', '沛', '喷', '盆', '砰', '抨', '烹', '澎', '彭', '蓬', '棚', '硼', '篷', '膨', '朋', '鹏', '捧', '碰', '坯', '砒', '霹', '批', '披', '劈', '琵', '毗', '啤', '脾', '疲', '皮', '匹', '痞', '僻', '屁', '譬', '篇', '偏', '片', '骗', '飘', '漂', '瓢', '票', '撇', '瞥', '拼', '频', '贫', '品', '聘', '乒', '坪', '苹', '萍', '平', '凭', '瓶', '评', '屏', '坡', '泼', '颇', '婆', '破', '魄', '迫', '粕', '剖', '扑', '铺', '仆', '莆', '葡', '菩', '蒲', '埔', '朴', '圃', '普', '浦', '谱', '曝', '瀑', '期', '欺', '栖', '戚', '妻', '七', '凄', '漆', '柒', '沏', '其', '棋', '奇', '歧', '畦', '崎', '脐', '齐', '旗', '祈', '祁', '骑', '起', '岂', '乞', '企', '启', '契', '砌', '器', '气', '迄', '弃', '汽', '泣', '讫', '掐', '洽', '牵', '扦', '钎', '铅', '千', '迁', '签', '仟', '谦', '乾', '黔', '钱', '钳', '前', '潜', '遣', '浅', '谴', '堑', '嵌', '欠', '歉', '枪', '呛', '腔', '羌', '墙', '蔷', '强', '抢', '橇', '锹', '敲', '悄', '桥', '瞧', '乔', '侨', '巧', '鞘', '撬', '翘', '峭', '俏', '窍', '切', '茄', '且', '怯', '窃', '钦', '侵', '亲', '秦', '琴', '勤', '芹', '擒', '禽', '寝', '沁', '青', '轻', '氢', '倾', '卿', '清', '擎', '晴', '氰', '情', '顷', '请', '庆', '琼', '穷', '秋', '丘', '邱', '球', '求', '囚', '酋', '泅', '趋', '区', '蛆', '曲', '躯', '屈', '驱', '渠', '取', '娶', '龋', '趣', '去', '圈', '颧', '权', '醛', '泉', '全', '痊', '拳', '犬', '券', '劝', '缺', '炔', '瘸', '却', '鹊', '榷', '确', '雀', '裙', '群', '然', '燃', '冉', '染', '瓤', '壤', '攘', '嚷', '让', '饶', '扰', '绕', '惹', '热', '壬', '仁', '人', '忍', '韧', '任', '认', '刃', '妊', '纫', '扔', '仍', '日', '戎', '茸', '蓉', '荣', '融', '熔', '溶', '容', '绒', '冗', '揉', '柔', '肉', '茹', '蠕', '儒', '孺', '如', '辱', '乳', '汝', '入', '褥', '软', '阮', '蕊', '瑞', '锐', '闰', '润', '若', '弱', '撒', '洒', '萨', '腮', '鳃', '塞', '赛', '三', '叁', '伞', '散', '桑', '嗓', '丧', '搔', '骚', '扫', '嫂', '瑟', '色', '涩', '森', '僧', '莎', '砂', '杀', '刹', '沙', '纱', '傻', '啥', '煞', '筛', '晒', '珊', '苫', '杉', '山', '删', '煽', '衫', '闪', '陕', '擅', '赡', '膳', '善', '汕', '扇', '缮', '墒', '伤', '商', '赏', '晌', '上', '尚', '裳', '梢', '捎', '稍', '烧', '芍', '勺', '韶', '少', '哨', '邵', '绍', '奢', '赊', '蛇', '舌', '舍', '赦', '摄', '射', '慑', '涉', '社', '设', '砷', '申', '呻', '伸', '身', '深', '娠', '绅', '神', '沈', '审', '婶', '甚', '肾', '慎', '渗', '声', '生', '甥', '牲', '升', '绳', '省', '盛', '剩', '胜', '圣', '师', '失', '狮', '施', '湿', '诗', '尸', '虱', '十', '石', '拾', '时', '什', '食', '蚀', '实', '识', '史', '矢', '使', '屎', '驶', '始', '式', '示', '士', '世', '柿', '事', '拭', '誓', '逝', '势', '是', '嗜', '噬', '适', '仕', '侍', '释', '饰', '氏', '市', '恃', '室', '视', '试', '收', '手', '首', '守', '寿', '授', '售', '受', '瘦', '兽', '蔬', '枢', '梳', '殊', '抒', '输', '叔', '舒', '淑', '疏', '书', '赎', '孰', '熟', '薯', '暑', '曙', '署', '蜀', '黍', '鼠', '属', '术', '述', '树', '束', '戍', '竖', '墅', '庶', '数', '漱', '恕', '刷', '耍', '摔', '衰', '甩', '帅', '栓', '拴', '霜', '双', '爽', '谁', '水', '睡', '税', '吮', '瞬', '顺', '舜', '说', '硕', '朔', '烁', '斯', '撕', '嘶', '思', '私', '司', '丝', '死', '肆', '寺', '嗣', '四', '伺', '似', '饲', '巳', '松', '耸', '怂', '颂', '送', '宋', '讼', '诵', '搜', '艘', '擞', '嗽', '苏', '酥', '俗', '素', '速', '粟', '僳', '塑', '溯', '宿', '诉', '肃', '酸', '蒜', '算', '虽', '隋', '随', '绥', '髓', '碎', '岁', '穗', '遂', '隧', '祟', '孙', '损', '笋', '蓑', '梭', '唆', '缩', '琐', '索', '锁', '所', '塌', '他', '它', '她', '塔', '獭', '挞', '蹋', '踏', '胎', '苔', '抬', '台', '泰', '酞', '太', '态', '汰', '坍', '摊', '贪', '瘫', '滩', '坛', '檀', '痰', '潭', '谭', '谈', '坦', '毯', '袒', '碳', '探', '叹', '炭', '汤', '塘', '搪', '堂', '棠', '膛', '唐', '糖', '倘', '躺', '淌', '趟', '烫', '掏', '涛', '滔', '绦', '萄', '桃', '逃', '淘', '陶', '讨', '套', '特', '藤', '腾', '疼', '誊', '梯', '剔', '踢', '锑', '提', '题', '蹄', '啼', '体', '替', '嚏', '惕', '涕', '剃', '屉', '天', '添', '填', '田', '甜', '恬', '舔', '腆', '挑', '条', '迢', '眺', '跳', '贴', '铁', '帖', '厅', '听', '烃', '汀', '廷', '停', '亭', '庭', '挺', '艇', '通', '桐', '酮', '瞳', '同', '铜', '彤', '童', '桶', '捅', '筒', '统', '痛', '偷', '投', '头', '透', '凸', '秃', '突', '图', '徒', '途', '涂', '屠', '土', '吐', '兔', '湍', '团', '推', '颓', '腿', '蜕', '褪', '退', '吞', '屯', '臀', '拖', '托', '脱', '鸵', '陀', '驮', '驼', '椭', '妥', '拓', '唾', '挖', '哇', '蛙', '洼', '娃', '瓦', '袜', '歪', '外', '豌', '弯', '湾', '玩', '顽', '丸', '烷', '完', '碗', '挽', '晚', '皖', '惋', '宛', '婉', '万', '腕', '汪', '王', '亡', '枉', '网', '往', '旺', '望', '忘', '妄', '威', '巍', '微', '危', '韦', '违', '桅', '围', '唯', '惟', '为', '潍', '维', '苇', '萎', '委', '伟', '伪', '尾', '纬', '未', '蔚', '味', '畏', '胃', '喂', '魏', '位', '渭', '谓', '尉', '慰', '卫', '瘟', '温', '蚊', '文', '闻', '纹', '吻', '稳', '紊', '问', '嗡', '翁', '瓮', '挝', '蜗', '涡', '窝', '我', '斡', '卧', '握', '沃', '巫', '呜', '钨', '乌', '污', '诬', '屋', '无', '芜', '梧', '吾', '吴', '毋', '武', '五', '捂', '午', '舞', '伍', '侮', '坞', '戊', '雾', '晤', '物', '勿', '务', '悟', '误', '昔', '熙', '析', '西', '硒', '矽', '晰', '嘻', '吸', '锡', '牺', '稀', '息', '希', '悉', '膝', '夕', '惜', '熄', '烯', '溪', '汐', '犀', '檄', '袭', '席', '习', '媳', '喜', '铣', '洗', '系', '隙', '戏', '细', '瞎', '虾', '匣', '霞', '辖', '暇', '峡', '侠', '狭', '下', '厦', '夏', '吓', '掀', '锨', '先', '仙', '鲜', '纤', '咸', '贤', '衔', '舷', '闲', '涎', '弦', '嫌', '显', '险', '现', '献', '县', '腺', '馅', '羡', '宪', '陷', '限', '线', '相', '厢', '镶', '香', '箱', '襄', '湘', '乡', '翔', '祥', '详', '想', '响', '享', '项', '巷', '橡', '像', '向', '象', '萧', '硝', '霄', '削', '哮', '嚣', '销', '消', '宵', '淆', '晓', '小', '孝', '校', '肖', '啸', '笑', '效', '楔', '些', '歇', '蝎', '鞋', '协', '挟', '携', '邪', '斜', '胁', '谐', '写', '械', '卸', '蟹', '懈', '泄', '泻', '谢', '屑', '薪', '芯', '锌', '欣', '辛', '新', '忻', '心', '信', '衅', '星', '腥', '猩', '惺', '兴', '刑', '型', '形', '邢', '行', '醒', '幸', '杏', '性', '姓', '兄', '凶', '胸', '匈', '汹', '雄', '熊', '休', '修', '羞', '朽', '嗅', '锈', '秀', '袖', '绣', '墟', '戌', '需', '虚', '嘘', '须', '徐', '许', '蓄', '酗', '叙', '旭', '序', '畜', '恤', '絮', '婿', '绪', '续', '轩', '喧', '宣', '悬', '旋', '玄', '选', '癣', '眩', '绚', '靴', '薛', '学', '穴', '雪', '血', '勋', '熏', '循', '旬', '询', '寻', '驯', '巡', '殉', '汛', '训', '讯', '逊', '迅', '压', '押', '鸦', '鸭', '呀', '丫', '芽', '牙', '蚜', '崖', '衙', '涯', '雅', '哑', '亚', '讶', '焉', '咽', '阉', '烟', '淹', '盐', '严', '研', '蜒', '岩', '延', '言', '颜', '阎', '炎', '沿', '奄', '掩', '眼', '衍', '演', '艳', '堰', '燕', '厌', '砚', '雁', '唁', '彦', '焰', '宴', '谚', '验', '殃', '央', '鸯', '秧', '杨', '扬', '佯', '疡', '羊', '洋', '阳', '氧', '仰', '痒', '养', '样', '漾', '邀', '腰', '妖', '瑶', '摇', '尧', '遥', '窑', '谣', '姚', '咬', '舀', '药', '要', '耀', '椰', '噎', '耶', '爷', '野', '冶', '也', '页', '掖', '业', '叶', '曳', '腋', '夜', '液', '一', '壹', '医', '揖', '铱', '依', '伊', '衣', '颐', '夷', '遗', '移', '仪', '胰', '疑', '沂', '宜', '姨', '彝', '椅', '蚁', '倚', '已', '乙', '矣', '以', '艺', '抑', '易', '邑', '屹', '亿', '役', '臆', '逸', '肄', '疫', '亦', '裔', '意', '毅', '忆', '义', '益', '溢', '诣', '议', '谊', '译', '异', '翼', '翌', '绎', '茵', '荫', '因', '殷', '音', '阴', '姻', '吟', '银', '淫', '寅', '饮', '尹', '引', '隐', '印', '英', '樱', '婴', '鹰', '应', '缨', '莹', '萤', '营', '荧', '蝇', '迎', '赢', '盈', '影', '颖', '硬', '映', '哟', '拥', '佣', '臃', '痈', '庸', '雍', '踊', '蛹', '咏', '泳', '涌', '永', '恿', '勇', '用', '幽', '优', '悠', '忧', '尤', '由', '邮', '铀', '犹', '油', '游', '酉', '有', '友', '右', '佑', '釉', '诱', '又', '幼', '迂', '淤', '于', '盂', '榆', '虞', '愚', '舆', '余', '俞', '逾', '鱼', '愉', '渝', '渔', '隅', '予', '娱', '雨', '与', '屿', '禹', '宇', '语', '羽', '玉', '域', '芋', '郁', '吁', '遇', '喻', '峪', '御', '愈', '欲', '狱', '育', '誉', '浴', '寓', '裕', '预', '豫', '驭', '鸳', '渊', '冤', '元', '垣', '袁', '原', '援', '辕', '园', '员', '圆', '猿', '源', '缘', '远', '苑', '愿', '怨', '院', '曰', '约', '越', '跃', '钥', '岳', '粤', '月', '悦', '阅', '耘', '云', '郧', '匀', '陨', '允', '运', '蕴', '酝', '晕', '韵', '孕', '匝', '砸', '杂', '栽', '哉', '灾', '宰', '载', '再', '在', '咱', '攒', '暂', '赞', '赃', '脏', '葬', '遭', '糟', '凿', '藻', '枣', '早', '澡', '蚤', '躁', '噪', '造', '皂', '灶', '燥', '责', '择', '则', '泽', '贼', '怎', '增', '憎', '曾', '赠', '扎', '喳', '渣', '札', '轧', '铡', '闸', '眨', '栅', '榨', '咋', '乍', '炸', '诈', '摘', '斋', '宅', '窄', '债', '寨', '瞻', '毡', '詹', '粘', '沾', '盏', '斩', '辗', '崭', '展', '蘸', '栈', '占', '战', '站', '湛', '绽', '樟', '章', '彰', '漳', '张', '掌', '涨', '杖', '丈', '帐', '账', '仗', '胀', '瘴', '障', '招', '昭', '找', '沼', '赵', '照', '罩', '兆', '肇', '召', '遮', '折', '哲', '蛰', '辙', '者', '锗', '蔗', '这', '浙', '珍', '斟', '真', '甄', '砧', '臻', '贞', '针', '侦', '枕', '疹', '诊', '震', '振', '镇', '阵', '蒸', '挣', '睁', '征', '狰', '争', '怔', '整', '拯', '正', '政', '帧', '症', '郑', '证', '芝', '枝', '支', '吱', '蜘', '知', '肢', '脂', '汁', '之', '织', '职', '直', '植', '殖', '执', '值', '侄', '址', '指', '止', '趾', '只', '旨', '纸', '志', '挚', '掷', '至', '致', '置', '帜', '峙', '制', '智', '秩', '稚', '质', '炙', '痔', '滞', '治', '窒', '中', '盅', '忠', '钟', '衷', '终', '种', '肿', '重', '仲', '众', '舟', '周', '州', '洲', '诌', '粥', '轴', '肘', '帚', '咒', '皱', '宙', '昼', '骤', '珠', '株', '蛛', '朱', '猪', '诸', '诛', '逐', '竹', '烛', '煮', '拄', '瞩', '嘱', '主', '著', '柱', '助', '蛀', '贮', '铸', '筑', '住', '注', '祝', '驻', '抓', '爪', '拽', '专', '砖', '转', '撰', '赚', '篆', '桩', '庄', '装', '妆', '撞', '壮', '状', '椎', '锥', '追', '赘', '坠', '缀', '谆', '准', '捉', '拙', '卓', '桌', '琢', '茁', '酌', '啄', '着', '灼', '浊', '兹', '咨', '资', '姿', '滋', '淄', '孜', '紫', '仔', '籽', '滓', '子', '自', '渍', '字', '鬃', '棕', '踪', '宗', '综', '总', '纵', '邹', '走', '奏', '揍', '租', '足', '卒', '族', '祖', '诅', '阻', '组', '钻', '纂', '嘴', '醉', '最', '罪', '尊', '遵', '昨', '左', '佐', '柞', '做', '作', '坐', '座', }; /* **若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 */ int checkCPU( ) { union w { int a; char b; } c; c.

vc下动态改变鼠标光标

消息下: SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS)); 或是: HCURSOR hc; hc=LoadCursor(NULL,IDC_CROSS); SetCursor(hc); IDC_APPSTARTING 带小沙漏的标准箭头 IDC_ARROW 标准箭头 IDC_CROSS 十字光标 IDC_HAND windows 2000:手型 IDC_HELP 带问号的箭头 IDC_IBEAM i型标 IDC_ICON obsolete for applications marked version 4.0 or later. IDC_NO 禁止符号 IDC_SIZE obsolete for applications marked version 4.0 or later. use idc_sizeall. IDC_SIZEALL 十字箭头 IDC_SIZENESW 指向东北和西南的双向箭头 IDC_SIZENS 指向南和北的双向箭头 IDC_SIZENWSE 指向西北和东南的双向箭头 IDC_SIZEWE 指向东西的双向箭头 IDC_UPARROW 上箭头 IDC_WAIT 沙漏 当我们要自己选择一个图标的时候按照以下几个步骤: 1、定义一个成员变量: HCURSOR m_cursor; m_cursor = AfxGetApp()->LoadCursor(IDC_CURSOR1); 也可以 m_cursor = LoadCursorFromFile(".//res//123.cur"); 2、重载 OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)函数,

IObjectSafety (Interfaces)

Summary IObjectSafety is used to mark ActiveX Controls safe for scripting. C# Definition: [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions); [PreserveSig()] int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions); } C# Sample Implementation: using System; using System.Runtime.InteropServices; [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions);

使用JXL进行EXCEL上传,cell.getContents()不能取得字段内容

cell.getContents()不能取得字段内容。 使用JXL.jar,读取cell内容时为空。字段类型如果为date,或者Lable(有中文)可以读取。 Lable(数字、字母、字符)读取结果为空。 环境体现 | 主干开发 | release | 生产 | release使用主干代码 -----------|----------|----------|-------|------------- 下载的文件 | Y | Y | o | Y -----------|----------|----------|-------|------------ 手写或修 | N | Y | N | Y 改文件 | | | | 注:o为未测试 代码无问题,2年没有改过,jar包为公用1年没有改过,之前一直好用,突然出现问题。怀疑环境编码或文件编码问题,但没有找到解决办法。 尝试用release上的jxl.jar替换主干上该jar包,主干开发环境可以正常读取了。 但是两个jar经过比对无任何不同之处。 第二天,tian同学另一模块同样问题。将jar替换到生产上无法解决问题。 将暂时认为有问题原主干开发jar回复,问题重现。 应用服务器(Weblogic)Locale为zh_CN,修改为en_US,可以正常读取。主干测试OAS,为en_US无法读取,修改为zh_CN可以读取。 EXCEL为微软格式编码,不存在utf-8,gbk编码不对的问题。但是应用的Locale表现又不一样。彻底晕菜。 tian同志发现一个办法,手工设置excel的编码后就没问题了: WorkbookSettings setting = new WorkbookSettings(); java.util.Locale locale = new java.util.Locale("zh", "CN"); setting.setLocale(locale); setting.setEncoding("ISO-8859-1"); book = Workbook.getWorkbook(zipFile.getInputStream(zipEntry),setting); 试用果然好使。 无法完全解释该问题,但估计与Locale相关,或者上传过程中产生的了问题。上传使用的最原始的<input type='file'> 如有人找到具体原因,请赐教。