公司人员紧张,我这个专职测试员又被派去做现场实施了,虽然曾经客串过5次软件实施,但对着相关硬件还是比较头疼,今天就给Argox条码打印机折腾了整整4个小时。遇到3个问题:
1.装好标签纸后,无法出纸,打印机的液晶屏提示“Media Out”。
2.打印出来的标签上没有内容。
3.打印3个以上标签后,就断了,打印机的液晶屏提示“Ribbon Out”。
好在经过一番摸索总算解决了,现将经验分享如下:
1.“Media Out”即指没有检测到标签纸,检查压住标签的塑料滑条,看箭头指示的地方是否位于标签宽度以内。
2.打印出来的标签上没有内容,注意温度是否被设置成0了?设置成12左右即可。
3.这个问题最郁闷,看提示信息,应该是碳带没有检测到,但重新安装了好几次还是不行,几个小时下来,满头大汗。最后喝了杯水,细细打量了一下内部结构,发现里面用来卡住标签纸的两根金属条上粘满了灰尘,用手一摸,很粘手。经过一番努力,把那金属条擦洗干净就可以了。
posted @ 2006-07-08 00:06 水晶鱼 阅读(211) | 评论 (1)编辑 收藏
 
在做ClinicOS的时候遇到一个问题,在保存病历登记时间时,我使用了“CURRENT_TIMESTAMP”,但这有个问题,它返回的是UTC Time,这对我们中国人没啥用,一直希望能想办法将它转为localtime。今天刚好有空,所以去查了查Sqlite的Mail List,果然也有人遇到了这个问题,我从一篇名为《translate time comparison statement》(http://www.mail-archive.com/sqlite-users@sqlite.org/msg12350.html)中看到这样的回复:
Mark Wyszomierski wrote:

You may want

WHERE julianday(date('now')) - julianday(date(arrival_date)) > 7

Mark,

You should still use the 'localtime' modifier on the 'now' value if your timestamps are local time since 'now' always returns UTC times.
WHERE julianday(date('now', 'localtime')) - julianday(date(arrival_date)) > 7

嘿嘿,看来如果想得到一个符合本机区域设置的当前时间,必须用date函数来转换,
但date只函数只返回当前日期,而我需要的是返回当前日期及时间,所以这里把它换成datetime函数,即:
datetime(CURRENT_TIMESTAMP,'localtime')

以下是sqlite下测试的输出信息:
sqlite> select CURRENT_TIMESTAMP;
2006-06-18 09:23:36
sqlite> select datetime(CURRENT_TIMESTAMP,'localtime');
2006-06-18 17:23:44
sqlite>


posted @ 2006-06-18 17:28 水晶鱼 阅读(3184) | 评论 (1)编辑 收藏
 
鼠标事件演示程序:
鼠标移动即显示鼠标坐标
JoinoseDemo_EVT_MOTION

posted @ 2006-06-14 13:53 水晶鱼 阅读(291) | 评论 (0)编辑 收藏
 
问:如果我想在同一个类中共用一个变量,但不希望子类继承,该怎么办呢?
答:那就在类中将这个变量加上global修饰符,
示例代码中:
1)x可被类parent内部使用,但不能被子类调用
2)y的作用域只是在parent.__init__方法内
3)z可被类parent内部使用也可被子类调用
示例代码如下:
testGlobal.py

示例代码输出结果为:
C:\Documents and Settings\Administrator\桌面>testGlobal.py
1.不能直接访问实例中的global变量
2.通过test方法才可以访问x: test.x=xxxx
3.不能访问父类中的global变量
4.但可以通过父类中的test方法得到: test.x=xxxx
5.可以访问父类中的self变量 zzzz
posted @ 2006-06-08 18:08 水晶鱼 阅读(231) | 评论 (0)编辑 收藏
 
今天有位网友在QQ群里问我“怎样探测一个变量是否存在?”,这个不难,用locals()方法就可以了,但这个技巧却很实用,所以还是记录一下:

  Eyes 19:58:18
怎样探测一个变量是否存在
水晶鱼 20:17:03

  Eyes 20:17:30
我想知道一个变量是否存在
水晶鱼 20:17:53
有办法的
  Eyes 20:18:02
说啊
水晶鱼 20:18:29
local字典
水晶鱼 20:18:50
locals()
  Eyes 20:19:04
谢谢 
水晶鱼 20:19:51
 
例子:
怎样探测一个变量是否存在?
posted @ 2006-06-06 21:09 水晶鱼 阅读(190) | 评论 (0)编辑 收藏
 
【本期导读】病历组合查询
病历组合查询这个模块没有遇到什么大的困难,主要是考虑的是怎么实现组合查询这个功能,这里我是使用动态sql的方式,将查询写成一个视图,然后根据组合查询界面输入的条件,生成sql,然后执行查询,返回结果的显示同“当天登记一览表”模块一样。
组合查询业务实现方法代码:
病历组合查询
以下是组合查询模块截图:
ZHCX_1.JPGZHCX_2.JPGZHCX_3.JPG
至此,病历管理模块基本功能完成
【下期提示】完成字典维护
posted @ 2006-05-27 15:48 水晶鱼 阅读(299) | 评论 (0)编辑 收藏
 

一开机,感觉速度比平常慢好多,于是查看一下进程,发现有两个smss.exe,我知道这个是系统进程,可一般只会运行一个的,为什么今天有两个在运行?而且其中一个占内存竟达10M以上,正常情况下只占300K左右。于是得出结论:中毒了。
按照本人平常手工杀毒的步骤开始杀毒:
1.结束病毒进程,禁用病毒服务
2.查找病毒文件及其变种文件
3.查找注册表的启动项或其它项中关于该病毒的项值
在执行第一步时,发现smss.exe这个进程不容易杀掉,试过在安全模式下也不行,但我记得有一个命令是可以强制结束指定进程的,这个命令就是:ntsd,不过需要加上一些参数,先ntsd /?查看一下帮助,经过一番研究,发现可以通过pid结束指定进程,命令如下:
ntsd -c q -p pid
将pid换成病毒进程对应的pid就可以了,这个pid可以通过任务管理器中查到.
接下来的两步都很顺利,重起系统后发现病毒已经被清除。
以下是杀毒全过程:

第一步.JPG
第二步.JPG 第三步.JPG 第四步.JPG
杀病毒的时候没有记录步骤,以下是凭记忆记录下来的:
假设你的系统是winxp在C盘:
先将系统文件及隐藏文件设置成可查看
1.结束smss.exe(注意别看错了)进程:
ntsd -c q -p 进程号
2.删除C:\windows(2000是winnt)下的这几个病毒文件:
rund1132.com
regedit.com
MSCONFIG.COM
dxdiag.com
command.pif
3.删除C:\windows\system32下的这几个病毒文件:
smss.exe
finders.com
EXP10RER.com
exerouter.exe
1.com
4.删除C:\Program Files\Internet Explorer\IEXPLORE.com
5.删除C:\Program Files\Common Files\IEXPLORE.pif
6.删除C:\WINDOWS\Debug\DebugProgram.exe
7.删除其它盘符根目录(如D盘,E盘)下的病毒文件pagefile.pif和Autorun.inf文件(这是病毒伪装成

页面文件,并让其自动播放,这样在双击这个盘的时候就会自动运行病毒)
8.删除注册表中的Run下的病毒自运行项
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"TProgram"="C:\Windows\smss.exe"
9.做完以上步骤,你会发现所有的执行程序(exe)双击都无法运行,这是因为病毒在注册表中改写了exe

的关联,将以下内容复制到记事本,保存为"*.reg",然后双击即可恢复关联:

Windows Registry Editor Version 5.00
; by 水晶鱼[31449581]
[HKEY_CLASSES_ROOT\*]

[HKEY_CLASSES_ROOT\.exe]
"Content Type"="application/x-msdownload"
@="exefile"

[HKEY_CLASSES_ROOT\exefile]
@="Application Extension"

10.嘿嘿,别以为这样就搞定了,病毒很可恶,启动的时候还会提示"找不到文件1",这个简单,把注册表中
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon的"shell"项目的值

改为"explorer.exe"

 

posted @ 2006-05-27 15:02 水晶鱼 阅读(3763) | 评论 (2)编辑 收藏
 
在用Python写ClinicOS时,数据库端遇到了不少问题,今天遇到的是如何实现像Oracle中的decode函数一样的功能?google了很久都没有找到答案,无赖之下只能滴了两滴眼药水,然后仔细阅读Sqlite文档,最后终于在这个页面找到了答案:
http://www.sqlite.org/lang_expr.html
实现这个功能的就是case...when...then...esle...end语句,用法很简单,结构比decode清晰多了,现举例如下:
例一:
Sqlite的case用法简单例程

例二:
假设有个表test,其中用一个整形字段sex表示性别,1表示男,0表示女,-1表示未知,其它情况表示未填,则sql为:
Sqlite的case用法详细举例

注意,when...then可以出现N组,且注意中间没有任标点,权用逗号隔开.
希望对用Sqlite的朋友们有所帮助
posted @ 2006-05-25 20:12 水晶鱼 阅读(3764) | 评论 (5)编辑 收藏
 
【本期导读】完成当天登记信息一览
在做【当天登记信息一览】这个模块时,结合平时的测试经验,设计表现形式,决定用wx.Notebook来做数据显示,第一页显示列表,第二页显示列表中选中记录的详细信息。
列表页使用wx.ListCtrl来显示数据,这里为求快速简单,就写了一个DataListCtrl类简单地继承了wx.ListCtrl这个类,主要扩充了数据填充方法,能将一个字典数据填入列表。主要的代码片断:

刚开始我把选中单条记录(OnItemSelected)和双击单条记录(OnDoubleClick)这两个方法也写在DataListCtrl类中,但后来发现这样写不太通用,于是把它们提出来写在PatientManageTodayListPanel这个类中,然后在这里绑定DataListCtrl的单选和双击事件。
之前遇到一个问题:如何在单击菜单后打开一个wx.Notbook的Page,再次单击这个菜单时能自动跳到这个打开的Page上?查过wx.Notebook的API文档,没有发现现存的查找Page的方法,于是就自己想办法解决,后来我是这样解决的:
用一个字典来记录Page是否打开,以及它的index
然后在显示这个Page的时候更新这个字典:
如何跳到打开的Page上

截图:
todaydetail.jpg
todaylist.jpg
【下期提示】完成病历组合查询
posted @ 2006-05-18 22:15 水晶鱼 阅读(293) | 评论 (0)编辑 收藏
 
     摘要: 【本期导读】 完成病人资料修改模块终于有空学习python了,五一放了七天假,回家看了看,原来世界每个角落天天都在变化,就连生我养我的那个小村庄也有较大的变化,差点不记得回家的路了。本以为这个小系统不会耗费太多时间的,可是一路做下来发现实际应用中还是会遇到很多困难的。最新几天看了看病人资料登记的代码,发现不够简洁,结构不太好,于是花了两天时间整理了一下,抽象出一个病案管理的基类,然后登记,修...  阅读全文
posted @ 2006-05-16 18:14 水晶鱼 阅读(326) | 评论 (0)编辑 收藏
仅列出标题
共3页: 上一页 1 2 3 下一页