老资格的Delphi程序员都知道,用VCL库编写图形界面是非常方便的,而LCL库就是受VCL库启发而来形成的免费版本的图形界面开发库。感谢Github上的ying32提供的Govcl库,使得我们现在可以使用Gox语言(Goxlang)结合LCL库进行GUI图形界面的编程,下面我们就来看一个具体的实例。
在Gox语言简介一文中,我们已经介绍过使用基于OpenGL技术的GUI图形界面库Giu来开发图形界面的方式,而使用LCL库开发则更贴近传统程序员的图形界面构建思路,我们来看用LCL库实现与之前的例子功能一致的小型计算器的程序代码。
可以看到,代码非常简单,连空行加起来一共不超过70行代码,就实现了一个图形界面的计算器。下面我们看看执行之后的效果。
可以看到,很简单地,一个图形界面的小计算器已经成功运行了。我们可以尝试输入一个算式让它计算。
点击“Go”按钮后,就会得到计算结果。
#编程#
可以看到,计算结果已经出来了,最后的小数点是有名的计算机上的浮点数误差,属于计算机的正常行为。
而这个70行代码实现的计算器就这么简单吗?当然不是了,请看看下面的例子:
先输入:
点击“Go”按钮计算后,
这是我们把一个数字存进变量a中,然后再次存储一个数字到变量b(名字可以任意起)中,
可以是算式噢,还是要点击“Go”按钮进行计算和保存,
下面一步可以用a与b进行新的计算了。
复杂吗?点击“Go”按钮计算后可以得到,
可以验算一下是否正确。这居然是一个可编程的计算器!
另外,点击“Close”按钮是关闭该计算器,点击窗口右上方的关闭按钮也是同样的效果。
由此可见,短短几十行代码,实现了一个麻雀虽小、五脏俱全的图形界面小程序,非常不容易。
下面我们来解说一下具体代码,我们还是用代码中的注释来说明吧。
代码中通过注释的方式已经解释得很详细,另外需要注意:
调用lcl.InitLCL函数进行GUI的初始化时,如果当前系统中没有LCL库(liblcl.dll),则会进行自动下载,保存在gox主程序的相同路径下。如果希望不要有这一步,建议直接去Gox语言的