轻语言程序基础结构

一个完整的轻语言程序,通常由一个入口文件、一个配置文件和若干个源代码文件组成:

轻程序/
├── src/
│   ├── 源代码1.spl
│   ├── 源代码2.spl
│   ├── 自定义结构.st
│   ├── 模块1.sm
│   ├── static/
│   │   ├── 图片.jpg
│   │   └── 其它文件.txt
├── App.spl
└── 轻程序.vsln

项目文件夹必须与项目索引文件同名。

1.程序入口文件 App.spl

启动程序时,系统会先从入口文件启动程序;以视窗程序为例:当编译输出一个可被执行的轻语言程序文件时,在 Windows 系统中启动该文件;系统将执行入口文件,并回调入口文件中相关事件。

视窗程序示例 App.spl 文件内代码:

事件 应用被启动(命令参数 为 文本型[])
    ' 当用户使用命令行或双击打开本程序时会先触发该事件
    ' 创建窗口对象
    变量 主窗口1 = 创建 主窗口()
    ' 设置启动窗口的显示尺寸
    主窗口1.置尺寸(300,500)
    ' 加载并显示窗口
    主窗口1.显示()
结束 事件

注意:不同平台的程序入口文件存在略微差异,具体差异请阅读目标平台相关文档。

2.项目索引文件(配置文件)

配置文件主要负责程序的配置管理;轻语言中配置文件采用XML语言描述,配置文件需与工程文件夹名称相同,后缀为:.vsln 默认配置文件结构为:

<?xml version="1.0" encoding="utf-8"?>
<project>
  <version name="4.0" code="4" ide="2023" />
  <property type="app" plugin="javafx">
    <version name="1.0" code="1" />
    <app package="my.app" name="" />
  </property>
</project>
  • project 项目根节点

  • version 可以打开项目的 VcnStudio 的最低版本

  • property 项目属性

    • type 项目类型,app 表示应用程序、component 表示组件、类库。

    • plugin 所属平台。

    • version 程序版本

    • app 程序包名、编译输出名称

3.源代码文件

源代码文件是除入口文件外的,所有其它包含程序源代码的、被存放到项目根目录中 src 文件夹中的文件;这些文件是程序中重要的功能或逻辑组成文件,一个可以被正确编译的源代码文件通常由:变量、事件、函数等组成,以一个普通的轻语言视窗程序为例,其代码结构组成为:

3.1 变量

变量声明是可选的;如果一个窗口或模块中不需要变量,可以省略不写。

变量 窗口变量1 为 文本型

3.1 事件

窗口事件中的窗口创建完毕是必须声明的事件,不能被删除,每个窗口都必须包含该事件,模块中不需要声明默认创建事件。

事件 窗口创建完毕()
    调试输出("窗口创建完毕")
结束 事件

3.2 函数

函数声明是可选的,窗口或模块中如果不需要函数,可以省略。

函数 子程序1()
    变量 和值 为 整数型
    和值 = 100 * 2
    调试输出("和值:" + 和值)
结束 函数

完整源代码

变量 窗口变量1 为 文本型

事件 窗口创建完毕()
    调试输出("窗口创建完")
结束 事件

事件 按钮1.被单击(来源对象 为 对象,事件对象 为 鼠标事件)
    ' 调用子程序
    子程序1()
结束 事件

函数 子程序1()
    变量 和值 为 整数型
    和值 = 100 * 2
    调试输出("和值:" + 和值)
结束 函数

所有源代码文件编码规定为:UTF-8-无-BOM 格式。

源代码文件格式

轻语言在编译时根据不同的源代码文件后缀格式,区分不同的源代码文件类型、以下为轻语言目前支持的文件类型后缀:

  • .spl 实现程序逻辑和业务功能的主要源代码文件。

  • .st 存放自定义结构体数据的文件。

  • .sm 模块文件。

程序执行流程

所有的轻语言程序都是从入口文件启动的,在入口文件中调用其它模块功能、或显示窗口。经过入口程序的引导加载后、最终向用户展示一个完整的程序功能。