posted @   Rkey  阅读(11)  评论(0编辑  收藏  举报

监视-初级程序-极语言教程

//窗体代码:

复制代码
整数 窗体,路径,添加,启动,列表,类名,窗名,可用,可见,修改,标签10,内存,ZJ,ZX,ZS,XS,WB,显示,读取,写入,搜索,变化;
程序资源 24,"清单.xml";
程序段 加载窗体
整数 左=(桌面.宽-424)>>1,上=(桌面.高-406)>>1;
窗体=创建窗口($100,程序.名称,"窗体空白处按下左键",$10C80000,左,上,424,406,0,0,0,0);
路径=创建窗口($200,"Edit","",$50010080,10,60,330,20,窗体,1,4,0);
添加=创建窗口($0,"Button","添加",$50000000,350,10,50,30,窗体,2,3,0);
启动=创建窗口($0,"Button","保护",$50012003,350,50,50,20,窗体,3,6,0);
列表=创建窗口($200,"listbox","",$50210081,10,90,330,90,窗体,4,9,0);
类名=创建窗口($200,"Edit","",$50010044,10,10,150,40,窗体,5,4,0);
窗名=创建窗口($200,"Edit","",$502100C4,170,10,170,40,窗体,6,4,0);
可用=创建窗口($0,"Button","可用",$50012003,350,90,50,20,窗体,7,6,0);
可见=创建窗口($0,"Button","可见",$50012003,350,120,50,20,窗体,8,6,0);
修改=创建窗口($0,"Button","修改",$50000000,350,150,50,30,窗体,9,3,0);
标签10=创建窗口($0,"Static","内存'\2'\r\n'\2'数据",$50000000,10,190,40,100,窗体,10,2,0);
内存=创建窗口($200,"Edit","4194382",$50010000,50,190,100,20,窗体,11,4,0);
ZJ=创建窗口($0,"Button","字节",$50016009,150,190,50,20,窗体,12,7,0);
ZX=创建窗口($0,"Button","整形",$50016009,200,190,50,20,窗体,13,7,0);
ZS=创建窗口($0,"Button","整数",$50016009,250,190,50,20,窗体,14,7,0);
XS=创建窗口($0,"Button","小数",$50016009,300,190,50,20,窗体,15,7,0);
WB=创建窗口($0,"Button","文本",$50016009,350,190,50,20,窗体,16,7,0);
显示=创建窗口($200,"Edit","",$50010044,50,220,290,140,窗体,17,4,0);
读取=创建窗口($0,"Button","读取",$50000000,350,220,50,30,窗体,18,3,0);
写入=创建窗口($0,"Button","写入",$50000000,350,260,50,30,窗体,19,3,0);
搜索=创建窗口($0,"Button","搜索",$50000000,350,300,50,30,窗体,20,3,0);
变化=创建窗口($0,"Button","变化",$50012003,350,340,50,20,窗体,21,6,0);
窗体启动;读取消息
结束
复制代码

 

//程序代码:

复制代码
整数 标准箭头,手形光标,按下,选项,序号=-1,份数,选窗,进程,PID;文本 缓冲[64];
小程序 窗体消息(整数 窗口,整数 消息,整数 参数,整数 数据)
    判断(消息)
    为 窗口关闭{停止(0)}
    为 单击左键{左键点击(参数)}
    为 鼠标移动{如果(按下)抓取窗口}
    为 按下左键{更换游标(手形光标)捕获鼠标(窗口)按下=真}
    为 释放左键{更换游标(标准箭头)释放鼠标;按下=假}
    否则{处理窗口(窗口,消息,参数,数据)}
结束

数据表 监视{整数 窗口,进程;文本 名称[40],类名[40]}坐标类 坐标;

小程序 窗体启动
    重置 监视(20)
    标准箭头=载入光标(0,32512)
    手形光标=载入光标(0,32649)
    按钮复选(窗体,12,真)
    读取消息
结束

小程序 左键点击(整数 参数)
    判断(参数)
    为 2 添加监视
    为 3 启停监视
    为 7 可用控制
    为 8 可见控制
    为 9 修改内容
    为 12~16 选项=参数-1218 读取内容
    为 19 写入内容
    为 20 搜索内容
    为 $10001 选择窗口
结束

小程序 抓取窗口
    整数 窗口,顶,左
    读取光标(@左)
    窗口=定位窗口(左,顶)
    如果(窗口=选窗)返回;
    取窗口字(窗口,缓冲,64)
    改窗口字(窗名,缓冲)
    获取类名(窗口,缓冲,64)
    改窗口字(类名,缓冲)
    选窗=窗口
    窗口进程(窗口,@PID)
    进程=打开进程($1F0FFF,0,PID)
    进程全名(进程,0,缓冲,@PID)
    改窗口字(路径,缓冲)
结束

小程序 修改内容
    取窗口字(窗名,缓冲,64)
    发送消息(获取控件(选窗,5),设置文本,0,缓冲)
结束

小程序 可用控制
    整数 状态=发送消息(可用,获取选择,0,0)
    控制窗口(选窗,状态)
结束

小程序 可见控制
    整数 状态=发送消息(可见,获取选择,0,0)
    显隐窗口(选窗,状态)
结束

小程序 添加监视
    整数 数量=发送消息(列表,列表数量,0,0)
    监视(数量).进程=进程;监视(数量).窗口=选窗
    发送消息(列表,列表添加,0,缓冲)
结束
小程序 选择窗口
结束

小程序 启停监视
 如果(份数=0){
  改窗口字(启动,"停止")
  份数=发送消息(列表,列表数量,0,0)
  开启线程(@开始监视,0,份数)}
 否则{改窗口字(启动,"监视")份数=0}
结束

小程序 开始监视(整数 数量);
 整数 计数;
 循环在(份数){延时(600)计数=0
  循环{
  如果(窗口响应(监视(计数).窗口)=0)检查进程(计数)
  计数++}(计数>=数量)}
结束
小程序 检查进程(整数 计数)
如果(监视(计数).进程=0){
 选窗=查找窗口(0,监视(计数).名称)
  如果(选窗){
  窗口进程(选窗,@PID)
  监视(计数).进程=打开进程($1F0FFF,0,PID)}
  监视(计数).窗口=选窗}
  否则{
  终止进程(监视(计数).进程,0)
  发送消息(列表,列表读取,计数,缓冲)
  运行(缓冲,窗口显示)
  监视(计数).进程=0}
结束

小程序 窗口响应(整数 窗口)
    待回消息(选窗,0,0,0,$22,1000,0)
结束

小程序 读取内容
    整数 长度=选项,地址=取控件数(窗体,11,0,1)
    浮点 双数
    判断(长度)
    为 0 长度=321 长度=2<4 长度=44 长度=64
    读取内存(进程,地址,缓冲,长度,0)
    判断(选项)为 0 显二进制
    为 1 改控件数(窗体,17,缓冲%,1)
    为 2 改控件数(窗体,17,~缓冲,1)
    为 3{地址<-缓冲;双数=地址
    格式化(缓冲,"%f",双数)
    改窗口字(显示,缓冲)}
    为 4 改窗口字(显示,缓冲)
结束

小程序 显二进制
    文本 缓存[68]
    整数 指针=@缓存,数值
    循环数组(数值<缓冲(32)){
    格式化(指针,"%02X",数值)
    指针+2}改窗口字(显示,缓存)
结束

小程序 写入内容
    整数 长度,数值,地址=取控件数(窗体,11,0,1)
    小数 单数
    数值=取控件数(窗体,17,0,1)
    长度=取窗口字(显示,缓冲,64)
    判断(选项)
    为 0 长度=写二进制(长度>>1)
    为 1{长度=2;数值->缓冲}
    为 2{长度=4;数值->缓冲}
    为 3{长度=4;单数=转小数(缓冲)单数->缓冲}
    为 4 长度++
    写入内存(进程,地址,缓冲,长度,@长度)
    改控件数(窗体,17,长度,1)
结束

小程序 搜索内容
结束

小程序 写二进制(整数 长度)
    整数 指针=@缓冲,数值
    循环数组(数值>缓冲(长度)){
    拆分式(指针,"%02X",@数值)
    指针+2}返回(长度)
结束
复制代码

 

posted @   Rkey  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示