在使用果壳精灵编写代码之前,可以先思考一下这个工程的复杂度,如果这个工程需要编写的代码可能超过 100 行,那么建议创建工程管理。
如果只是一个小DEMO,程序代码在 100 行之内,并且不需要自动管理插件和依赖,则用单文件来管理也是可以的。
创建工程时,有不同的项目类型可供选择:
基础项目目录下的工程模板都是比较基本的功能,空白项目是不含任何功能代码的项目,标准项目是普通脚本项目;
控制台项目是控制控制台窗口的项目,多线程项目则是可以管理多个任务同时运行的项目。
中控项目是比较复杂的多任务工程管理模板,截止 Ver 1.0 Alpha 4 版本这个项目模板还在开发中。
根据模板创建分类下,提供了一些开箱即用的现成功能演示,创建工程后直接提供相应功能的工程代码。
让我们来实现第一个果壳精灵的小程序:Hello World 吧!
现在打开果壳精灵,在首页点击【新建文件】按钮,创建一个单文件,在弹出的编辑器里已经包含了如下代码:
Function Main() As Long MsgBox("Hello World") End Function
直接点击工具栏的【运行】按钮(通常是最后一个圆圈内小三角的播放按钮),我们可以看到一个消息对话框弹出来了:
弹出的消息框内容,就是我们代码中,MsgBox("") 中间的内容,我们对文字进行修改重新运行,也会发现弹窗的消息变了。
因此能够确定,这三行代码中的第二行,在执行时弹出了这个对话框,并显示出了一些文字。
那剩下两行代码是干什么的呢?
Function Main() As Long
这一行代码是告诉果壳精灵,我们定义个一个叫 Main 的【命令】。
所谓命令,你可以理解为调用执行了,就可以实现一些功能,其中 Main 是这个命令的名字,As 后面的 Long 就是这个命令的返回值类型(整数)。
第三行的 End Function 则是告诉果壳精灵,我们之前实现的 Main 命令完成了,在这两行代码中间的部分,就是这个 Main 命令具体要做的事情了。
在我们编写的这个脚本里,它调用了名为 MsgBox 的命令,将 "Hello World" 作为参数传递给 MsgBox 命令显示出了一个消息框。
编程中存在一些固定的规则,例如定义一条命令,调用一条命令,我们调用的 MsgBox 命令当然也是在看不见的地方提前定义好的。
因此你可以将编程理解为,调用一条又一条的命令,最终将这些命令组成一个完整的程序,因此不同的命令,可以实现不同的功能。
而大多数命令,我们都能够在功能列表窗口中找到它:
对于果壳精灵来说,Main 是一个非常特殊的命令,你不需要做任何事情,这个命令就会被果壳精灵调用,也就是说,它是你程序的入口。
我们编写的脚本,总是从 Main 命令开始运行,在这里,你再去调用其他的命令,最终组成一个完整的执行链条。
现在,让我们换一个命令试试看,将代码修改为:
Function Main() As Long TracePrint("Hello World") End Function
然后再次点击【运行】按钮,我们会看到原先会弹出的消息框不见了,但我们可以从调试输出窗口中看到我们传入的文字:
由此可见,不同的命令实现不同的功能效果,MsgBox 将传入的数据以消息对话框的形式展现出来;TracePrint 将传入的数据在调试输出窗口展现出来。
功能列表中的命令不止这两种,我们会在之后的教程中不断学习新命令,和新的概念,将这些功能融会贯通,最终实现出一些功能强大的脚本出来。
接下来让我们就这节课的最后一个实验,我们把代码修改为:
Function Main() As Long TracePrint("Hello World 1") TracePrint("Hello World 2") TracePrint("Hello World 3") End Function
接下来我们可以把这段脚本运行很多遍,观察它的执行结果是否如下图:
我们也可以把三次调用的 TracePrint 更换为 MsgBox 命令,观察三个消息窗口的出现顺序,是否是按照 1、2、3 的顺序弹出。
然后我们将传递给命令的文字打乱,观察执行顺序是否依旧按照代码行的顺序走。
通过观察,我们可以总结出编程中存在的一条极为重要的客观规律:
代码总是按照编写的先后顺序执行的,且同一时间,只会执行一条命令(备注:单线程状态下,多线程程序同一时间可以并行执行多条命令,之后会接触到)。
记住这个规律,它对你之后所要理解的东西,非常重要!