文本 字符串[5]="哈你";
–
加文字(数文1,数文2);
/*
示例:
整数 结果00;
结果00=加文字("你","好");
信息框(0,结果00,"你好",信息图标);
*/
加文字的作用是拼接字符串,有两个参数,两个参数都是字符串,加文字的返回值是字符串,需要一个整数或整形变量去临时存储这个结果的地址,才能够在程序中使用它的结果。
全能函数
函数使用
参考:https://blog.csdn.net/mcw_720624/article/details/117192221
发送消息(窗口名或控件名,事件,发送出去的内容,发送出去的内容);
/*
参数1:发送对象。窗口名或控件名
参数2:发送过去要执行啥东西。事件。消息名称
参数3:发送出去的内容。 字符型参数
参数4:发送出去的内容。长整型参数
作用:发送消息可以修改其它程序的窗口或控件,包括文字、图片、图标、光标、背景风格样式、位置大小、添加删除列表或菜单等等,而取窗口字就只能修改自身程序的,不能跨进程修改
*/
创建一个dll
新建工程-标准扩展dll
程序段 初始化(整数 实例,整数 模式,整数 数据)
信息框(0,"世界","你好",信息图标);
结束;
/*
原始内容如下:
程序段 初始化(整数 实例,整数 模式,整数 数据)
返回(1)
结束;
*/
调用dll使用中括号里的语法[加载库(“创建dll.dll”)](提前是把dll放入程序同目录下能这样写,不然你就需要写完整的路径)
程序段 窗体消息(窗口,消息,参数,数据)
判断(消息)为 窗口关闭{停止(0)}
为 单击左键{左键点击(参数)}
否则 处理窗口(窗口,消息,参数,数据)
结束
程序段 窗体启动
加载库("创建dll.dll")
结束
写一个控制台程序。(新建工程-命令控制台)
程序段 初始启动
写文字("你好,我是简易中文编程")
读字符
结束;
写一个命令控制台程序,返回小数点后几位:
以下代码解读,
首先极语言不会帮助开发者取申请内存空间,需要开发者自行申请内存空间,最好用到多少内存空间就申请多少内存空间。
所以写了一个程序段返回了你需要的值,你需要自己申请一个变量去接收这个值,注意,你程序段返回的是什么类型的值,那么你就需要申请一个相应的数据类型的值去接收这个值。
这里程序段返回的是一个小数,所以需要申请一个浮点类型的变量去接收这个值,然后再使用[写格式()]这个命令去格式化这个值显示到命令控制台上。格式化浮点类型的数据使用%f。
注意程序段如果返回的值是小数,那么需要在小数前面跟上一个冒号符号:,表示你返回的是一个浮点类型的值。例如,你想返回4.5这个小数,那么表达式就是返回(:4.5)
程序段 初始启动
浮点 值;
值=取一个小数;
写格式("%f",值);//默认精确到小数点后6位数
写格式("\r\n","");
写格式("%.1f",值);//精确到小数点后1位数
写格式("\r\n","");
写格式("%.2f",值);//精确到小数点后2位数
写格式("\r\n","");
写格式("%.3f",值);//精确到小数点后3位数
写格式("\r\n","");
写格式("%.4f",值);//精确到小数点后4位数
写格式("\r\n","");
写格式("%.5f",值);//精确到小数点后5位数
写格式("\r\n","");
写格式("%.6f",值);//精确到小数点后6位数
写格式("\r\n","");
写格式("%.7f",值);//精确到小数点后7位数
写格式("\r\n....\r\n","");
写格式("%.70f",值);//精确到小数点后70位数
读字符
结束;
程序段 取一个小数
返回(:4.5)
结束
/*
函数说明:
写格式("你好%s",名字);
作用:把一个或多个变量转换格式化后显示在屏幕(控制台)上
*/
使用发送消息让编辑框与编辑框之间传值
程序段 编辑框1_改变
整形 字=申请内存(64);
整形 你;
你=字;
发送消息(编辑框1,获取文本,64,字);
发送消息(编辑框2,设置文本,真,你);
结束
但是这个语句其实是不对的,整形不可以作为指针也就是地址使用,应该把 整形 改为 整数。
极语言中的数据类型有全局变量和局部变量之分。
数组,结构体,字节,字符,整形,短数,正数,大数,日期,这些数据类型的变量都是全局性的,不论你在程序中的哪个位置声明,都可以使用。当然不在一个工程下的文件里的全局变量除外。
极语言所有的数据类型(12种):
字符、字节、整形(短数)、正数、整数、日期、小数、浮点、大数、子类、对象和自定义类型。
极语言的所有变量即可为全局变量,只要声明在程序段之外即可.
全局变量除了文本需要指定申请内存大小,其他都不需要,只要别超过数据类型定义的大小范围即可.
全局变量中的文本数据类型,指定的字节大小依然遵循4的整数倍.
全局变量中的文本数据类型,指定的字节大小申请没有最大120字节限制,
只要不超过数据类型给定的范围即可.
声明在程序段之内的就是局部变量,并且只能声明整数、小数、文本、浮点、子类和对象这6种数据类型.
所有的变量除了文本类型都是按照4字节以及4字节的倍数参与内存操作运算的,
比如申请了一个6字节的变量,程序会把这个变量当作8字节的.
程序中所有的局部变量的字节长度,默认最大申请的内存为120字节,如果所有局部变量加起来需要申请更多字节的内存空间时,
请在程序段内的局部变量前,加上局部两个字或者加上loacl也行,都是一个意思,然后再空格,比如:
程序段 窗体启动
局部 文本 ss(122);
结束
因为极语言中,0代表着空,代表着结束,所以想要清空变量,只需要把0赋予给要清空的变量即可.比如:
局部变量最多能够申请的字节内存大小为1-2M.
如何修改文本数据中的某个字符?
使用数组操作即可,比如申请了一个文本变量:
//申请16字节的文本变量
文本 s[16]="abc";
//使用数组操作,把s变量中第2个位置的字符修改为d
s(2)=\d;
注意以上程序不要搞混了,申请变量需要在变量前定义数据类型,
如果不定义数据类型,括号里的数字就是指索引,叫下标也行,下标从0开始,
所以s变量的第2个位置的字符是c,修改第2个位置的字符为d.
要注意这一点,极语言中的全局和局部和其他编程语言里的全局和局部不一样。极语言的全局能够跨越文件和程序段。局部就是局部。
极语言的数组
数组属于全局变量,所以一个工程下声明的数组在此工程下哪里都能用。
数组,即一组数据。如果数据有顺序的话,那么就肯定要有一个顺序,但是从哪里开始呢?极语言里面的数组顺序是从0开始。
在其它语言中,通常数组是这样声明的,
example = ["a","b","c","d","e","f","g"]
但是这里面的这些数据,我们成为数组中的元素,我们总要知道某个元素处于数组中的什么位置吧?怎么描述这个位置呢?
你不妨可以这样看这组数据:
example = [0,1,2,3,4,5,6,7,8,9]
比如,给元素排个序,里面的每个元素都有一个序号,这个序号我们称它为下标,元素下方的标识,也可以叫做索引,一种目录的线索引用。
现在你能看懂数组了吗?
那么极语言里的数组声明需要一个一个的对数组里的每一个元素进行赋值,
数组声明的语法是
比如想声明一个名为“内容”的数组,第一个元素是
第二个元素是
第三个元素是
界面菜单设计
极语言的菜单设计,首先要把.frm文件呼唤出来,双击那个文件即可呼唤出来,然后在那个界面上鼠标右键一下,会出来选项,选择编辑菜单即可。
编辑菜单的界面有一个输入框,那个输入框里直接输入菜单名按一下回车键即可追加菜单名,有上下箭头可以移动菜单项。
需要注意的是,菜单项,不要输入空白的菜单名,不然的话,整个菜单项都无法显示。
就像这样:
如果你想整一个二级菜单,菜单编辑器上有左右键,可以先添加菜单项,然后左右键控制菜单级别,像下面这样:
极语言如何添加菜单的绑定事件?
在控件窗体上右键,注意不要在控件上右键,在窗体没有控件的空白处右键,编辑菜单-输入菜单名称-点击添加按钮-双击菜单名即可添加菜单的绑定事件。
极语言如何删除菜单的绑定事件?
在一个控件上鼠标右键,然后点击删除事件,把你要删除的事件名称弄进去即可。
数据表的使用
程序段 窗体消息(窗口,消息,参数,数据)
判断(消息)为 窗口关闭{停止(0)}
为 单击左键{左键点击(参数)}
否则 处理窗口(窗口,消息,参数,数据)
结束
//见过Excel表格嘛?
//定义表格名称并且定义表格的列名 密码 密保 邮箱 性别四个字段
//同时仅仅是定义名称,都可以放在外面,尤其是 全局变量.
//数据表 属于 结构体 数据类型, 结构体 数据类型属于 全局变量.
数据表 账号表{文本 密码[16],密保[16],邮箱[16];整数 性别}
程序段 窗体启动
//定义可存入表记录数 可存入5000行数据
重置 账号表(5000);
//定义第1行数据
账号表(0).密码="123";
账号表(0).密保="宠物";
账号表(0).邮箱="123@qq.com";
账号表(0).性别=1;
//定义第2行数据
账号表(1).密码="---";
账号表(1).密保="---";
账号表(1).邮箱="123---@qq.com";
账号表(1).性别=0;
整数 aa=账号表(0).密码;
//获取数据表的行数
整数 bb=账号表.rows;
//获取数据表的列数
整数 cc=账号表.cols;
文本 行数[10]=bb;
文本 列数[10]=cc;
信息框(0,行数,"你好",信息图标);
结束
/*
为啥获取账号表的行数或列数需要多一个数据转换的步骤?
就是整数这个数据类型始终传递的是变量的地址,当声明一个变量时,需要从内存中申请一个地址给它,现在我们已经在内存中申请到地址了,然后当程序去引用时,直接引用这个整数变量就能显示数据。
但是,当我获取数据表的行数或者列数时,也需要使用整数先给它从内存中申请一个地址,然后由于信息框中的提示信息属于文本类型的数据,所以需要再给它这个变量的数据转成文本类型才行。
上面我获取的账号表(0).密码这个因为数据本身已经是文本类型,所以现在看起来才少了一步骤。
整数变量获取了地址----引用这个变量能显示地址上的数据------至于你想要在屏幕上显示的话,那么要看显示在屏幕上那个函数里规定的数据类型是啥,来决定需不需要转换数据。
*/
播放和停止音乐
//添加一首歌曲
音乐播放.添加("1.mp3")
//播放序号为1的歌曲
音乐播放.开始(1)
//停止序号为1的歌曲
音乐播放.停止(1)
极语言如何更改程序图标?
ide界面-设置-程序图标
极语言如何让程序发出嘀的一声?
程序段 窗体启动
嘀(377,1000);
结束
/*
嘀(频率,持续时间);
频率:在37到32767之间
持续时间:毫秒数,1000毫秒等于1秒,1分钟就是60000毫秒
*/
极语言IDE窗体设计界面的组件框分别有哪些?
注意:下面的组件排列顺序与窗体设计界面的组件位置是一一对应的。
除了第一个指针不是用来画界面的,其他的组件数量共有31个。
指针 图像框 标签 按钮
网页框 编辑框 复选框 单选钮
分组框 列表框 组合框 高级组合框
滚动条 标头 调节框 工具提示
选项卡 工具条 状态栏 进度条
树表 表格 文档编辑 滑块条
日期框 月历 影音动画 链接
热键 分页框 IP框 用户控件
极语言编译的程序如何获得管理员权限?
菜单项-工程-版本信息-合法版权或文件描述里写上install或者update。这样编译后的程序将拥有获取管理员的权限。
极语言如何把窗体文件的编程代码?
选中窗体或窗体文件,点击菜单栏倒数第四个按钮:切换设计。能把窗口文件图像转换成代码模式。
如何调用另一个窗体?
已有窗体1,创建窗体2,选中窗体2,切换设计,小程序后面的“加载窗体2”就是一个函数,可以在其他函数中调用这个函数名即可调用显示出该窗体。
创建线程
创建线程(属性,堆栈,@函数,参数,标志,标识);
/*
函数说明:
一般情况下,需要填写参数三.
参考链接
https://www.cnblogs.com/ay-a/p/8762951.html
第一个参数:表示线程内核对象的安全属性,一般传入NULL表示使用默认设置。(null就是0,就是空)
第二个参数:表示线程栈空间大小。传入0表示使用默认大小(1MB)。
第三个参数:表示新线程所执行的线程函数地址,多个线程可以使用同一个函数地址。
第四个参数:是传给线程函数的参数。
第五个参数:指定额外的标志来控制线程的创建,为0表示线程创建之后立即就可以进行调度,如果为CREATE_SUSPENDED则表示线程创建后暂停运行,这样它就无法调度,直到调用ResumeThread()。
第六个参数:将返回线程的ID号,传入NULL表示不需要返回该线程ID号。(null就是0,就是空)
*/
//函数示例
程序段 窗体启动
创建线程(0,0,@播放音乐,0,0,0);
结束
小程序 播放音乐
音乐播放.添加("1.mp3");
音乐播放.开始(1);
结束
开启线程
开启线程(@函数,堆栈大小,参数);
/*
一般情况下,需要填写参数一。
函数说明:
参考链接
https://www.cnblogs.com/LiaoQian1996/p/12923318.html
参数1:函数名/小程序名
参数2:新线程的堆栈大小;设为0表示与主线程使用一样的堆栈
参数3:参数列表(没有参数时为NULL,null就是0,就是空)
*/
//函数示例
程序段 窗体启动
开启线程(@播放音乐,0,0);
结束
小程序 播放音乐
音乐播放.添加("1.mp3");
音乐播放.开始(1);
结束
开启线程和创建线程目前不清楚有何区别,目前知道的就是
- 两者作用一样
- 创建线程,这个函数最后一个参数可以把线程的状态返回到一个整数值上,这样你就知道这个线程当前啥状态,成功了还是失败了还是说有其他情况。这个状态有11031种,参考https://www.cnblogs.com/carekee/articles/2196518.html
字串长度
函数说明:
字串长度(参数1);
参数1:字符或字符串.获取文字的长度,英文1字节,汉字2字节;
函数示例:
程序段 窗体启动
整数 文件;
文件=建文件("12.htm",0);
整数 内容="你好你好";
写文件(文件,内容,字串长度(内容));
关文件(文件);
结束
文件框类
文件框类 文件框(长度=76,路长=64);
文本 路径[64];
程序段 窗体启动
文件框.窗口=窗体;
文件框.路径=路径;
文件框.分类 = "文本文件'\0'*.txt;*.inc'\0'所有文件'\0'*.*'\0'";
结束
程序段 按钮2_点击
文件框.标题="打开文件11111"
如果(文件选框(文件框))
信息框(0,路径,"选择的文件是",信息图标);
结束
程序段 按钮3_点击
文件框.标题="保存为1111"
如果(保存选框(文件框))
信息框(0,路径,"选择的文件是",信息图标);
建文件(路径,0);
关文件(路径);
结束
这个文件框类的所有成员,构成了一个文件框类这样一个东西,这个文件框类就是一种数据,它由19个东西构成,这19个东西被称为他的成员,每个成员占用4字节,然后加起来就是这个文件框类的数据结构的长度,也就是19*4=76字节,这就是为啥要填写76这个数字的原因.
创建窗口
/窗口=创建窗口(扩展,类名,标题,样式,左,上,宽,高,父窗,菜单/标识,实例,数据);
//作用:创建窗口。
//函数使用示例:
窗体=创建窗口($200,程序.名称,"编辑器",$100F0064,左,上,993,595,0,菜单,0,0);
编辑框1=创建窗口($200,"Edit","编辑框1",$50011004,25,60,150,335,窗体,1,4,0);
编辑框2=创建窗口($200,"Edit","编辑框2",$50011004,205,75,171,45,窗体,2,4,0);
文档编辑3=创建窗口($200,"RichEdit20A","RichEdit20A编辑框2",$50241004,225,165,170,220,窗体,3,23,0);
文档编辑4=创建窗口($200,"RichEdit20W","RichEdit20W编辑框2",$50241004,400,165,170,220,窗体,3,23,0);
文档编辑5=创建窗口($200,"RichEdit","RichEdit编辑框2",$50241004,590,165,170,220,窗体,3,23,0);
/*
参数解释:
扩展:未知,目前创建窗口统一写$200。
类名:使用哪个组件名称,详见win32api里面的组件名。
标题:设置该组件的名称或者内容。
样式:未知,目前已知的样式可以填写$100F0064、$50011004,样式列表未知。
左:该组件当前最左顶点的x坐标,就是起始坐标x,或者叫水平坐标。
上:该组件当前最左顶点的y坐标,就是起始坐标y,或者叫垂直坐标。
宽:组件的宽度。
高:组件的高度。
父窗:该组件的父组件窗口是谁。
菜单/标识:未知。
实例:未知。
数据:未知。
富编辑框,目前发现有三个:RichEdit20A、RichEdit20W、RichEdit。
RichEdit组件无边框
其他区别未知。
字串长度(文字);
作用:获取文字的长度,英文1字节,汉字2字节。
目前不知道返回值是啥类型。
*/
编辑器使用问题
如果编辑器输入不了汉字,可以点一下Ecs键。可能你按了Ctrl+F组合键,就会出现这种情况。
注意大括号后面不要有分号。
注意连续声明不同数据类型的变量或者常量时,加分号。
代码自动联想提示功能按F2即可开启,使用拼音首字母即可出现想要的关键字。
极语言中的窗口一般是指窗口名,在微软文档中一般叫窗口句柄。
一级菜单通常点开都是子菜单,就是说一级菜单的功能只负责展开和收起子菜单,所以极语言的一级菜单中不会对子菜单进行设置点击事件,也只是用来展开和收起子菜单的功能,只有子菜单的绑定事件会生效。