项目:简易计算器(二)

标签,编辑框,按钮的使用


 ————版权申明————


 

 

完成第一部分界面的布局之后,咱们开始编码部分

双击窗口空白的地方,进入编写代码

双击窗口空白的地方,添加的代码是  _启动窗口_创建完毕

窗口创建完毕之后,实际就是 要做程序初始化,当前窗口创建完毕实际要做的就是显示框(编辑框)的初始化,一般来说,我们的计算器显示的地方,一打开都是默认显示:0

So?!我们的程序初始化也是要做这样的功能

首先,我们的数据显示框是只能显示数字,不能显示中文,英文,以及其他字符的。

其次,显示的数据框是不能通过键盘输入的,不能给鼠标操作,禁止鼠标选择。

The Last One,显示的数据是从右对齐的

(我们当前计算器不做 小数点 的操作,有需要的话学完这个,也可以自行添加这个功能,我读的书多,不会骗你)

然后,我们返回界面的地方改写东西

看下图,点击 _启动窗口 回到界面部分。

选中编辑框,在左边修改属性,禁止:真,边框改成:单线边框式,对齐方式:右对齐,输入方式:只读方式,修改完毕之后,切回到 【窗口程序集_启动窗口】,开始写!代!码!

————————————————————

程序初始化代码如下:

因为我们编辑的名称 叫 【编辑框1】所以,我们输入编辑框的首字母bjk的时候,就会出现智能提示功能,我们通过操作键盘的 方向键 进行选择,接着按下空格键,然后就可以输入了。

就一条语句就可以初始化了,

解释一下:

编辑框1.内容 表示 编辑框1要显示的内容.

= 是将 等于号 左边的 数据传给等号右边的控件去显示出来,

因为我们的编辑框显示的数据类型是属于文本类型(数据类型是什么鬼?【传送门:数据类型】数据类型就是数据类型的啊,鬼造他是什么鬼,比如 1, 2, 3, 4, 5, 6, 7, 8, 9 这些数据就属于 整型,do you know? 0.1, 1.5, 36.2 这些数据就是属于单精度类型。当然还有个叫双精度的,一般人我是不会告诉ta的,但是,你命好,我只告诉你。还有如:“你好”,“Hello,World” “123”这些就属于文本类型,我们称它们为 字符串,还有很多很多类型。日后慢慢就会接触到了)。

= 右边的 到文本(0)意思就是将 数字 0 转成文本类型,然后传给 编辑框1来显示。如果不加上 到文本 直接输入 0 的时候,到编译的时候,就会报错的。

为毛我不直接贴代码直接给你们copy呢,

首先,为毛要贴代码,

其次,就一行代码好吗

还有,就是多动手写代码。不然以后都不造怎么写。

Do you know ?

好了,写完之后,我们开始编译运行

我们可以直接点击这个按钮 运行,运行之后他会自动编译代码,如果代码有错误的话,下面状态栏是会有提示的,不过如果就一行代码,你都给我写错了,自己去墙角面壁吧。

如无意外的话。运行显示出来的效果是酱紫的。

身为小菜鸟的你,四不四 感觉很有成就感?(给你个眼神自己体会)

 

————————————————————

 

接下来完善其他的功能,

点击按钮1,显示框就要显示1,点击按钮2,显示框就要显示2,以此类推。

点击按钮1,在点击按钮2,就要显示12

BUT,这个功能怎么实现的呢?

比如 12,我们可以分解成 1×10 + 2;

123 可以分解成 1×100 + 2×10 + 3;

这就好办,从上课可以得出,每增加一位数,前面的数都要同时 乘以 10

So ? ! 我们现在完成 0 ~ 9按钮的功能

回到界面部分,分别双击按钮0,按钮1,按钮2,按钮3,按钮4,按钮5,按钮6,按钮7,按钮8,按钮9.

然后在他们的下面写代码

Code 如下:

写好后, 按下 F5 键,自己玩一下

如上图,按钮0 ~ 9都按一下,发现是可以的,如果不行的话,自己去墙角倒立五分钟,然后重新对一下上面的代码。

 

————————————————————

 

接下来完善按钮C键,按钮C键就是清零的功能,清零的功能,如果你觉悟高的话,已经知道怎么写了,(我不会告诉你,其实就是上面的第一行程序初始化的那段代码)

回到界面,双击按钮C键,进入代码编写,

Code如下:

写好后, 按下 F5 键,自己玩一下。

输入 几个数字 然后,点击按钮C键,四不四归零了。如果不是,自己抽嘴巴。

关闭窗口,接下来,咱们开始写 加, 减,乘,除,的功能

根据计算器的规则来看,计算是要先输入 第一个数,然后输入运算符号(+,-,x,÷),同时保存第一次输的数字,here,我们用全局变量来保存第一次输入的数字,接着再输入第二个数(输入第二个数的时候,覆盖输入运算符号前输入的数字),BUT,我们如何知道用户是否已经按下了运算符号,或者是等号呢?所以,我们还需要一个全局变量来表示用户按下的是什么运算符,我们给全局变量起个名字为:符号被按下,我们可以在这里对改全局变量进行内部约定,

符号被按下的值为:0 的时候,表示没有按下任何运算符

符号被按下的值为:1 的时候,表示按下加法运算符

符号被按下的值为:2 的时候,表示按下减法运算符

符号被按下的值为:3 的时候,表示按下乘法运算符

符号被按下的值为:4 的时候,表示按下除法运算符

输入第二个数完毕后,然后按下等于号,程序进行计算,计算完毕后,显示框就会显示出最终的结果。

So?!

按照上面的思路,我们先写第一个运算符号(+)

先添加一个全局变量。这个全局变量是用于保存数值(传送门:如何添加全局变量?

如下图,添加两个全局变量,

第一个,变量名为:数值1,类型为:整数型

第二个,变量名为:符号被按下,类型为:整数型

 

 

全局变量添加完毕之后,我们要给这两个变量,进行初始化,变量初始化在辣里写?

不造的话,我们就直接在窗口的初始化的地方写吧。

代码如下:

看清楚了,在 _启动窗口_创建完毕 这里添加,数值1 初始化为0,符号被按下 初始化为 0。

然后开始写 加法 代码,回到界面部分,双击按钮+,添加加法按钮的消息。代码如下:

把编辑框的内容保存到全局变量 【数值1】 中,把 【符号被按下】设置为 1

然后 后面的 减法,乘法,除法都是同样的步骤,代码如下:

然后,我们继续添加 等于 号的代码

点击等于号的时候,就开始进度计算,计算的方法就是 将之前保存下的数值和当前编辑框的数值进行运算,然后将运算得到的结果在编辑框中显示出来。

代码如下:

上述的代码中,通过条件判断语句来判断用户按下的操作符是加号,减号,乘号,还是除号,

(传送门:条件语句的使用)

符号被按下 = 1 的时候,表示用户按下的是 + 号操作符,点击等于的时候,程序应该执行加法操作

符号被按下 = 2 的时候,表示用户按下的是 – 号操作符,点击等于的时候,程序应该执行减法操作

符号被按下 = 3 的时候,表示用户按下的是 × 号操作符,点击等于的时候,程序应该执行乘法操作

符号被按下 = 4 的时候,表示用户按下的是 ÷ 号操作符,点击等于的时候,程序应该执行除法操作

上述代码输入完毕之后,按下F5运行,进行程序测试,试试,加减乘除法是否正确。

 

————————————————————————

你会发现,程序只能计算1位数的加减乘除法,而且软件中还有一些漏洞。。。。。。

给你个眼神,自己体会

接下来修改程序,让软件支持多位数的操作。

在全局变量中,添加多一个逻辑型变量,已保存数据,如下图

_启动窗口_创建完毕 的下面添加 已保存数据 = 假

然后在 加, 减, 乘, 除,的按钮函数中添加 代码 已保存数据 = 真 如下图

然后在 按钮1 到 按钮9 的函数中添加如下代码,以及按钮0,清空按钮添加的代码 如下:

按钮1 到 按钮9 中添加的代码的意思是,用于判断是否已经保存了数据,从之前的代码,我们可以知道,当用户按下 + , – , ×, ÷ 操作符的时候,我们就已经保存了代码,同时把变量 已保存数据 赋值 为真。 当用户按下运算操作符之后,在按数字的话,我们需要把之前的数据清空,于是就有了按钮1到按钮9的判断条件,当 已保存数据 = 真的时候,我们把编辑框的内容赋值为0,赋值完毕之后,我们把 已保存数据 赋值 为假。 如果不重新赋值为假的话,下一次再点击数字按钮的时候,编辑框的内容会再一次被清空。

如果不明白的话,自己去面壁。。。。。。。

 

 

代码输入完毕之后,按F5运行,运行不起来的,自己回头查代码,一个一个对,看看哪里写错了。

如果输入没错的话,这次就可以实现多位数的 加, 减, 乘, 除 了。

到此,一个简单的计算器基本上就算写完了,剩下的一部分没处理好的问题,留给小伙伴自己学着处理一下

问题1:当被除数为 0 的时候,这个需要做判断,(当然当前程序输入除数为0的时候,程序并没有出错,但是这个问题,应该是要程序自己解决的)

问题2:清空按钮,并没有完全清空数据(用多几次你就会发现清空按钮并没有完全清空数据)

问题3:不断地按等于号的时候,出现的问题是否是合理的。

问题4:……

 

困觉了。。。。。。

 

 

 

 

支付宝打赏 微信打赏

有 打 赏 ?



如果文章对您有帮助,欢迎移至上方按钮打赏小编







阅读(1,152)次 , 网友评论(0)