极语言官方网站

变量类型

最常用的变量是整数,如:整数 窗口。就是申请一个名为窗口整数变量。

整数变量也是万能的指针,传送参数参数只有整数和小数这两种。

在小程序片段之内的变量是局部变量,之外的是全局变量

变量的作用主要是用来存取数据,传递参数,算法运算等等。

局部变量只有整数、小数、浮点和文本这四种类型

变量类型之间可以使用等号进行相互转换,语法:变量一=变量二

就是把右边的变量类型转换成左边变量的类型数据。例如:

整数 数一;小数 数二;浮点 数三;

数一=数二;是小数转整数;数二=数一;是整数转小数;

数一=数三;是浮点转整数;数三=数一;是整数转浮点;

转换文本时可以拼接。例如:文本 内容[16]="结果:"+数一"浮点:"+数三;

等号左边是文本自动转文本或拼接,等号左边是小数或浮点时表达式进行浮点运算

内容+数一"\r\n" 是向内容追加文字,原文字增加数一的数字和换行符

如果等号左边是整数,右边是混合运算,尽可能把小数或浮点变量写在前面

如果等号左边和右边都是整数变量,需要浮点运算时,等号后面要加上冒号

例如:数一=:数一 - 数二;还有小数浮点转整数且没有运算: 数一=数二;

代码后面需要加换行或者分号 ,否则难以判定浮点运算与整数的转换

英文名称中文名称数值范围
Bool布尔真(True),假(False)
char,sbyte 字符 -128~127
byte,uchar 字节 0到256
short  短数/整形   -32768到32767
ushort,word 正数 0到65535
int,dword 整数 -2147483648到2147483647
single 小数 负数-3.402823E38到-1.401298E-45;正数1.401298E-45到3.402823E38
string 文本现已取消变长文本,申请时必须指定长度;文本 消息[16]="系统提示";英文1字节,汉字2字节
bytes字节组字节组 数组[15,$20,60,128];一组固定的数据,跟文本性质相似
Double 浮点负数时-1.79769313486232E308到-4.94065645841247E-324;正数4.94065645841247E-324到1.79769313486232E308
date日期8字节日期时间,运算和比较按浮点数格式
long,ulong大数64位整数,32位编程下多用于存储或时间计算。
type类型自定义结构体,示例;
类型 窗口类{整数 句柄,左边,上边,宽度,高度;文本 标题[64],内容[256];}
datab数据表自定义数据表,示例;
数据表 人物表{整数 生命,内功;字节 等级,职业;小数 坐标X,坐标Y;文本 名称[16],帮派[14];}
object对象对象 名称=对象名;使用等号给对象定义,否则只是一个整数
scls子类子类 类名{整数 变量1,变量2;程序段 登陆(账号)...结束;}

十六进制数字是用$或者0x表示,格林威治时间可以用整数来表示,如整数 时间=0@2018-8-15 12:00;不要带引号。

带引号是文本,如 整数 提示="提示消息";文本 内容(16)="$374727774367008C7A";

前面加$时把十六进制字符转换成二进制数据。文本拼接的写法:内容="最终结果:" + 数值 "。总共" + 次数 "次"

整数 数值=转整数(内容);把数字文本转整数值

小数 数值=转小数(内容);把数字文本转小数值

浮点 数值=转小数(内容);把数字文本转浮点值

关于全局变量和局部变量

在程序段内申请的变量包括提交的参数都是局部变量,在程序段和子类之外申请的变量是全局变量。

全局变量包括字符、字节、整形(短数)、正数、整数、日期、小数、浮点、大数、子类、对象和自定义类型。

局部变量目前只有整数、小数、文本、浮点、子类和对象。任何变量在作为参数传递的时候,均为4字节数值。

所以大于4字节的类型比如文本、浮点和自定义类型,提交的是变量的地址而不是值,地址通常大于0x400000。

小数是提交参数要直接进行小数运算时,才需要特别指定。除此之外任何提交的参数都按整数类型。

因此程序段的参数就只有小数和整数这两种,结构体和子类前面可以写上类的名称用来定义参数。例如:

程序段 示例(坐标类 值)
  整数 横坐标=值.左,纵坐标=值.顶
程序段 计算(角色类 人物)
  整数 伤害=(攻击-人物.防御)*1.5 -人物.减伤;

局部变量的申请和使用:

局部变量除文本外都是4字节,文本可以大于4字节,必须是4的整数倍。

局部变量最多可以申请空间1-2M,不使用局部变量则不申请,少量使用时(限120字节)

局部整数和小数变量30个以内,文本按申请的长度算。需要更多变量时,变量前加局部或local

并且放在程序段开头第一行,编译时候才好估算此程序段需要申请多大的堆栈空间。如:局部 文本 ss(32);

局部变量与全局变量区别是很大的,编程语法上尽量做到能兼容使用,方便程序灵活处理。

局部文本和全局文本都可以像操作数组一样,读写其中每一字节。如:文本 s(16)="abc";s(2)=\d;

也可以像其它变量一样,写入数字。如:s=0;文本就被清空,s=$31323334;文本开头就等于4321

因为十六进制是反转的,最后的34写入字符的第一字节,对应文字是4,用s(1)读取出来就是52