Office中国论坛/Access中国论坛

标题: 调用计算器的小应用 [打印本页]

作者: JosephTan    时间: 2012-2-7 21:22
标题: 调用计算器的小应用
本帖最后由 JosephTan 于 2012-2-7 21:30 编辑

[attach]48266[/attach]
在Grant的帮助下解决了时间错误后自己再找了些资料解决了后续的问题.现在可以分享给大家.也算是一个实用的小工具吧.希望你们能用上.
作者: JosephTan    时间: 2012-2-7 21:41
本帖最后由 JosephTan 于 2012-2-7 22:54 编辑

:p出洋相了.原来不会复制括号.这个问题又不知怎么解决好了.


明白了:原来是sendkeys不可直接发某些key搞定了[attach]48267[/attach]
作者: JosephTan    时间: 2012-2-7 22:59
但是不明白为什么那个计算器不可以用键盘输入^这个字符,即使sendkeys可以送这个字符,计算器也不接受这个字符.郁闷的计算器程序.
作者: tmtony    时间: 2012-2-8 11:07
手工输入^ 是否可接受?
作者: JosephTan    时间: 2012-2-8 13:17
tmtony 发表于 2012-2-8 11:07
手工输入^ 是否可接受?

你打开windows自带的计算器,用键盘输入^也是不行的.所以我这个也不行,要点计算器的power(也就是xy那个键)才可以进行指数运算.
我目前不知道如何可以用sendkeys来做到点xy那个键.
作者: JosephTan    时间: 2012-2-8 17:11
本帖最后由 JosephTan 于 2012-2-8 17:18 编辑
tmtony 发表于 2012-2-8 11:07
手工输入^ 是否可接受?


[attach]48275[/attach]
请看,看过帮助文件后定义了一些快捷方式,现在可以接受2^2这样的输入了.请注意你的输入法的问题.
我只定义了科学计算器的按钮,如果有兴趣还可以定义统计和程序员的,然后安排给不同的快捷键就可以了.我就留给其他人做了.
有什么错漏请指正.

作者: t小宝    时间: 2012-2-8 19:38
不错,很有趣的思路!
不过如果仅仅是要计算表达式的值,这样更简洁有效:Me.Text0 = Eval(Me.Text0)
作者: JosephTan    时间: 2012-2-8 20:52
t小宝 发表于 2012-2-8 19:38
不错,很有趣的思路!
不过如果仅仅是要计算表达式的值,这样更简洁有效:Me.Text0 = Eval(Me.Text0)

[attach]48277[/attach]
我发现我原来那些抓句柄和activecontrol的句子是多余的.所以删掉了,更简单些.

你说的eval也加了进去,不过就是有点不好用,如果你要求值的地方不止一个textbox,而是动态的,应该怎么用eval
我拿eval和计算器比较过,觉得它不是那么直接,直观.比如说sin(30)如果是在计算器输入30sin,得到的值就是一般常识上的结果,认为sin30里面的30是一个角度不是弧度.一般的加减乘除是没有问题.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3