极语言官方网站

结构体类型的使用

在申请变量的时候,特定的场合总是会申请相同的多种变量,这些变量的排列顺序也是一样的结构,所以就有了结构体这种类型

极语言里自定义结构体就叫"类型",对于特别常用的结构类型会用套装标准的格式来定义这个结构,比如下面几种结构体:

类型 坐标类{整数 左,顶;}

一个坐标点或者一个几何形体的坐标位置,都需要左和顶两个整数值去定义这个位置

在代码里写书写坐标类 坐标;就会申请坐标.左和坐标.顶这两个整数变量

类型 尺寸类{整数 宽,高;}

一个方形或者近似方形的几何形状,都需要宽和高两个整数值去定义它的大小

在代码里写书写尺寸类 大小;就会申请大小.宽和大小.高这两个整数变量

类型 矩形类{整数 左,顶,宽,高;}

一个正方形或者长方形的窗口对象,都需要左和顶以及宽和高这四个整数值去定义它的大小和位置

在代码里写书写矩形类 矩形;就会申请矩形.左、矩形.顶、矩形.宽、矩形.高这四个整数变量

类型 快捷键类{整形 行为,键值,标识;}

一个快捷键或者键盘鼠标的动作信息,都需要用数值去描述和定义动作行为(SHIFT,CTRL,Alt等)

还需要一个数值去定义具体哪一个动作(鼠标左键,右键,中键,键盘具体哪个键等等)和加速器标识符

在代码里写书写快捷键类 快捷;就会申请快捷.行为,快捷.键值和快捷.标识这三个整形变量

类型 窗口类{整数 风格,消息,类长,实长,实例,图标,光标,背景,菜单,名称;}

窗口类是创建窗口程序需要使用的类,极语言的基础程序内置模块(GUI.inc)就有使用这个类

窗口类 程序(风格=$83,实例=$400000,背景=6)申请类型时可以在后面括号里给成员赋值

类型 窗口外观类{整数 参数,实例,菜单,父窗,高度,宽度,顶部,左边,风格,名称,类名,扩展}

窗口外观类可以通过发送消息函数来创建窗口控件,在窗口创建消息到来时也能收到这个结构体

类型只能是全局变量,在类型变量名后面加小括号设定初始值,不用按顺序指定,需要指定成员名。例如:

文件框类 文件框(长度=76,路长=64,名长=64);//要注意预置初始值时,整数只能用数字,文本只能用字符串。

赋值代码是在程序段之内书写,例如:文件框.标题="打开文件",用文本向整数变量赋值。

标题这个整数成员变量赋值的是"打开文件"这段文字的指针地址,它只能在编译程序时才能确定地址

还有一种情况:文件框.窗口=窗体;虽然都是整数变量,但是窗体是运行程序创建窗口之后才有具体地址

窗体虽然也是个整数变量,但是这个数值指向的地址里包含一系列窗口相关的数据信息,通常称之为对象

类型是用来连续申请多种变量,复杂的类型结构长度也是可变的

这种结构体的第一个变量通常都是长度,其成员结构也并不确定,使用组合标志来确定使用哪些成员

也有的不用长度而只用标志,指定包含哪些数据就去特定位置获取

对于复杂的结构只用指定部分成员数值时,可以使用小括号语法赋值,还有一种大括号初始化值的方法:

矩形类 矩形={10,20,800,600}这是给单个矩形指定左顶宽高四个值的写法

使用大括号初始化数值,必须给所有成员变量都指定数值,指定的数值跟成员变量的位置是对应的


矩形类 矩形[5]={

{10,20,800,600},

{30,50,600,500},

{40,60,700,400},

{50,30,900,700},

{20,10,300,200}

}这是给五个矩形类变量初始化值的写法,五组大括号里都包含有四个变量的数值

下面是坐标类,尺寸类,矩形类的详细介绍,更多结构体详见:常用结构体类型定义

中文名字英文名称长度作用解释
坐标类POINT8用来存储坐标位置的信息
坐标类 成员表
中文英文类型作用解释
x整数水平坐标位置。
y整数垂直坐标位置。

中文名字英文名称长度作用解释
尺寸类SIZE8用来存储尺寸大小的信息
尺寸类 成员表
中文英文类型作用解释
cx整数尺寸大小的宽度。
cy整数尺寸大小的高度。

中文名字英文名称长度作用解释
矩形类RECT16用来表示一个矩形框的四条边位置。
矩形类——成员表
left整数指定矩形框左上角的x坐标
top整数指定矩形框左上角的y坐标
right整数指定矩形框右下角的x坐标
bottom整数指定矩形框右下角的y坐标