极语言官方网站

编程语法

编程代码里的文字部分,包括关键字和名称定义,都是用标点符号区分开的。

空格 制表符 回车换行 逗号 分号它们的作用类似整数 数一;小数 数二;

也可以写成 整数 数一 小数 数二 空格 制表符 回车换行 逗号 分号 括号这些都能把文字给区分开

分号通常用于这句代码结束时,也可以用空格 制表符 回车 换行等符号代替分号;

而关键字后面通常是自定义的名称,如:整数 数一 这是要申请一个整数变量,名字叫数一

一句代码的中间是用空格而不是加分号,所以空格 换行 制表符可以代替分号,分号却不能代替空格等

而逗号通常是要连续重复操作某件事时,比如 整数 数一,数二,数三,数四

这里是要连续申请四个整数变量,使用逗号可以不用每次都写整数

再比如调用函数时,发送消息(窗口,消息,参数,数据)

小括号里也是要连续提交多个变量,就用逗号隔开;括号都是成对出现,代表一个范围

程序段 窗体消息(窗口,消息,参数,数据)
  判断(消息)为 窗口关闭{停止(0)}
  为 单击左键{左键点击(参数)}
  否则 处理窗口(窗口,消息,参数,数据)
结束

上面这段代码是一个程序段的示例, 程序段后面用空格,表示后面是要定义一个名称:窗体消息

后面是一对小括号,里面也是连续申请了四个接收参数,跟发送消息提交的四个参数一一对应

调用发送消息函数,把消息发给指定窗口,在窗体消息这里就能收到发过来的四个参数

窗体消息里第一行代码是判断消息窗口关闭停止程序运行,停止哪个程序?括号里写0,代表是本程序

这句话用平时说话的语句,就把所有关键词都写成一段文字了,编程代码是要把这些都区分开

判断后面加小括号就把判断两个字分开,括号里是要判断的对象,这里判断发来的消息是什么

如果消息窗口关闭,后面是大括号,它表示可能有多句代码,会执行大括号里的这些代码

如果只有一句,大括号也可以省略,比如否则 处理窗口(窗口,消息,参数,数据) 就没写大括号

否则后面就要加个空格,不加的话,就是否则处理窗口,这六个字就不是已经定义的名称,编程器无法解读

最后的结束是这段代码结束了,结束后面可以加分号,但是结束后面一般都有换行,就不用加分号。

程序段的代码也可以用大括号,不用写结束两个字。还有参数默认值是在创建程序段的参数名后面加等号

程序段 加法计算(数一=10,数二=5)
{

  返回(数一 + 数二) }

判断语句只用写一次,第二行还是判断消息为单击左键的时候,执行左键点击这个函数

这个消息到来时,参数是控件的编号,数据是控件对象,窗口都是主窗口,设计多个主窗口时,可以根据哪个窗口去执行不同的操作

窗体的消息非常多,大部分都是交给处理窗口这个函数来处理,否则就是其它消息就执行这里代码

左键点击也判断提交过来的参数,判断编号是几就执行相应的功能函数,比如:按钮1点击;按钮2点击

也可以根据控件对象进行判断,此时第四个参数:数据是控件对象,判断它是哪个控件

  为 单击左键{
  如果(数据=编辑框1)编辑事件(参数)
  否则 左键点击(参数)}

鼠标点击编辑框,有可能是选中,也有可能是右键,也有可能是双击,使用如果语句比如数据和编辑框1

两者相等就执行编辑副本,否则就执行左键点击事件,这就是如果否则语句的代码写法

更多的语法请参照下表,后面的教程也有讲到更多的语法规范和代码用法

英文语法 中文语法 简单用法
if如果 如果(消息=窗口关闭){停止(0);}
else否则 必须放在如果语句后面,否则{返回(1);}
switch判断 判断(消息)为 窗口关闭{停止(0);}
do循环循环(10){...}10次停止;循环{...}无限循环;循环{...i+2}(i=100)到100停止;循环(i<100){...i++}小于100时循环
case      为      判断语句后使用,默认判断条件是相等,可加比较符号,逗号多条件,n~m范围条件
sub程序段 程序段(整数 a,文本b,字节 c);编写一段程序代码
end结束程序片断代码的末尾,加上此语句表示此段程序结束。可用大括号代替
sub小程序 小程序(整数 a,文本b,字节 c);编写一段程序代码
sub函数 函数(整数 a,文本b,字节 c);编写一段程序代码
export导出编写一段程序代码,写法与程序段相同,用于写dll时,可被其它程序调用
import导入 导入 StrStrI 支持库 "SHELL32.DLL",2; 导入dll的函数,最后2是参数数量
include引入 引入 "lib\odbc32.lib"; 用于引用库文件
const常量 常量 只读打开=0; const IDYES = 6;用名称定义一个数值
return返回 返回结果给调用者,例如返回(N1* N2);小数结果加冒号,返回(:N1*2.5);
scls子类子类{整数 变量1,变量2;小程序 登陆(账号)...结束;}
new新建角色=新建 玩家类(等级=1,性别=0);用于新建子类,可选括号内设定初始值。
object对象对象 名称=对象名;申请一个对象变量,结构是(类,标识,函数名..)
crobj创建对象创建一个对象的实例,创建对象 名称;名称=创建对象 "WinHttp.WinHttpRequest.5.1"
ctobj控件对象获取控件窗口对象的实例:对象名=控件对象 窗口名;控件对象 对象名,窗口名
datab数据表 数据表{整数 a,文本 b[16],字节 c;}自定义表头结构
query读取表 读取表(数据库名,数据表头,[长度]);按指定结构把数据表读取到内存中。
indexof检索检索(变量名,查询值,[长度]);快速从数组或内存中检索数值,返回序号,未找到返回-1
addin加数组加数组(变量名,表名,[字段名]);把表的字段值加入数组,用来检索
zeros清零清零(变量名,长度,[设定值]);对数组或内存数据清零或者设定统一值
call调用调用 变量名(参数...);获取链接库(dll)的某函数地址到变量中,动态调用执行
rename重命名重命名 发送消息=SendMessage; 把英文函数换成中文使用
type类型 类型 Form{整数 hwnd;整数 WndProc;}
iif如果是a =如果是(消息=0)10,500;相当于三态语句
while循环在 判断条件成立则循环,直到条件不成立. 循环在(a<1000){a++;}
for循环于 For(i=0;i<100;i++){i从0到99,每次加1,循环一百次}
foreach循环数组循环数组(ab){}可循环读或者写数组或特定数据段的值
Goto跳到 ABC: ..... goto ABC; 开头: .... 跳到 开头;
jump跳转等于、大于、小于..时跳转到某处,如:起点@ .... 跳转>起点;
break跳出 在循环内使用,可跳出循环
lib支持库 import abort lib "MSVCRT.DLL",0;
local局部 局部 整数 图片; 局部变量总长度大于120字节在第一行加这两个字
preserve保留 整数 数组();重置 数组(20); 保留 数组(200);会保留原来的20个
reserve重置 整数 数组(); 重置 数组(200);把数组重新分配200个,且数据清空
destroy销毁 销毁 数组; 把数组或子类销毁,释放内存。
direct置入 置入[字节 $68]; 置入[整数 $20];相当于写机器语言
order指令 指令[6820088800];连续的十六进制机器码
movads传址传址[$4001200,a];可以把变量值或数值写入指定内存位置
bytes字节组 字节组 tmp[15,$20,60,128];
outfile输出文件修改编译输出文件的扩展名。例如:输出文件=exe
with列举 列举 form{.s=1;.l=5;}等效于form.s=1;form.l=5;
alias别名 导入 信息框 别名 MessageBoxA lib "USER32.DLL",4;
pever程序版本"1.00",或者用退格符分割的全部版权信息: "注释'\t'公司名'\t'文件描述'\t'主.次.版本'\t'工程名'\t'版权'\t'商标'\t'产品名"
程序类型默认0初级程序,1扩展DLL,2命令控制台,3函数类库。共0-7种。加8是8位,加16是16位,加32是32位,加64是64位,加128是宽字符环境。
peres程序资源指定资源类型和文件名.例如:程序资源 10,"sec.jpg"
picon程序图标 程序图标“sec.ico”;