在应用程序中,系统提示信息为用户提供参考信息,帮助用户正确使用系统。但运行Oracle form时,屏幕下方信息行的提示信息却是英文。当有两个以上信息等待在信息行上显示时,这些英文信息还会以窗口方式出现在屏幕中心。
如何避免这种情况呢? 笔者在实践中总结出解决此类问题的两种方法,希望能给初学者提供一些参考。
一、压缩系统信息,禁止系统信息显示在信息行上
Oracle form将每个信息定义了重要级别,用于表明该信息是重要还是不重要。共有如下六个等级:
重要级别 意 义
0 所有信息
5 重申明显的条件
10 操作人员产生了一个过程错误
15 操作人员试图执行form未设计的动作
20 由于触发子问题或某些其他突出问题不能继续动作
25 可能引起form不正确完成任务的一个条件
〉25 开发人员不能压缩的信息
开发人员可压缩的最大信息级别为25,使用如下语句禁止系统信息显示:
system.massege—level:=′25′;
禁止显示信息级别不大于25的系统信息:
system.suppress—working:=′TRUE′;
禁止显示系统处理一个动作时的工作信息
注重:这种方法只能屏蔽信息级别小于等于25的系统信息。
二、截获系统信息,转换为汉字提示信息
Oracle form中有两个触发子on—erro和on—message,分别在显示系统错误信息和通知信息(告诉操作人员当按碜刺蚋錾舷挛南喙氐男畔?时触发,在触发子中插入pl/sql代码实现汉字提示信息替换英文提示信息。例如:在on—erro触发子中插入以下编码:
Begin
If erro—code=40202 and error—type=′FRM′
Then message(′字段值必须键入!′); bell;
End if;
End;
这样,当有“form--40202”号错误时,系统信息行的提示信息会由原来的英文“field must be enterd”变为汉字“字段值必须键入!”,用户不用再为不熟悉的提示犯愁了。