房收费系统的时候,令人相当恶心的一件事就是判断文本框和组合框是否为空还有清空文本框。基本上每个窗体都要进行判断,那一个接着一个的If...Else...语句,长长一串,看着就头疼,但是第一次做机房收费系统的时候竟然傻傻的一个不落都写了出来。真佩服当时的自己,不过这一次还是不要在做那种傻事了,因为我们经历了不少面向对象的洗礼,认识了封装。
向对象的范畴里,对于相同的或者类似的代码只要重复3次以上我们应该想到面向对象的三大特性之一:封装。想是想到了但是具体怎么通过封装来简化繁琐的判断任务呢?
1. 首先新建一个模块,在UI层右键-添加-新建项-选择 Model
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUPJzZE9UeBRUT4FEVkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO3AzMwYTM1EDNwYDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2. 然后在Model中定义一个结构体Term,且定义一个term类型的结构体数组
构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。和基础数据类型Int,Char一样,可以把它定义成自己需要的数据类型。 详情请百度一下。
3. 然后我们就可以在需要的窗体下定义一个过程Rdim() 作用是初始化这个Trem类型的结构体数组。
4. 然后该函数了,先说IsEmptyText()函数,作用是判断文本框、组合框的内容是否为空,为空的话给出相应的提示。它同样写在Model中
5. 一键清除文本框内容的函数,在Model中添加函数AllEmpty()
6. 上面说明了这么多,现在到调用的时候了。
检查是否为空:
一键清空:
其他窗体应用该函数的时候只需要定义一个过程Rdim() 初始化Trem类型的结构体数组,再调用函数即可。
非常方便!随着学习,正在逐渐的触摸到面向对象思想所带来的好处。
(PS:不当的地方,恳请指出!)