Oracle Forms结果框显示数字方法?11g计算器按钮'1'触发问题
Oracle Forms Developer 11g 实现计算器数字显示功能
我之前做过类似的Oracle Forms计算器开发,给你一步步拆解怎么实现按下'1'按钮后在结果框显示数字的功能:
第一步:确认结果显示项的基础设置
首先确保你的结果显示框是文本项(Text Item)(别用数字项,不然拼接数字会有问题),建议给它起个好记的名字比如RESULT_DISPLAY。另外为了用户体验,把它的Read Only属性设为Yes,防止用户直接在输入框里乱改内容。
第二步:给'1'按钮添加触发器
在标签为'1'的按钮上,右键选择Triggers → Create,创建WHEN-BUTTON-PRESSED触发器,然后在触发器里编写PL/SQL代码:
-- 处理两种场景:初始状态(空或0)直接替换,已有数字则追加 IF :RESULT_DISPLAY IS NULL OR :RESULT_DISPLAY = '0' THEN :RESULT_DISPLAY := '1'; ELSE :RESULT_DISPLAY := :RESULT_DISPLAY || '1'; END IF;
额外注意事项
- 如果你的计算器需要支持小数点输入,这段代码也能直接兼容,比如结果框已经是'3.',按下'1'后会变成'3.1',完全没问题。
- 记得测试初始状态:比如打开表单时结果框显示0,按下'1'后应该替换成1;如果已经输入了'123',按下'1'后变成'1231'。
内容的提问来源于stack exchange,提问作者Ramiz Tariq




