第一节 入门
我们知道,编写一个程序是需要很多代码的,这些代码往往要完成很多重复性工作, 所以我们就要把代码分成若干个小程序段,称之为“小程序”。
每一段“小程序”我们都可以在不同地方调用执行它,具体是怎么实现呢?比如我们要计算a+b=c,请看下面简单的示例:
小程序 加法();
整数 a,b,c;
c=a+b;
结束;
首先写“小程序”这三个字,就表示我们要写一段代码,然后空格,再写上这段程序的名字“加法”,后面的小括号里面是传递参数用的。
即使不传递参数,也要加小括号,这样计算机才知道这段小程序名字是从空格到括号之间的文字。
括号之后是分号,代表这一句代码完了,开始下一句。相当于平常书写文章的逗号、句号、分号、问号等,书写代码就规定只用分号这一种代表语句结束。
其它符号当然有别的用途,而且要注意编程用的符号都是英文字符,中文的标号符号都是按文字处理。当这段代码写完,一定要写上“结束”,计算机才会知道这个代码片段至此结束。
然后我们接着看看参数是如何传递的:
小程序 加法(整数 a,整数 b);
整数 c;
c=a+b;
结束;
括号里面传递两个参数a和b,它们是变量的名字,整数代表这个变量是数字,a和b可以是-21亿到21之间的任意数字。
有了这段小程序,我们就可以在其它地方调用它,写法是:加法(100,5);
那么它就会计算出c=105。可是我们需要把c这结果取出来,那么小程序也可以把结果返回给调用者。
小程序 加法(整数 a,整数 b);
整数 c;
c=a+b;
返回(c);
结束;
这样书写之后,我们调用时,就可以写:
整数 d;
d=加法(100,5);
那么我们把计算结果给到d这个变量,此时d的值就是105。由此我们可以看出,申请变量就是要存放一个数据,我们可以去读写这个变量的数据。
比如:文本 s;
s="你好";
就是申请一个文本型变量s,然后给s赋值为“你好”,注意文本也就是字符,它要加双引号。
上面的代码都是申请变量c,计算出c的结果,再返回c,当然我们可以这样写:
小程序 加法(整数 a, 整数 b);
返回(a+b);
结束;
这样是不是就简化很多了?当然前面写法,先定义结果c为整数,返回的结果当然是整数。
那么上面的简化写法,返回的结果是什么呢?如果未定义类型,计算时是按参数里类型。
两个参数都是整数,结果也是整数,如果有一个是小数,结果也是小数。
但是我们如果定义了返回结果的类型:
小程序 乘法(整数 a,小数 b)为 正整数;
返回(a*b);
结束;
我们在小程序的小括号后面加了“为”正整数,这样参数即使有小数,计算后也会把结果的小数点后面去掉,变成“正整数”。
正整数专业术语是叫“无符号长整形”,是0到42亿的正数。上面是整数乘以小数,结果有可能大于21亿,我们可以用正整数时,计算范围大了一些。当然准确来说,整数是包含最小到-21亿的负数,两者数值范围其实是一样的。
第二节 数据类型
英文名称 中文名称 数值范围
Bool,Boolean 逻辑 真(True),假(False)
char 字符 -128~127
int 整形 -32768到32767
long 整数 -2147483648到2147483647
single 小数 负数-3.402823E38到-1.401298E-45;
正数1.401298E-45到3.402823E38
string 文本 变长0到20亿,定长1到65400
byte 字节 0到256
word 正整形 0到65535
Dword 正整数 0到4294967295
十六进制数字是用$表示,$0到$FFFFFFFF
第三节 运算符号
符号 类型 英文 中文
- 算术 add 加
- 算术 sub 减 算术 mul 乘
/ 算术 div 除
| 逻辑 位运算 or 或
^ 逻辑 位运算 xor 异或
& 逻辑 位运算 and 与
% 算术 mod 求余
++ 算术 自加
-- 算术 自减
! 逻辑 位运算 非
~ 位运算 取反
= 赋值 等于
!= <> 关系比较 不等于
< 关系比较 小于关系比较 大于
= 关系比较 大于等于
<= 关系比较 小于等于
=> 关系比较 等大于
=< 关系比较 等小于位运算 右移
位运算 左移
@ 取指针 @变量名或小程序名
( ) 参数传递 数组下标 加(整数 a, 文本b); 整数 ab(10);
[ ] 数组成员 定长文本 文本 st[15];
{ } 代码片段
第四节 编程语法
编程语言是根据C语言的写法,定义了一些简单的规范,然后参考易语言语法,制定了中英文双语法体系。无论是中文还是英文写法,语法词汇我尽量使用简短的单词,以方便我们快速输入。
英文语法 中文语法 简单用法
frame 小程序 小程序(整数 a,文本b,字节 c);
end 结束 程序片断代码写完后,都要加上此语句。
property 属性 属性 设置 Left(整数 lt);sl=lt; ...属性 获取 Left(整数 lt);返回(sl);
import 导入 导入 StrStrI 支持库 "SHELL32.DLL",2; 导入dll的函数,有2个参数
include 引入 引入 "Windows.inc"; 用于引用库文件
const 常量 常量 内容=”SEC”; const IDYES = 6;
type 类型 类型 Form{整数 hwnd;整数 WndProc;}
export 导出 写法与小程序类似,用于写dll时,此代码功能可被其它程序调用
return 返回 返回结果给调用者,例如返回(N1 * N2);代码里返回(0)或(假)是退出
if 如果 如果(消息=窗口关闭){停止(0);}
else 否则 必须放在如果语句后面,否则{返回(1);}
while 循环到 判断条件成立则循环,直到条件不成立. 循环到(a<1000){a++;}
for 循环于 For(i=0;i<100;i++){i从0到99,每次加1,循环一百次}
loop 循环条件 循环条件 上限(100000,x){...}
up 上限 Loop up (1000000000,x){...}
down 下限 Loop down(10000000,x){...}
until 直到 Loop until(a>1000000){}
Goto,jump 跳到 ABC: ..... goto ABC; 开头: .... 跳到 开头;
lib 支持库 import abort lib "MSVCRT.DLL",0;
local 局部 局部 整数 图片; local word pic;
preserve 保留 整数 数组();重置 数组[20]; 保留 数组[200];会保留原来的20个
reserve 重置 整数 数组(); 重置 数组[200];把数组重新分配200个,且数据清空
destroy 销毁 销毁 数组; 把数组销毁,释放内存。
direct 置入 置入[字节 $68]; 置入[整数 $20];相当于写机器码
bytes 字节组 字节组 tmp[15,$20,60,128];
with 列举 列举 form{.s=1;.l=5;}等效于form.s=1;form.l=5;
ubound 上标 上标(数组);取一个数组的上标
lbound 下标 下标(数组);取一个数组的下标
alias 别名 导入 信息框 别名 MessageBoxA lib "USER32.DLL",4;
ascii 英文码 import AppendMenu ascii lib "USER32.DLL",4;等效于 AppendMenuA lib
unicode 统一码 等效于调用的函数后面加”W”
bitmap 位图 位图 “图片.BMP”;
ricon 图标 图标 “图标.ICO”;
picon 程序图标 程序图标 “32.ICO”;
stable 文字 文字 “你好”;
cursor 光标 光标 “12.cur”;
rcdata 数据 数据 “tmp1.jpg”;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。