专利名称:利用wpf技术完成计算的系统的制作方法
技术领域:
本发明涉及计算器,尤其是对计算器输入、显示、容错功能的人性化设计,具体地, 涉及利用WPF技术完成计算的系统。
背景技术:
随着科学技术不断发展,计算器越来越融入人们的生活。人们遇到了问题,可以寻 求计算器的帮助,而计算器这个强有力的工具也应得到合理的利用以提高工作效率。对于 计算器,最简单的功能莫过于计算了,人们可能遇到一些如计算房贷、复利,或是一些涉及 统计的问题,可以利用计算器来解决,解决这一问题只需要一个方便易用的计算器。然而当 前的计算器有些并不能满足人们的需求,或虽不乏有功能强大,操作却繁琐不便的,人机互 动方面也不够友好。因此人们仍不青睐于使用计算器来解决问题。由此不得不引发思考, 计算器强大的功能形同虚设,人们仍然做着或多或少的重复低效劳动。于是,发明人决定利 用自己所学的知识,再加上之前总结的计算器应用软件的诸多不足,从人性化、高互动性、 实用性和易用性角度出发,设计一款与众不同的计算器,使人们生活中可能遇到的问题更 加顺利地解决,充分发挥计算器的优势。所以本发明的设计是具有实际意义的,能够改变人 们对计算器的认识以及提高工作效率。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种利用WPF技术完成计算的系统。根据本发明的一个方面,提供利用WPF技术完成计算的系统,包括显示装置、输入 装置以及计算控制装置,其中,所述输入装置包括按键隐藏装置,其用于隐藏不常用的按 键。优选地,所述输入装置包括表达式计算装置,其用于计算用户所输入表达式的运 算结果,并将所述运算结果作为输入数值。优选地,所述计算控制装置包括装置数值检查装置,其用于检查所述输入数值是 否属于定义域内的数值;第一提示装置,其用于当所述输入数值不属于定义域内的数值时, 控制所述显示装置显示错误提示信息。优选地,所述计算器还包括如下装置超时判断装置,其用于判断所述计算控制装 置执行用户所输入计算指令的已耗时间是否超过第一阈值;超时控制装置,其用于当所述 超时判断装置的判断结果是肯定的时,终止所述计算控制装置的当前计算。优选地,所述计算器还包括如下装置超时阈值确定装置,其用于根据用户所输入 计算指令确定所述第一阈值。优选地,所述按键隐藏装置包括至少两个按键标签页单元,所述按键标签页单元 上分布有按键,其中,所述输入装置同时仅显示一个所述按键标签页单元。优选地,所述计算器还包括内部变量存储装置,其用于对需要在不同所述按键标签页单元之间传递的变量进行临时存储。优选地,所述输入装置包括如下装置字符串过滤装置,其用于将外部数据中除表 达式和数值之外的字符去除;批量复制装置,其用于将经过过滤后留下的表达式以及数值 作为用户所输入表达式或数值。优选地,所述输入装置包括如下装置表达式解析装置,其用于清除用户所输入表 达式中的冗余空格,其中,所述表达式解析装置包括如下装置第一确定装置,其用于依次 确定用户所输入表达式中的字符为标识符或者数字;第一处理装置,其用于当所述第一确 定装置确定所述字符为标识符时,将标识符之后保留一个空格,除了运算符之前全部清楚; 第二处理装置,其用于当所述第一确定装置确定所述字符为数字时,将数字之后的空格全 部清楚,除了两个数字之间的唯一空格。优选地,所述计算控制装置包括如下装置中的任一个或任多个装置累计计算装 置;变量存储装置;初等函数运算装置;排列组合运算装置;几何计算装置;迭代计算装置; 加密计算装置。根据本发明提供计算器核心理念围绕着人性化、高互动性、实用性和易用性四个 方面,力求提高人们的工作效率,减少重复而繁琐的劳动,并且在工作方式上不断优化,真 正达到人性化的要求。本发明的价值也在于以这样一种新的方式改革传统计算器的不足。 目前大部分计算器软件,主要基于WinForm设计程序界面。Wir^orm的可视化图形设计完全 依靠集成开发环境的支持下直接生成相应的高级语言绘图代码,使用了 GDI+进行图形绘 制,然后利用VB、VC/C++、VC#高级语言编写程序,它们基于.Net Framework技术。另外也 有使用Delphi、Java编写的计算器。这些计算器实现了常规计算、矩阵、积分,还有各类问 题的针对性计算。而本发明结合WPF技术设计了一款具有友好用户界面、并且可以进行表达式计算 的多功能计算器。创新使用了.Net Framework WPF技术制作了计算器的用户界面并进行 透明化处理,支持前端悬浮,让计算与所处理的问题融为一体。进一步地,人们生活、工作中 经常会遇到经济或工程方面的各类计算问题,如利用三角关系测距离,计算积分等。本计算 器使用了标签页嵌套、按钮切换实现了便捷实用的用户界面,通过双击拖拽、热键等方式解 决了数据重利用的问题。其中不但设计了全局变量,而且设置了一些状态变量,从中可以得 知计算器的工作状态,从而正确协调全局变量。调试过程中也遇到了许多问题,包括数据溢 出造成计算错误,发明人采用了从定义域上限制输入数据来回避数据溢出造成的运行时错 误,其流程如图4所示。在表达式解析的部分,发明人增加了表达式格式化功能,这使得用 户可以输入一些不太规范的表达式,如省略sin符号的括号和字母和常数系数间的乘号, 也可以过滤冗余的空格,使表达式输入更加自然简洁。测试结果表明,这些设计可让人提高 工作效率和使用体验。
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显图1示出根据本发明的第一实施例的,利用WPF技术完成计算的系统的结构示意 图2示出根据本发明的第二实施例的,利用WPF技术完成计算的系统中输入装置 的结构示意图;图3示出根据本发明的一个具体实施方式
的,利用WPF技术完成计算的系统的功 能树形图;图4示出根据本发明的另一个具体实施方式
的,利用WPF技术完成计算的系统的 数字过滤原理图;以及图5示出根据本发明的又一个具体实施方式
的,利用WPF技术完成计算的系统中 多个按键标签页单元的原理示意图。
具体实施例方式图1示出根据本发明的第一实施例的,利用WPF技术完成计算的系统的结构示意 图。具体地,在本实施例中,所述计算器4包括显示装置1、输入装置3以及计算控制装置 2,其中,所述输入装置3包括按键隐藏装置31,其中,所述按键隐藏装置31用于隐藏不常用 的按键。本领域技术人员理解,随着计算机功能的增多,其按键(例如与触摸屏相配合的虚 拟按键)的数量非常多,如果在同一页面中显示将显得极为杂乱,并且由于显示装置的显 示面积有限,各个按键的面积只能设计得相应小,这给用户对按键的快速定位以及按下带 来了很大的困难。因此在本实施例中,所述计算器4通过所述按键隐藏装置31将不常用的 按键隐藏起来,就能减少占用面积,又确保了实用性,在视觉上就给人一种简洁的印象,使 人们的思维更集中于所处理的问题上。其中,用户可以自行将按键设置为常用或不常用;更 为具体的实现方式将在图2示出的实施例中进行描述。在一个优选例中,所述计算控制装 置2可以包括多种计算功能,如图3所示。优选地,所述输入装置3还包括表达式计算装置32、数值检查装置331以及第一 提示装置332,其中,所述表达式计算装置32用于计算用户所输入表达式的运算结果,并将 所述运算结果作为输入数值,所述数值检查装置331用于检查所述输入数值是否属于定义 域内的数值,所述第一提示装置332用于当所述输入数值不属于定义域内的数值时,控制 所述显示装置显示错误提示信息。其中,用户输入表达式时所述表达式计算装置32会自动 完成表达式的计算功能,帮助加快表达式的输入,例如,用户可以输入pi/2来代替以往的 1. 5707963。具体地,所述表达式计算装置32识别用户所输入的表达式,然后对该表达式进 行计算,优选地还可以通过所述显示装置1反馈该表达式的计算结果。所述计算控制装置2优选地包括超时阈值确定装置21、超时判断装置221以及超 时控制装置222,其中,所述超时阈值确定装置21用于根据用户所输入计算指令确定所述 第一阈值,所述超时判断装置221用于判断所述计算控制装置执行用户所输入计算指令的 已耗时间是否超过第一阈值,所述超时控制装置222用于当所述超时判断装置的判断结果 是肯定的时,终止所述计算控制装置2的当前计算。具体地,首先由所述超时阈值确定装置 21根据所述计算指令确定该指令的复杂度,然后再根据该复杂度来确定所述第一阈值,例 如,对于简单的函数计算可以将所述第一阈值设定为一秒,而对于较为复杂的表达式可以 将所述第一阈值设定为10秒。这样,本发明便可以从输入数据定义域上加以限制、克服了 计算过程中数据溢出造成的计算错误。之后对计算器进行了一系列随机测试,防止了不符 合正常逻辑的操作造成任何运行时错误。在表达式解析中对解析的时间加以控制,防止不符合逻辑的表达式造成分析陷入死循环。据发明人测试,一个正确的复杂表达式的分析也 不会消耗几秒钟。所以优选地,超过十秒的表达式分析过程就可以判定为表达式的逻辑错 误所造成的,产生超时提示。进一步地优选地,所述计算控制装置2还包括累计计算装置23。在本实施例的优 选例中,所述计算控制装置2还可以包括变量存储装置、初等函数运算装置、排列组合运算 装置、几何计算装置、迭代计算装置以及加密计算装置。优选地,所述初等函数运算装置包 含一次、二次、反比例函数的图形特性和一般的函数在某区间内列表求值,所述几何计算装 置用于在测绘中解三角形问题,迭代计算装置用于求和、求积分和求迭代,所述加密计算装 置用于执行MD5或SHAl的单向加密以及采用Base64等加密算法的对称加密。优选地,对 于区间较广的循环过程或者复杂度较高的其它计算可能消耗大量时间,因此所述计算器采 用异步编程模式,开辟后台线程进行运算,而不影响前台互动界面的响应。图2示出根据本发明的第二实施例的,利用WPF技术完成计算的系统中输入装置 的结构示意图。本领域技术人员可以将图2示出的实施例理解为图1所示实施例的一个具 体实施方式。具体地,在本实施例中,所述输入装置3包括按键隐藏装置31、字符串过滤装 置341、批量复制装置342以及表达式解析装置35。其中,所述按键隐藏装置31用于隐藏 不常用的按键,所述字符串过滤装置341用于将外部数据中除表达式和数值之外的字符去 除,所述批量复制装置342用于将经过过滤后留下的表达式以及数值作为用户所输入表达 式或数值,所述表达式解析装置35用于清除用户所输入表达式中的冗余空格。其中,通过所述字符串过滤装置341以及批量复制装置342可以实现将操作系统 剪贴板中的表达式方便地输入给所述输入装置,例如,对于外来数据老说其大部分是通过 复制的方式输入所述输入装置的,复制时所述计算器会对字符串进行预分析,通过所述字 符串过滤装置341过滤出表达式或者数值,然后通过所述批量复制装置342将该表达式作 为用户所输入表达式、或者计算该表达式作为用户所输入数值,例如将“Ig2+lg5”粘贴到所 述计算器,将直接得到结果1,又例如对“面积200平米”这样的字符串,所述字符串过滤装 置341将过滤出200这个数字。优选地,所述按键隐藏装置31包括内部变量存储装置311、按键标签页单元312以 及按键标签页单元313,其中,所述内部变量存储装置311用于对需要在不同所述按键标签 页单元之间传递的变量进行临时存储,所述按键标签页单元312以及按键标签页单元313 上分布有按键,其中,所述输入装置3同时仅显示一个所述按键标签页单元。所述输入装置 接收用户对所述按键标签页单元的选取,若用户选取了所述按键标签页单元313,则所述按 键隐藏装置31控制所述显示装置显示所述按键标签页单元313,同时将所述按键标签页单 元312隐藏。而在本实施例的变化例中,所述按键隐藏装置31可以包括更多数量的所述按 键标签页单元,例如图5所示的实施例,所述计算器包括十个按键标签页单元,图5中显示 的按键标签页单元为“计算”单元,该“计算”单元上分布了多个按键。更为具体地,由于采 用了所述按键标签页单元的形式,节省了大量的用来显示按键的面积,同时按照功能对全 部按键进行分类,这样使得用户通过查找数量较少的所述按键标签页单元来查找相应的按 键。进一步地,通过所述内部变量存储装置311使得所述按键标签页单元之间的数据可以 通过拖拽或双击而被重新在其他位置利用,因此不必担心因此可能带来其他不便。其中,所 述计算器可以利用键盘的左右Shift切换所述显示装置所显示按钮的功能,只要对所切换的按键作合理的安排,便可以将不常用的按键隐藏起来。进一步优选地,所述表达式解析装置35包括第一确定装置351、第一处理装置352 以及第二处理装置353,其中,所述第一确定装置351用于依次确定用户所输入表达式中的 字符为标识符或者数字,第一处理装置352用于当所述第一确定装置确定所述字符为标识 符时,将标识符之后保留一个空格,除了运算符之前全部清楚,第二处理装置353用于当所 述第一确定装置确定所述字符为数字时,将数字之后的空格全部清楚,除了两个数字之间 的唯一空格。在本实施例的一个优选的具体实施方式
中,用户首先通过选取一所述按键标签页 单元来选取相应的按键,然后将操作系统剪贴板中的信息复制到所述计算器中,所述字符 串过滤装置341将外部数据中除表达式和数值之外的字符去除,然后由所述批量复制装置 342计算表达式,若该表达式中存在冗余空格,则接下来通过所述表达式解析装置35清除 用户所输入表达式中的冗余空格。 在上述实施例的优选例中,所述计算器的输入装置以及显示装置的人机界面可以 采用悬浮窗的形式,具体地,所述计算器提供了前端悬浮、以及透明度的调节,不但使用户 不需要通过任务栏按钮切换应用程序,而且对视觉效果几乎没有影响,仍可以完整地浏览 整个数据页。 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述 特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影 响本发明的实质内容。
权利要求
1.一种利用WPF技术完成计算的系统,包括显示装置、输入装置以及计算控制装置,其 特征在于,所述输入装置包括如下装置按键隐藏装置,其用于隐藏不常用的按键。
2.根据权利要求1所述的计算器,其特征在于,所述输入装置包括如下装置表达式计算装置,其用于计算用户所输入表达式的运算结果,并将所述运算结果作为 输入数值。
3.根据权利要求2所述的计算器,其特征在于,所述计算控制装置包括如下装置数值检查装置,其用于检查所述输入数值是否属于定义域内的数值;第一提示装置,其用于当所述输入数值不属于定义域内的数值时,控制所述显示装置 显示错误提示信息。
4.根据权利要求3所述的计算器,其特征在于,还包括如下装置超时判断装置,其用于判断所述计算控制装置执行用户所输入计算指令的已耗时间是 否超过第一阈值;超时控制装置,其用于当所述超时判断装置的判断结果是肯定的时,终止所述计算控 制装置的当前计算。
5.根据权利要求4所述的计算器,其特征在于,还包括如下装置超时阈值确定装置,其用于根据用户所输入计算指令确定所述第一阈值。
6.根据权利要求1所述的计算器,其特征在于,所述按键隐藏装置包括至少两个按键 标签页单元,所述按键标签页单元上分布有按键,其中,所述输入装置同时仅显示一个所述 按键标签页单元。
7.根据权利要求6所述的计算器,其特征在于,还包括内部变量存储装置,其用于对需 要在不同所述按键标签页单元之间传递的变量进行临时存储。
8.根据权利要求2所述的计算器,其特征在于,所述输入装置包括如下装置字符串过滤装置,其用于将外部数据中除表达式和数值之外的字符去除;批量复制装置,其用于将经过过滤后留下的表达式以及数值作为用户所输入表达式或 数值。
9.根据权利要求8所述的计算器,其特征在于,所述输入装置包括如下装置表达式解析装置,其用于清除用户所输入表达式中的冗余空格,其中,所述表达式解析 装置包括如下装置第一确定装置,其用于依次确定用户所输入表达式中的字符为标识符或者数字;第一处理装置,其用于当所述第一确定装置确定所述字符为标识符时,将标识符之后 保留一个空格,除了运算符之前全部清楚;第二处理装置,其用于当所述第一确定装置确定所述字符为数字时,将数字之后的空 格全部清楚,除了两个数字之间的唯一空格。
10.根据权利要求1至9中任一项所述的计算器,其特征在于,所述计算控制装置包括 如下装置中的任一个或任多个装置-累计计算装置;-变量存储装置;-初等函数运算装置;-排列组合运算装置; -几何计算装置; -迭代计算装置; -加密计算装置。
全文摘要
本发明提供利用WPF技术完成计算的系统,包括显示装置、输入装置以及计算控制装置,其中,所述输入装置包括按键隐藏装置,其用于隐藏不常用的按键。本计算器使用了标签页嵌套、按钮切换实现了便捷实用的用户界面,通过双击拖拽、热键等方式解决了数据重利用的问题,并且采用了从定义域上限制输入数据来回避数据溢出造成的运行时错误。根据本发明提供的计算器的核心理念围绕着人性化、高互动性、实用性和易用性四个方面,力求提高人们的工作效率,减少重复而繁琐的劳动,真正达到人性化的要求。
文档编号G06F15/02GK102073617SQ20111002737
公开日2011年5月25日 申请日期2011年1月25日 优先权日2011年1月25日
发明者杨章唯, 陆广琴 申请人:上海市金山区青少年活动中心