开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 314|回复: 6
收起左侧

[精币悬赏] 0xC0000005错误报告

[复制链接]
结帖率:33% (1/3)
发表于 2024-9-1 10:04:56 | 显示全部楼层 |阅读模式   广东省广州市
5精币
编写的程序发生崩溃,查看windows日志报告0xC0000005;
通过加线程锁无法解决,不确定异常原因在哪,求助各位大神给点意见

结帖率:33% (1/3)
 楼主| 发表于 2024-9-1 10:11:49 | 显示全部楼层   广东省广州市
具体代码如下
[JavaScript] 纯文本查看 复制代码
.版本 2
.支持库 ExuiKrnln
.支持库 EThread
.支持库 eGrid
.支持库 spec

.程序集 窗口程序集3
.程序集变量 现行时间_年, 整数型
.程序集变量 现行时间_月, 整数型
.程序集变量 现行时间_日, 整数型
.程序集变量 现行时间_小时, 整数型
.程序集变量 现行时间_分钟, 整数型
.程序集变量 现行时间_秒钟, 整数型
.程序集变量 公共数据, 整数型, , "0"
.程序集变量 温度数据, 整数型, , "0"
.程序集变量 湿度数据, 整数型, , "0"
.程序集变量 数据配置, CONFIG
.程序集变量 PUBLIC_DATA, 文本型, , "0"
.程序集变量 TEMPERATURE_DATA, 文本型, , "0"
.程序集变量 HUMIDNESS_DATA, 文本型, , "0"
.程序集变量 public, 数据代号, , "0"
.程序集变量 temperature, 数据代号, , "0"
.程序集变量 humidness, 数据代号, , "0"
.程序集变量 public顺序, 整数型, , "3"
.程序集变量 h_t线程句柄, 整数型
.程序集变量 public线程句柄, 整数型
.程序集变量 humidness顺序, 整数型, , "8"
.程序集变量 temperature顺序, 整数型, , "8"
.程序集变量 列1标签_标题, 标签EX, , "16"
.程序集变量 列1标签_内容, 标签EX, , "16"
.程序集变量 列1标签_单位, 标签EX, , "16"
.程序集变量 列2标签_标题, 标签EX, , "16"
.程序集变量 列2标签_内容, 标签EX, , "16"
.程序集变量 列2标签_单位, 标签EX, , "16"
.程序集变量 列3标签_标题, 标签EX, , "16"
.程序集变量 列3标签_内容, 标签EX, , "16"
.程序集变量 列3标签_单位, 标签EX, , "16"
.程序集变量 数据一览线程句柄, 整数型
.程序集变量 成本线程句柄, 整数型
.程序集变量 全视图切换线程句柄, 整数型
.程序集变量 动力句柄, 整数型
.程序集变量 温度句柄, 整数型
.程序集变量 湿度句柄, 整数型
.程序集变量 代真, 逻辑型
.程序集变量 自动视图切换, 文本型
.程序集变量 视图切换范围, 文本型, , "0"
.程序集变量 视图1切换延时, 整数型
.程序集变量 视图2切换延时, 整数型
.程序集变量 视图4切换延时, 整数型
.程序集变量 视图轮询延时, 整数型
.程序集变量 数组访问许可, 整数型
.程序集变量 Waitting, 整数型
.程序集变量 副本设状态, 设备状态, , "0"
.程序集变量 副本数定义, 全局定义表, , "0"
.程序集变量 当前页面完成许可切换, 逻辑型

.子程序 _数据看板3_创建完毕
.局部变量 i, 整数型



代真 = 真

复制数组 (副本设状态, 设备状态)
复制数组 (副本数定义, 数据定义)

public顺序 = { 1, 2, 3 }
humidness顺序 = { 1, 2, 3, 4, 5, 6, 7, 8 }
temperature顺序 = { 1, 2, 3, 4, 5, 6, 7, 8 }

窗口EX1.最大化模式 = #尺寸限定模式_最大覆盖任务栏
读取数据配置 ()
t_h_折线图初始化 ()
数据一览元件装载 ()

数组访问许可 = 创建进入许可证 ()
' 如果真 (数组访问许可 = 0)
' 信息框 (“未能创建访问许可,请联系开发人员”, 0, , )
' 销毁 ()

.如果真 (文件是否存在 (取运行目录 () + “\db3Log.ini”) = 假)
    写到文件 (取运行目录 () + “\db3Log.ini”, 到字节集 (“”))
.如果真结束

public线程句柄 = 线程_启动 (&public_线程)
' 成本线程句柄 = 线程_启动 (&成本数据线程)
' 数据一览线程句柄 = 线程_启动 (&数据一览线程)
全视图切换线程句柄 = 线程_启动 (&全视图切换线程)
' 动力句柄 = 线程_启动 (&公共动力线程)
' h_t线程句柄 = 线程_启动 (&h_t_刷新)
' 温度句柄 = 线程_启动 (&温度实时)
' 湿度句柄 = 线程_启动 (&湿度实时)

.判断开始 (到数值 (视图切换范围 [1]) = 0)
    h_t线程句柄 = 线程_启动 (&h_t_刷新)
.判断 (到数值 (视图切换范围 [1]) = 1)
    数据一览线程句柄 = 线程_启动 (&数据一览线程)
.判断 (到数值 (视图切换范围 [1]) = 2)
    成本线程句柄 = 线程_启动 (&成本数据线程)
.判断 (到数值 (视图切换范围 [1]) = 3)
    动力句柄 = 线程_启动 (&公共动力线程)
.判断 (到数值 (视图切换范围 [1]) = 4)
    温度句柄 = 线程_启动 (&温度实时)
.判断 (到数值 (视图切换范围 [1]) = 5)
    湿度句柄 = 线程_启动 (&湿度实时)
.默认

.判断结束


.子程序 关闭线程
.参数 页码, 整数型


.判断开始 (页码 = 0)
    .如果真 (线程_取状态 (h_t线程句柄) ≠ -1)
        线程_销毁 (h_t线程句柄)
        线程_关闭句柄 (h_t线程句柄)
    .如果真结束

.判断 (页码 = 1)
    .如果真 (线程_取状态 (数据一览线程句柄) ≠ -1)
        线程_销毁 (数据一览线程句柄)
        线程_关闭句柄 (数据一览线程句柄)
    .如果真结束

.判断 (页码 = 2)
    .如果真 (线程_取状态 (成本线程句柄) ≠ -1)
        线程_销毁 (成本线程句柄)
        线程_关闭句柄 (成本线程句柄)
    .如果真结束

.判断 (页码 = 3)
    .如果真 (线程_取状态 (动力句柄) ≠ -1)
        线程_销毁 (动力句柄)
        线程_关闭句柄 (动力句柄)
    .如果真结束

.判断 (页码 = 4)
    .如果真 (线程_取状态 (温度句柄) ≠ -1)
        线程_销毁 (温度句柄)
        线程_关闭句柄 (温度句柄)
    .如果真结束

.判断 (页码 = 5)
    .如果真 (线程_取状态 (湿度句柄) ≠ -1)
        线程_销毁 (湿度句柄)
        线程_关闭句柄 (湿度句柄)
    .如果真结束



.默认

.判断结束


.子程序 开启线程
.参数 页码, 整数型


.判断开始 (页码 = 0)
    .如果真 (线程_取状态 (h_t线程句柄) ≠ 1)
        h_t线程句柄 = 线程_启动 (&h_t_刷新)
    .如果真结束

    ' 信息框 (“启动ht线程”, 0, , )
.判断 (页码 = 1)
    .如果真 (线程_取状态 (数据一览线程句柄) ≠ 1)
        数据一览线程句柄 = 线程_启动 (&数据一览线程)
    .如果真结束

    ' 信息框 (“启动一览线程”, 0, , )
.判断 (页码 = 2)
    .如果真 (线程_取状态 (成本线程句柄) ≠ 1)
        成本线程句柄 = 线程_启动 (&成本数据线程)
    .如果真结束

    ' 信息框 (“启动成本线程”, 0, , )
.判断 (页码 = 3)
    .如果真 (线程_取状态 (动力句柄) ≠ 1)
        动力句柄 = 线程_启动 (&公共动力线程)
    .如果真结束

    ' 信息框 (“启动动力线程”, 0, , )
.判断 (页码 = 4)
    .如果真 (线程_取状态 (温度句柄) ≠ 1)
        温度句柄 = 线程_启动 (&温度实时)
    .如果真结束

    ' 信息框 (“启动温度线程”, 0, , )
.判断 (页码 = 5)
    .如果真 (线程_取状态 (湿度句柄) ≠ 1)
        湿度句柄 = 线程_启动 (&湿度实时)
    .如果真结束

    ' 信息框 (“启动湿度线程”, 0, , )
.默认

.判断结束


.子程序 临时日志写入
.参数 记录, 文本型
.局部变量 现行文本, 文本型

' 现行文本 = 到文本 (读入文件 (取运行目录 () + “\db3Log.ini”))
' 现行文本 = 现行文本 + #换行符 + 取时间文本 () + “>>” + 记录
' 写到文件 (取运行目录 () + “\db3Log.ini”, 到字节集 (现行文本))
写日志记录 (“debug测试”, 记录)
' 延时 (10)  ' 这条代码的目的在于给系统一点缓冲时间,避免因数组或组件读写冲突导致闪退

.子程序 全视图切换线程
.局部变量 计时器, 整数型
.局部变量 当前下标, 整数型
.局部变量 first, 逻辑型
.局部变量 timer, 整数型

当前下标 = 1
.判断循环首 (代真)
    延时 (10)
    处理事件 ()
    进入许可区 (数组访问许可)
    .如果真 (计时器 = 0 且 first = 真)
        计时器 = 0
        timer = 0
        .判断循环首 (当前页面完成许可切换 = 假)
            延时 (10)
            处理事件 ()
            timer = timer + 1
            .如果真 (timer > 1000)
                跳出循环 ()
            .如果真结束

        .判断循环尾 ()

        关闭线程 (到数值 (视图切换范围 [当前下标]))

        .如果 (当前下标 < 取数组成员数 (视图切换范围))
            当前下标 = 当前下标 + 1
        .否则
            当前下标 = 1
        .如果结束


        选择夹EX1.现行子夹 = 到数值 (视图切换范围 [当前下标])

        当前页面完成许可切换 = 假

        开启线程 (到数值 (视图切换范围 [当前下标]))

    .如果真结束

    计时器 = 计时器 + 1
    .如果真 (计时器 ≥ 视图轮询延时 × 100)
        计时器 = 0
    .如果真结束

    .如果真 (计时器 ≥ 100 且 计时器 % 100 = 0)
        复制数组 (副本设状态, 设备状态)
        复制数组 (副本数定义, 数据定义)
    .如果真结束

    first = 真
    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 读取数据配置
.参数 是否给予提示, 逻辑型, 可空
.局部变量 config, 文本型
.局部变量 i, 整数型

config = 到文本 (读入文件 (取运行目录 () + “\dataBoard3.ini”))
.如果 (数据配置.Init (config, ) = 假)
    信息框 (“数据配置代码编译失败,请检查语法”, 0, , )
.否则
    .如果真 (是否给予提示)
        信息框 (“编译成功”, 0, , )
    .如果真结束

.如果结束

数据配置.提取属性值 (“public”, “data”, PUBLIC_DATA)
数据配置.提取属性值 (“temperature”, “data”, TEMPERATURE_DATA)
数据配置.提取属性值 (“humidness”, “data”, HUMIDNESS_DATA)
重定义数组 (public, 假, 取数组成员数 (PUBLIC_DATA))
重定义数组 (temperature, 假, 取数组成员数 (TEMPERATURE_DATA))
重定义数组 (humidness, 假, 取数组成员数 (HUMIDNESS_DATA))

.计次循环首 (取数组成员数 (PUBLIC_DATA), i)
    public .组位置 = 到数值 (提取设备代号 (PUBLIC_DATA ))
    public .数据位置 = 到数值 (提取数据代号 (PUBLIC_DATA ))
.计次循环尾 ()

.计次循环首 (取数组成员数 (TEMPERATURE_DATA), i)
    temperature .组位置 = 到数值 (提取设备代号 (TEMPERATURE_DATA ))
    temperature .数据位置 = 到数值 (提取数据代号 (TEMPERATURE_DATA ))
.计次循环尾 ()

.计次循环首 (取数组成员数 (HUMIDNESS_DATA), i)
    humidness .组位置 = 到数值 (提取设备代号 (HUMIDNESS_DATA ))
    humidness .数据位置 = 到数值 (提取数据代号 (HUMIDNESS_DATA ))
.计次循环尾 ()

标签EX1.标题 = 取目标文本 (config, “<title>”, “</title>”, 取运行目录 () + “\dataBoard3.ini”, “请添加标题”)
自动视图切换 = 取目标文本 (config, “<autoSwitch>”, “</autoSwitch>”, 取运行目录 () + “\dataBoard3.ini”, “false”)
视图切换范围 = 分割文本 (取目标文本 (config, “<switchRange>”, “</switchRange>”, 取运行目录 () + “\dataBoard3.ini”, “0;1;3”), “;”, )
视图1切换延时 = 到数值 (取目标文本 (config, “<switchDelayOfView1>”, “</switchDelayOfView1>”, 取运行目录 () + “\dataBoard3.ini”, “7”))
视图2切换延时 = 到数值 (取目标文本 (config, “<switchDelayOfView2>”, “</switchDelayOfView2>”, 取运行目录 () + “\dataBoard3.ini”, “15”))
视图4切换延时 = 到数值 (取目标文本 (config, “<switchDelayOfView4>”, “</switchDelayOfView4>”, 取运行目录 () + “\dataBoard3.ini”, “15”))
视图轮询延时 = 到数值 (取目标文本 (config, “<viewSwitchDelay>”, “</viewSwitchDelay>”, 取运行目录 () + “\dataBoard3.ini”, “30”))


.子程序 _一秒事件_周期事件
.局部变量 现行时间, 日期时间型
.局部变量 i, 整数型
.局部变量 temp, 文本型

现行时间 = 取现行时间 ()
现行时间_年 = 取年份 (现行时间)
现行时间_月 = 取月份 (现行时间)
现行时间_日 = 取日 (现行时间)
现行时间_小时 = 取小时 (现行时间)
现行时间_分钟 = 取分钟 (现行时间)
现行时间_秒钟 = 取秒 (现行时间)
标签EX61.标题 = 到文本 (现行时间_年) + “年” + 到文本 (现行时间_月) + “月” + 到文本 (现行时间_日) + “日”
标签EX62.标题 = 到文本 (现行时间_小时) + “:” + 到文本 (现行时间_分钟) + “:” + 到文本 (现行时间_秒钟)

' 计次循环首 (取数组成员数 (设备状态), i)
' 如果真 (设备状态 .停产设置 = “T” 或 设备状态 .停产设置 = “TA”)
' temp = temp + 设备状态 .设备名 + “;”



' 标签EX262.标题 = “当前停产状态:” + #换行符 + temp

' 如果 (temp = “”)
' 标签EX262.可视 = 假
' 如果 (标签EX262.可视 = 真)
' 标签EX262.可视 = 假
' 标签EX262.可视 = 真



.子程序 _按钮EX1_鼠标左键单击, 整数型
.参数 坐标x, 整数型
.参数 坐标y, 整数型
.参数 保留参数1, 整数型
.参数 保留参数2, 整数型

关闭本窗口 ()


.子程序 _按钮EX2_鼠标左键单击, 整数型
.参数 坐标x, 整数型
.参数 坐标y, 整数型
.参数 保留参数1, 整数型
.参数 保留参数2, 整数型

配置路径 = 取运行目录 () + “\dataBoard3.ini”
载入 (Config, , 假)



.子程序 提取设备代号, 整数型
.参数 被提取数据, 文本型
.局部变量 设备代号, 整数型
.局部变量 设备码, 整数型
.局部变量 i, 整数型

设备码 = 到数值 (取文本中间 (被提取数据, 1, 寻找文本 (被提取数据, “@”, 1, 假) - 1))
.计次循环首 (取数组成员数 (设备状态), i)
    .如果真 (设备状态 .设备地址 = 设备码)
        设备代号 = i
        跳出循环 ()
    .如果真结束

.计次循环尾 ()
返回 (设备代号)

.子程序 提取数据代号, 整数型
.参数 被提取数据, 文本型

' 调试输出 (“提取数据代号”, 被提取数据, 取文本右边 (被提取数据, 取文本长度 (被提取数据) - 寻找文本 (被提取数据, “@”, , 假) - 1))

返回 (到数值 (取文本右边 (被提取数据, 取文本长度 (被提取数据) - 寻找文本 (被提取数据, “@”, , 假) - 1)))


.子程序 Public_折线图初始化
.局部变量 max_Arr, 小数型, , "3"
.局部变量 min_Arr, 小数型, , "3"
.局部变量 i, 整数型
.局部变量 limite_up, 小数型, , "20"
.局部变量 limite_down, 小数型, , "20"

' max_Arr [1] = getMax (Array [public [1].组位置].数据 [public [1].数据位置].D值)
' max_Arr [2] = getMax (Array [public [2].组位置].数据 [public [2].数据位置].D值)
' max_Arr [3] = getMax (Array [public [3].组位置].数据 [public [3].数据位置].D值)

' min_Arr [1] = getMin (Array [public [1].组位置].数据 [public [1].数据位置].D值)
' min_Arr [2] = getMin (Array [public [2].组位置].数据 [public [2].数据位置].D值)
' min_Arr [3] = getMin (Array [public [3].组位置].数据 [public [3].数据位置].D值)

max_Arr [1] = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].字数值高
max_Arr [2] = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].字数值高
max_Arr [3] = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].字数值高

min_Arr [1] = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].字数值
min_Arr [2] = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].字数值
min_Arr [3] = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].字数值


.计次循环首 (取数组成员数 (max_Arr), i)
    .如果 (max_Arr  < 0)
        max_Arr  = 0
    .否则
        max_Arr  = max_Arr  × 1.5
    .如果结束


    .如果 (min_Arr  > 0)
        min_Arr  = 0
    .否则
        min_Arr  = min_Arr  × 1.5
    .如果结束

.计次循环尾 ()

曲线图Ex1.纵轴最大值 = 到整数 (max_Arr [1])
曲线图Ex2.纵轴最大值 = 到整数 (max_Arr [2])
曲线图Ex3.纵轴最大值 = 到整数 (max_Arr [3])
曲线图Ex1.纵轴最小值 = 到整数 (min_Arr [1])
曲线图Ex2.纵轴最小值 = 到整数 (min_Arr [2])
曲线图Ex3.纵轴最小值 = 到整数 (min_Arr [3])

曲线图Ex1.置图例数量 (3)
曲线图Ex2.置图例数量 (3)
曲线图Ex3.置图例数量 (3)

曲线图Ex1.置图例属性 (0, , -65536, 15, 1, , 1, 1)
曲线图Ex1.置图例属性 (1, , -65536, 15, 1, , 1, 1)
' 曲线图Ex1.置图例属性 (3, , -65536, 15, 1, , 1, 1)
' 曲线图Ex1.置图例属性 (4, , -65536, 15, 1, , 1, 1)

曲线图Ex2.置图例属性 (0, , -65536, 15, 1, , 1, 1)
曲线图Ex2.置图例属性 (1, , -65536, 15, 1, , 1, 1)
' 曲线图Ex2.置图例属性 (3, , -65536, 15, 1, , 1, 1)
' 曲线图Ex2.置图例属性 (4, , -65536, 15, 1, , 1, 1)

曲线图Ex3.置图例属性 (0, , -65536, 15, 1, , 1, 1)
曲线图Ex3.置图例属性 (1, , -65536, 15, 1, , 1, 1)
' 曲线图Ex3.置图例属性 (3, , -65536, 15, 1, , 1, 1)
' 曲线图Ex3.置图例属性 (4, , -65536, 15, 1, , 1, 1)

曲线图Ex1.置图例属性 (2, , -16777216, 80, 3, , 0, 0)
曲线图Ex2.置图例属性 (2, , -16777216, 80, 3, , 0, 0)
曲线图Ex3.置图例属性 (2, , -16777216, 80, 3, , 0, 0)

' -8960,黄色
' -419889152,红色
' -16500233,蓝色

.计次循环首 (20, i)
    limite_up  = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].字数值高
    limite_down  = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].字数值

    曲线图Ex1.置图例值 (0, i - 1, limite_up )
    曲线图Ex1.置图例值 (1, i - 1, limite_down )

    标签EX3.背景色 = 获取对应数据颜色 (public [public顺序 [1]].组位置, public [public顺序 [1]].数据位置, 设备状态 [public [public顺序 [1]].组位置].D状态 [public [public顺序 [1]].数据位置])

    limite_up  = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].字数值高
    limite_down  = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].字数值

    曲线图Ex2.置图例值 (0, i - 1, limite_up )
    曲线图Ex2.置图例值 (1, i - 1, limite_down )
    标签EX6.背景色 = 获取对应数据颜色 (public [public顺序 [2]].组位置, public [public顺序 [2]].数据位置, 设备状态 [public [public顺序 [2]].组位置].D状态 [public [public顺序 [2]].数据位置])

    limite_up  = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].字数值高
    limite_down  = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].字数值

    曲线图Ex3.置图例值 (0, i - 1, limite_up )
    曲线图Ex3.置图例值 (1, i - 1, limite_down )

    标签EX9.背景色 = 获取对应数据颜色 (public [public顺序 [3]].组位置, public [public顺序 [3]].数据位置, 设备状态 [public [public顺序 [3]].组位置].D状态 [public [public顺序 [3]].数据位置])

    曲线图Ex1.置图例值 (2, i - 1, 四舍五入 (Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].D值 , ))
    曲线图Ex2.置图例值 (2, i - 1, 四舍五入 (Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].D值 , ))
    曲线图Ex3.置图例值 (2, i - 1, 四舍五入 (Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].D值 , ))

.计次循环尾 ()

标签EX65.标题 = Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].时间 [1] + “        ” + Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].时间 [5] + “        ” + Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].时间 [10] + “        ” + Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].时间 [15] + “        ” + Q_Array [public [public顺序 [1]].组位置].数据 [public [public顺序 [1]].数据位置].时间 [20]

标签EX66.标题 = Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].时间 [1] + “        ” + Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].时间 [5] + “        ” + Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].时间 [10] + “        ” + Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].时间 [15] + “        ” + Q_Array [public [public顺序 [2]].组位置].数据 [public [public顺序 [2]].数据位置].时间 [20]

标签EX67.标题 = Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].时间 [1] + “        ” + Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].时间 [5] + “        ” + Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].时间 [10] + “        ” + Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].时间 [15] + “        ” + Q_Array [public [public顺序 [3]].组位置].数据 [public [public顺序 [3]].数据位置].时间 [20]


.子程序 public刷新
.参数 切换, 逻辑型, 可空
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 上限比例, 整数型
.局部变量 下限比例, 整数型


.如果真 (取数组成员数 (public) ≤ 0)
    返回 ()
.如果真结束

标签EX2.标题 = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].位字名
标签EX5.标题 = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].位字名
标签EX8.标题 = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].位字名

标签EX4.标题 = 数据定义 [(public [public顺序 [1]].组位置 - 1) × 72 + 56 + public [public顺序 [1]].数据位置].单位
标签EX7.标题 = 数据定义 [(public [public顺序 [2]].组位置 - 1) × 72 + 56 + public [public顺序 [2]].数据位置].单位
标签EX10.标题 = 数据定义 [(public [public顺序 [3]].组位置 - 1) × 72 + 56 + public [public顺序 [3]].数据位置].单位

标签EX3.标题 = 到文本 (设备状态 [public [public顺序 [1]].组位置].D状态 [public [public顺序 [1]].数据位置])
标签EX6.标题 = 到文本 (设备状态 [public [public顺序 [2]].组位置].D状态 [public [public顺序 [2]].数据位置])
标签EX9.标题 = 到文本 (设备状态 [public [public顺序 [3]].组位置].D状态 [public [public顺序 [3]].数据位置])

数据收录 ()
Public_折线图初始化 ()

.如果真 (切换)
    .计次循环首 (取数组成员数 (public顺序), i)
        .如果真 (public顺序  + 1 > 取数组成员数 (public))
            public顺序  = 0
        .如果真结束

        .如果 (i = 1)
            public顺序  = public顺序  + 1
        .否则
            .如果 (public顺序 [i - 1] + 1 > 取数组成员数 (public))
                public顺序  = 1
            .否则
                public顺序  = public顺序 [i - 1] + 1
            .如果结束

        .如果结束

    .计次循环尾 ()
.如果真结束




.子程序 public_线程
.局部变量 计时器, 整数型
.局部变量 计数器, 整数型

public刷新 ()
取报警信息 ()

.判断循环首 (代真)
    延时 (10)
    处理事件 ()
    进入许可区 (数组访问许可)
    计时器 = 计时器 + 1
    .如果真 (计时器 ≥ 视图1切换延时 × 100)

        ' 临时日志写入 (“public线程”)
        计时器 = 0
        取报警信息 ()
        public刷新 (真)

        ' 临时日志写入 (“退出public线程”)
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 取报警信息
.局部变量 报警内容, 文本型, , "0"
.局部变量 报警文本, 文本型
.局部变量 temp, 文本型
.局部变量 i, 整数型



.计次循环首 (现行报警数量, i)
    temp = _启动窗口.高级表格1.取数据 (i, 1) + “:  ” + _启动窗口.高级表格1.取数据 (i, 2) + “  ” + _启动窗口.高级表格1.取数据 (i, 4)
    加入成员 (报警内容, temp)
.计次循环尾 ()

.计次循环首 (取数组成员数 (报警内容), i)
    报警文本 = 报警文本 + 报警内容  + #换行符 + #换行符
.计次循环尾 ()

编辑框EX1.内容 = 报警文本


.子程序 h_t_刷新, , , 湿度刷新
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 计时器, 整数型
.局部变量 切换, 逻辑型

.如果真 (取数组成员数 (humidness) = 0 或 取数组成员数 (temperature) = 0)
    返回 ()
.如果真结束


.判断循环首 (代真)
    延迟 (10)
    处理事件 ()
    进入许可区 (数组访问许可)

    .如果真 (选择夹EX1.现行子夹 ≠ 0)
        计时器 = 0
    .如果真结束


    .如果真 (计时器 = 0)

        当前页面完成许可切换 = 假
        .如果真 (取数组成员数 (humidness) > 0)
            .计次循环首 (6, i)
                .如果真 (i = 1 且 切换)
                    humidness顺序 [1] = humidness顺序 [6] + 1
                    .如果真 (humidness顺序  > 取数组成员数 (humidness))
                        humidness顺序  = 1
                    .如果真结束

                    到循环尾 ()
                .如果真结束

                .如果真 (i ≥ 2)
                    humidness顺序  = humidness顺序 [i - 1] + 1
                    .如果真 (humidness顺序  > 取数组成员数 (humidness))
                        humidness顺序  = 1
                    .如果真结束

                .如果真结束

            .计次循环尾 ()

        .如果真结束

        .如果真 (取数组成员数 (temperature) > 0)
            .计次循环首 (6, i)
                .如果真 (i = 1 且 切换)
                    temperature顺序 [1] = temperature顺序 [6] + 1
                    .如果真 (temperature顺序  > 取数组成员数 (temperature))
                        temperature顺序  = 1
                    .如果真结束

                    切换 = 假
                    到循环尾 ()
                .如果真结束

                .如果真 (i ≥ 2)
                    temperature顺序  = temperature顺序 [i - 1] + 1
                    .如果真 (temperature顺序  > 取数组成员数 (temperature))
                        temperature顺序  = 1
                    .如果真结束

                .如果真结束

            .计次循环尾 ()
        .如果真结束

        .如果真 (取数组成员数 (humidness) > 0)
            标签EX11.标题 = 数据定义 [(humidness [humidness顺序 [1]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [1]].数据位置].位字名
            标签EX15.标题 = 数据定义 [(humidness [humidness顺序 [2]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [2]].数据位置].位字名
            标签EX19.标题 = 数据定义 [(humidness [humidness顺序 [3]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [3]].数据位置].位字名
            ' 标签EX47.标题 = 数据定义 [(humidness [humidness顺序 [4]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [4]].数据位置].位字名
            标签EX29.标题 = 数据定义 [(humidness [humidness顺序 [4]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [4]].数据位置].位字名
            标签EX35.标题 = 数据定义 [(humidness [humidness顺序 [5]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [5]].数据位置].位字名
            标签EX41.标题 = 数据定义 [(humidness [humidness顺序 [6]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [6]].数据位置].位字名
            ' 标签EX53.标题 = 数据定义 [(humidness [humidness顺序 [8]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [8]].数据位置].位字名


            标签EX12.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [1]].组位置].D状态 [humidness [humidness顺序 [1]].数据位置])
            标签EX16.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [2]].组位置].D状态 [humidness [humidness顺序 [2]].数据位置])
            标签EX20.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [3]].组位置].D状态 [humidness [humidness顺序 [3]].数据位置])
            ' 标签EX48.标题 = 到文本 (设备状态 [humidness [humidness顺序 [4]].组位置].D状态 [humidness [humidness顺序 [4]].数据位置])
            标签EX30.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [4]].组位置].D状态 [humidness [humidness顺序 [4]].数据位置])
            标签EX36.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [5]].组位置].D状态 [humidness [humidness顺序 [5]].数据位置])
            标签EX42.标题 = 到文本 (副本设状态 [humidness [humidness顺序 [6]].组位置].D状态 [humidness [humidness顺序 [6]].数据位置])
            ' 标签EX54.标题 = 到文本 (设备状态 [humidness [humidness顺序 [8]].组位置].D状态 [humidness [humidness顺序 [8]].数据位置])

        .如果真结束


        .如果真 (取数组成员数 (temperature) > 0)
            标签EX13.标题 = 数据定义 [(temperature [temperature顺序 [1]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [1]].数据位置].位字名
            标签EX17.标题 = 数据定义 [(temperature [temperature顺序 [2]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [2]].数据位置].位字名
            标签EX21.标题 = 数据定义 [(temperature [temperature顺序 [3]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [3]].数据位置].位字名
            ' 标签EX50.标题 = 数据定义 [(temperature [temperature顺序 [4]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [4]].数据位置].位字名
            标签EX32.标题 = 数据定义 [(temperature [temperature顺序 [4]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [4]].数据位置].位字名
            标签EX38.标题 = 数据定义 [(temperature [temperature顺序 [5]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [5]].数据位置].位字名
            标签EX44.标题 = 数据定义 [(temperature [temperature顺序 [6]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [6]].数据位置].位字名
            ' 标签EX56.标题 = 数据定义 [(temperature [temperature顺序 [8]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [8]].数据位置].位字名


            标签EX14.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [1]].组位置].D状态 [temperature [temperature顺序 [1]].数据位置])
            标签EX18.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [2]].组位置].D状态 [temperature [temperature顺序 [2]].数据位置])
            标签EX22.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [3]].组位置].D状态 [temperature [temperature顺序 [3]].数据位置])
            ' 标签EX51.标题 = 到文本 (设备状态 [temperature [temperature顺序 [4]].组位置].D状态 [temperature [temperature顺序 [4]].数据位置])
            标签EX33.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [4]].组位置].D状态 [temperature [temperature顺序 [4]].数据位置])
            标签EX39.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [5]].组位置].D状态 [temperature [temperature顺序 [5]].数据位置])
            标签EX45.标题 = 到文本 (副本设状态 [temperature [temperature顺序 [6]].组位置].D状态 [temperature [temperature顺序 [6]].数据位置])
            ' 标签EX57.标题 = 到文本 (设备状态 [temperature [temperature顺序 [8]].组位置].D状态 [temperature [temperature顺序 [8]].数据位置])

        .如果真结束

        临时日志写入 (“进入ht页面绘图”)
        t_h_折线图绘制 ()

        当前页面完成许可切换 = 真
    .如果真结束

    计时器 = 计时器 + 1

    .如果真 (计时器 ≥ 视图1切换延时 × 100)
        计时器 = 0
        切换 = 真
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 t_h_折线图初始化

曲线图Ex4.置图例数量 (6)
曲线图Ex5.置图例数量 (6)
曲线图Ex6.置图例数量 (6)
曲线图Ex7.置图例数量 (6)
曲线图Ex8.置图例数量 (6)
曲线图Ex9.置图例数量 (6)
' 曲线图Ex10.置图例数量 (10)
' 曲线图Ex11.置图例数量 (10)

曲线图Ex4.置图例属性 (0, , -1513472, 1, 1, , 1, 1)  ' 警告标线,上限警告,湿度
曲线图Ex4.置图例属性 (1, , -1513472, 1, 1, , 1, 1)  ' 警告标线,下限警告,湿度
' 曲线图Ex4.置图例属性 (3, , -419889152, 15, 1, , 1, 1)  ' 停线标线,上限警告,湿度
' 曲线图Ex4.置图例属性 (4, , -419889152, 15, 1, , 1, 1)  ' 停线标线,下限警告,湿度
曲线图Ex4.置图例属性 (3, , -65536, 1, 1, , 1, 1)  ' 警告标线,上限警告,温度
曲线图Ex4.置图例属性 (4, , -65536, 1, 1, , 1, 1)  ' 警告标线,下限警告,温度
' 曲线图Ex4.置图例属性 (8, , -419889152, 15, 1, , 1, 1)  ' 停线标线,上限警告,温度
' 曲线图Ex4.置图例属性 (9, , -419889152, 15, 1, , 1, 1)  ' 停线标线,下限警告,温度

曲线图Ex5.置图例属性 (0, , -1513472, 1, 1, , 1, 1)
曲线图Ex5.置图例属性 (1, , -1513472, 1, 1, , 1, 1)
' 曲线图Ex5.置图例属性 (3, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex5.置图例属性 (4, , -419889152, 15, 1, , 1, 1)
曲线图Ex5.置图例属性 (3, , -65536, 1, 1, , 1, 1)
曲线图Ex5.置图例属性 (4, , -65536, 1, 1, , 1, 1)
' 曲线图Ex5.置图例属性 (8, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex5.置图例属性 (9, , -419889152, 15, 1, , 1, 1)

曲线图Ex6.置图例属性 (0, , -1513472, 1, 1, , 1, 1)
曲线图Ex6.置图例属性 (1, , -1513472, 1, 1, , 1, 1)
' 曲线图Ex6.置图例属性 (3, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex6.置图例属性 (4, , -419889152, 15, 1, , 1, 1)
曲线图Ex6.置图例属性 (3, , -65536, 1, 1, , 1, 1)
曲线图Ex6.置图例属性 (4, , -65536, 1, 1, , 1, 1)
' 曲线图Ex6.置图例属性 (8, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex6.置图例属性 (9, , -419889152, 15, 1, , 1, 1)

曲线图Ex7.置图例属性 (0, , -1513472, 1, 1, , 1, 1)
曲线图Ex7.置图例属性 (1, , -1513472, 1, 1, , 1, 1)
' 曲线图Ex7.置图例属性 (3, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex7.置图例属性 (4, , -419889152, 15, 1, , 1, 1)
曲线图Ex7.置图例属性 (3, , -65536, 1, 1, , 1, 1)
曲线图Ex7.置图例属性 (4, , -65536, 1, 1, , 1, 1)
' 曲线图Ex7.置图例属性 (8, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex7.置图例属性 (9, , -419889152, 15, 1, , 1, 1)

曲线图Ex8.置图例属性 (0, , -1513472, 1, 1, , 1, 1)
曲线图Ex8.置图例属性 (1, , -1513472, 1, 1, , 1, 1)
' 曲线图Ex8.置图例属性 (3, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex8.置图例属性 (4, , -419889152, 15, 1, , 1, 1)
曲线图Ex8.置图例属性 (3, , -65536, 1, 1, , 1, 1)
曲线图Ex8.置图例属性 (4, , -65536, 1, 1, , 1, 1)
' 曲线图Ex8.置图例属性 (8, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex8.置图例属性 (9, , -419889152, 15, 1, , 1, 1)

曲线图Ex9.置图例属性 (0, , -1513472, 1, 1, , 1, 1)
曲线图Ex9.置图例属性 (1, , -1513472, 1, 1, , 1, 1)
' 曲线图Ex9.置图例属性 (3, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex9.置图例属性 (4, , -419889152, 15, 1, , 1, 1)
曲线图Ex9.置图例属性 (3, , -65536, 1, 1, , 1, 1)
曲线图Ex9.置图例属性 (4, , -65536, 1, 1, , 1, 1)
' 曲线图Ex9.置图例属性 (8, , -419889152, 15, 1, , 1, 1)
' 曲线图Ex9.置图例属性 (9, , -419889152, 15, 1, , 1, 1)

曲线图Ex4.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
曲线图Ex5.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
曲线图Ex6.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
曲线图Ex7.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
曲线图Ex8.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
曲线图Ex9.置图例属性 (2, , -16500233, 50, 3, , 5, 5)
' 曲线图Ex10.置图例属性 (2, , -16500233, 15, 2, , 1, 1)
' 曲线图Ex11.置图例属性 (2, , -16500233, 15, 2, , 1, 1)

曲线图Ex4.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
曲线图Ex5.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
曲线图Ex6.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
曲线图Ex7.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
曲线图Ex8.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
曲线图Ex9.置图例属性 (5, , -12321792, 50, 3, , 5, 5)
' 曲线图Ex10.置图例属性 (7, , -12321792, 15, 2, , 1, 1)
' 曲线图Ex11.置图例属性 (7, , -12321792, 15, 2, , 1, 1)

曲线图Ex10.置图例数量 (2)
曲线图Ex11.置图例数量 (2)
曲线图Ex10.置图例属性 (0, , -2354116, 50, 3, , 8, 8)
曲线图Ex10.置图例属性 (1, , -13726889, 50, 3, , 8, 8)
曲线图Ex11.置图例属性 (0, , -2354116, 50, 3, , 8, 8)
曲线图Ex11.置图例属性 (1, , -13726889, 50, 3, , 8, 8)


.子程序 t_h_折线图绘制
.局部变量 max_Arr_t, 小数型, , "8"
.局部变量 min_Arr_t, 小数型, , "8"
.局部变量 max_Arr_h, 小数型, , "8"
.局部变量 min_Arr_h, 小数型, , "8"
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 limite_h_up, 小数型, , "6"
.局部变量 limite_h_down, 小数型, , "6"
.局部变量 limite_t_up, 小数型, , "6"
.局部变量 limite_t_down, 小数型, , "6"
.局部变量 时间标签组件, 标签EX, , "6"
.局部变量 时间索引, 整数型, , "5"
.局部变量 湿度数据标签组件, 标签EX, , "6"
.局部变量 温度数据标签组件, 标签EX, , "6"
.局部变量 副本Q_Array, 折线图数组, , "0"

复制数组 (副本Q_Array, Q_Array)

时间标签组件 [1] = 标签EX83
时间标签组件 [2] = 标签EX84
时间标签组件 [3] = 标签EX85
时间标签组件 [4] = 标签EX87
时间标签组件 [5] = 标签EX88
时间标签组件 [6] = 标签EX89
时间索引 = { 1, 5, 10, 15, 20 }

湿度数据标签组件 [1] = 标签EX12
湿度数据标签组件 [2] = 标签EX16
湿度数据标签组件 [3] = 标签EX20
湿度数据标签组件 [4] = 标签EX30
湿度数据标签组件 [5] = 标签EX36
湿度数据标签组件 [6] = 标签EX42

温度数据标签组件 [1] = 标签EX14
温度数据标签组件 [2] = 标签EX18
温度数据标签组件 [3] = 标签EX22
温度数据标签组件 [4] = 标签EX33
温度数据标签组件 [5] = 标签EX39
温度数据标签组件 [6] = 标签EX45


max_Arr_h [1] = 副本数定义 [(humidness [humidness顺序 [1]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [1]].数据位置].字数值高
' 编辑框EX1.内容 = “humidness:&顺序=” + 到文本 (humidness顺序 [1]) + “;&max=” + 到文本 (max_Arr_h [1]) + #换行符 + #换行符 + 编辑框EX1.内容
max_Arr_h [2] = 副本数定义 [(humidness [humidness顺序 [2]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [2]].数据位置].字数值高
max_Arr_h [3] = 副本数定义 [(humidness [humidness顺序 [3]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [3]].数据位置].字数值高
max_Arr_h [4] = 副本数定义 [(humidness [humidness顺序 [4]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [4]].数据位置].字数值高
max_Arr_h [5] = 副本数定义 [(humidness [humidness顺序 [5]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [5]].数据位置].字数值高
max_Arr_h [6] = 副本数定义 [(humidness [humidness顺序 [6]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [6]].数据位置].字数值高

min_Arr_h [1] = 副本数定义 [(humidness [humidness顺序 [1]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [1]].数据位置].字数值
' 编辑框EX1.内容 = “humidness:&顺序=” + 到文本 (humidness顺序 [1]) + “;&min=” + 到文本 (min_Arr_h [1]) + #换行符 + #换行符 + 编辑框EX1.内容
min_Arr_h [2] = 副本数定义 [(humidness [humidness顺序 [2]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [2]].数据位置].字数值
min_Arr_h [3] = 副本数定义 [(humidness [humidness顺序 [3]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [3]].数据位置].字数值
min_Arr_h [4] = 副本数定义 [(humidness [humidness顺序 [4]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [4]].数据位置].字数值
min_Arr_h [5] = 副本数定义 [(humidness [humidness顺序 [5]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [5]].数据位置].字数值
min_Arr_h [6] = 副本数定义 [(humidness [humidness顺序 [6]].组位置 - 1) × 72 + 56 + humidness [humidness顺序 [6]].数据位置].字数值

max_Arr_t [1] = 副本数定义 [(temperature [temperature顺序 [1]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [1]].数据位置].字数值高
' 编辑框EX1.内容 = “temperature:&顺序=” + 到文本 (temperature顺序 [1]) + “;&max=” + 到文本 (max_Arr_t [1]) + #换行符 + #换行符 + 编辑框EX1.内容
max_Arr_t [2] = 副本数定义 [(temperature [temperature顺序 [2]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [2]].数据位置].字数值高
max_Arr_t [3] = 副本数定义 [(temperature [temperature顺序 [3]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [3]].数据位置].字数值高
max_Arr_t [4] = 副本数定义 [(temperature [temperature顺序 [4]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [4]].数据位置].字数值高
max_Arr_t [5] = 副本数定义 [(temperature [temperature顺序 [5]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [5]].数据位置].字数值高
max_Arr_t [6] = 副本数定义 [(temperature [temperature顺序 [6]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [6]].数据位置].字数值高

min_Arr_t [1] = 副本数定义 [(temperature [temperature顺序 [1]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [1]].数据位置].字数值
' 编辑框EX1.内容 = “temperature:&顺序=” + 到文本 (temperature顺序 [1]) + “;&min=” + 到文本 (min_Arr_t [1]) + #换行符 + #换行符 + 编辑框EX1.内容
min_Arr_t [2] = 副本数定义 [(temperature [temperature顺序 [2]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [2]].数据位置].字数值
min_Arr_t [3] = 副本数定义 [(temperature [temperature顺序 [3]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [3]].数据位置].字数值
min_Arr_t [4] = 副本数定义 [(temperature [temperature顺序 [4]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [4]].数据位置].字数值
min_Arr_t [5] = 副本数定义 [(temperature [temperature顺序 [5]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [5]].数据位置].字数值
min_Arr_t [6] = 副本数定义 [(temperature [temperature顺序 [6]].组位置 - 1) × 72 + 56 + temperature [temperature顺序 [6]].数据位置].字数值

.计次循环首 (6, i)
    limite_h_up  = max_Arr_h 
    limite_t_up  = max_Arr_t 
    limite_h_down  = min_Arr_h 
    limite_t_down  = min_Arr_t 
.计次循环尾 ()


.计次循环首 (取数组成员数 (max_Arr_t), i)

    .如果 (max_Arr_t  < 0)
        max_Arr_t  = 0
    .否则
        max_Arr_t  = 取整 (max_Arr_t  × 1.5)
    .如果结束


    .如果 (min_Arr_t  > 0)
        min_Arr_t  = 0
    .否则
        min_Arr_t  = 取整 (min_Arr_t  × 1.5)
    .如果结束

    .如果 (max_Arr_h  < 0)
        max_Arr_h  = 0
    .否则
        max_Arr_h  = 取整 (max_Arr_h  × 1.5)
    .如果结束


    .如果 (min_Arr_h  > 0)
        min_Arr_h  = 0
    .否则
        min_Arr_h  = 取整 (min_Arr_h  × 1.5)
    .如果结束

.计次循环尾 ()

曲线图Ex4.纵轴最大值 = getMax_val (max_Arr_t [1], max_Arr_h [1], 副本设状态 [humidness [humidness顺序 [1]].组位置].D状态 [humidness [humidness顺序 [1]].数据位置], 副本设状态 [temperature [temperature顺序 [1]].组位置].D状态 [temperature [temperature顺序 [1]].数据位置], , 100)
曲线图Ex5.纵轴最大值 = getMax_val (max_Arr_t [2], max_Arr_h [2], 副本设状态 [humidness [humidness顺序 [2]].组位置].D状态 [humidness [humidness顺序 [2]].数据位置], 副本设状态 [temperature [temperature顺序 [2]].组位置].D状态 [temperature [temperature顺序 [2]].数据位置], , 100)
曲线图Ex6.纵轴最大值 = getMax_val (max_Arr_t [3], max_Arr_h [3], 副本设状态 [humidness [humidness顺序 [3]].组位置].D状态 [humidness [humidness顺序 [3]].数据位置], 副本设状态 [temperature [temperature顺序 [3]].组位置].D状态 [temperature [temperature顺序 [3]].数据位置], , 100)
曲线图Ex7.纵轴最大值 = getMax_val (max_Arr_t [4], max_Arr_h [4], 副本设状态 [humidness [humidness顺序 [4]].组位置].D状态 [humidness [humidness顺序 [4]].数据位置], 副本设状态 [temperature [temperature顺序 [4]].组位置].D状态 [temperature [temperature顺序 [4]].数据位置], , 100)
曲线图Ex8.纵轴最大值 = getMax_val (max_Arr_t [5], max_Arr_h [5], 副本设状态 [humidness [humidness顺序 [5]].组位置].D状态 [humidness [humidness顺序 [5]].数据位置], 副本设状态 [temperature [temperature顺序 [5]].组位置].D状态 [temperature [temperature顺序 [5]].数据位置], , 100)
曲线图Ex9.纵轴最大值 = getMax_val (max_Arr_t [6], max_Arr_h [6], 副本设状态 [humidness [humidness顺序 [6]].组位置].D状态 [humidness [humidness顺序 [6]].数据位置], 副本设状态 [temperature [temperature顺序 [6]].组位置].D状态 [temperature [temperature顺序 [6]].数据位置], , 100)

曲线图Ex4.纵轴最小值 = getMin_val (min_Arr_t [1], min_Arr_h [1], 副本设状态 [humidness [humidness顺序 [1]].组位置].D状态 [humidness [humidness顺序 [1]].数据位置], 副本设状态 [temperature [temperature顺序 [1]].组位置].D状态 [temperature [temperature顺序 [1]].数据位置], , 0)
曲线图Ex5.纵轴最小值 = getMin_val (min_Arr_t [2], min_Arr_h [2], 副本设状态 [humidness [humidness顺序 [2]].组位置].D状态 [humidness [humidness顺序 [2]].数据位置], 副本设状态 [temperature [temperature顺序 [2]].组位置].D状态 [temperature [temperature顺序 [2]].数据位置], , 0)
曲线图Ex6.纵轴最小值 = getMin_val (min_Arr_t [3], min_Arr_h [3], 副本设状态 [humidness [humidness顺序 [3]].组位置].D状态 [humidness [humidness顺序 [3]].数据位置], 副本设状态 [temperature [temperature顺序 [3]].组位置].D状态 [temperature [temperature顺序 [3]].数据位置], , 0)
曲线图Ex7.纵轴最小值 = getMin_val (min_Arr_t [4], min_Arr_h [4], 副本设状态 [humidness [humidness顺序 [4]].组位置].D状态 [humidness [humidness顺序 [4]].数据位置], 副本设状态 [temperature [temperature顺序 [4]].组位置].D状态 [temperature [temperature顺序 [4]].数据位置], , 0)
曲线图Ex8.纵轴最小值 = getMin_val (min_Arr_t [5], min_Arr_h [5], 副本设状态 [humidness [humidness顺序 [5]].组位置].D状态 [humidness [humidness顺序 [5]].数据位置], 副本设状态 [temperature [temperature顺序 [5]].组位置].D状态 [temperature [temperature顺序 [5]].数据位置], , 0)
曲线图Ex9.纵轴最小值 = getMin_val (min_Arr_t [6], min_Arr_h [6], 副本设状态 [humidness [humidness顺序 [6]].组位置].D状态 [humidness [humidness顺序 [6]].数据位置], 副本设状态 [temperature [temperature顺序 [6]].组位置].D状态 [temperature [temperature顺序 [6]].数据位置], , 0)

.计次循环首 (20, i)

    曲线图Ex4.置图例值 (0, i - 1, limite_h_up [1])
    曲线图Ex4.置图例值 (1, i - 1, limite_h_down [1])
    曲线图Ex4.置图例值 (3, i - 1, limite_t_up [1])
    曲线图Ex4.置图例值 (4, i - 1, limite_t_down [1])

    曲线图Ex5.置图例值 (0, i - 1, limite_h_up [2])
    曲线图Ex5.置图例值 (1, i - 1, limite_h_down [2])
    曲线图Ex5.置图例值 (3, i - 1, limite_t_up [2])
    曲线图Ex5.置图例值 (4, i - 1, limite_t_down [2])

    曲线图Ex6.置图例值 (0, i - 1, limite_h_up [3])
    曲线图Ex6.置图例值 (1, i - 1, limite_h_down [3])
    曲线图Ex6.置图例值 (3, i - 1, limite_t_up [3])
    曲线图Ex6.置图例值 (4, i - 1, limite_t_down [3])

    曲线图Ex7.置图例值 (0, i - 1, limite_h_up [4])
    曲线图Ex7.置图例值 (1, i - 1, limite_h_down [4])
    曲线图Ex7.置图例值 (3, i - 1, limite_t_up [4])
    曲线图Ex7.置图例值 (4, i - 1, limite_t_down [4])

    曲线图Ex8.置图例值 (0, i - 1, limite_h_up [5])
    曲线图Ex8.置图例值 (1, i - 1, limite_h_down [5])
    曲线图Ex8.置图例值 (3, i - 1, limite_t_up [5])
    曲线图Ex8.置图例值 (4, i - 1, limite_t_down [5])


    曲线图Ex9.置图例值 (0, i - 1, limite_h_up [6])
    曲线图Ex9.置图例值 (1, i - 1, limite_h_down [6])
    曲线图Ex9.置图例值 (3, i - 1, limite_t_up [6])
    曲线图Ex9.置图例值 (4, i - 1, limite_t_down [6])

    曲线图Ex4.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [1]].组位置].数据 [humidness [humidness顺序 [1]].数据位置].D值 )
    曲线图Ex5.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [2]].组位置].数据 [humidness [humidness顺序 [2]].数据位置].D值 )
    曲线图Ex6.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [3]].组位置].数据 [humidness [humidness顺序 [3]].数据位置].D值 )
    曲线图Ex7.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [4]].组位置].数据 [humidness [humidness顺序 [4]].数据位置].D值 )
    曲线图Ex8.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [5]].组位置].数据 [humidness [humidness顺序 [5]].数据位置].D值 )
    曲线图Ex9.置图例值 (2, i - 1, 副本Q_Array [humidness [humidness顺序 [6]].组位置].数据 [humidness [humidness顺序 [6]].数据位置].D值 )

    曲线图Ex4.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [1]].组位置].数据 [temperature [temperature顺序 [1]].数据位置].D值 )
    曲线图Ex5.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [2]].组位置].数据 [temperature [temperature顺序 [2]].数据位置].D值 )
    曲线图Ex6.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [3]].组位置].数据 [temperature [temperature顺序 [3]].数据位置].D值 )
    曲线图Ex7.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [4]].组位置].数据 [temperature [temperature顺序 [4]].数据位置].D值 )
    曲线图Ex8.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [5]].组位置].数据 [temperature [temperature顺序 [5]].数据位置].D值 )
    曲线图Ex9.置图例值 (5, i - 1, 副本Q_Array [temperature [temperature顺序 [6]].组位置].数据 [temperature [temperature顺序 [6]].数据位置].D值 )

.计次循环尾 ()

.计次循环首 (取数组成员数 (湿度数据标签组件), n)

    湿度数据标签组件 [n].背景色 = 获取对应数据颜色 (humidness [humidness顺序 [n]].组位置, humidness [humidness顺序 [n]].数据位置, 副本设状态 [humidness [humidness顺序 [n]].组位置].D状态 [humidness [humidness顺序 [n]].数据位置])
    温度数据标签组件 [n].背景色 = 获取对应数据颜色 (temperature [temperature顺序 [n]].组位置, temperature [temperature顺序 [n]].数据位置, 副本设状态 [temperature [temperature顺序 [n]].组位置].D状态 [temperature [temperature顺序 [n]].数据位置])

.计次循环尾 ()

.计次循环首 (取数组成员数 (时间标签组件), i)
    时间标签组件 .标题 = “”
    .计次循环首 (取数组成员数 (时间索引), n)
        时间标签组件 .标题 = 时间标签组件 .标题 + 副本Q_Array [humidness [humidness顺序 ].组位置].数据 [humidness [humidness顺序 ].数据位置].时间 [时间索引 [n]] + “    ”
    .计次循环尾 ()
.计次循环尾 ()


.子程序 数据一览元件装载

列1标签_标题 [1] = 标签EX57
列1标签_标题 [2] = 标签EX82
列1标签_标题 [3] = 标签EX91
列1标签_标题 [4] = 标签EX94
列1标签_标题 [5] = 标签EX97
列1标签_标题 [6] = 标签EX100
列1标签_标题 [7] = 标签EX103
列1标签_标题 [8] = 标签EX106
列1标签_标题 [9] = 标签EX109
列1标签_标题 [10] = 标签EX112
列1标签_标题 [11] = 标签EX115
列1标签_标题 [12] = 标签EX118
列1标签_标题 [13] = 标签EX121
列1标签_标题 [14] = 标签EX124
列1标签_标题 [15] = 标签EX127
列1标签_标题 [16] = 标签EX130

列1标签_内容 [1] = 标签EX58
列1标签_内容 [2] = 标签EX86
列1标签_内容 [3] = 标签EX92
列1标签_内容 [4] = 标签EX95
列1标签_内容 [5] = 标签EX98
列1标签_内容 [6] = 标签EX101
列1标签_内容 [7] = 标签EX104
列1标签_内容 [8] = 标签EX107
列1标签_内容 [9] = 标签EX110
列1标签_内容 [10] = 标签EX113
列1标签_内容 [11] = 标签EX116
列1标签_内容 [12] = 标签EX119
列1标签_内容 [13] = 标签EX122
列1标签_内容 [14] = 标签EX125
列1标签_内容 [15] = 标签EX128
列1标签_内容 [16] = 标签EX131

列1标签_单位 [1] = 标签EX78
列1标签_单位 [2] = 标签EX90
列1标签_单位 [3] = 标签EX93
列1标签_单位 [4] = 标签EX96
列1标签_单位 [5] = 标签EX99
列1标签_单位 [6] = 标签EX102
列1标签_单位 [7] = 标签EX105
列1标签_单位 [8] = 标签EX108
列1标签_单位 [9] = 标签EX111
列1标签_单位 [10] = 标签EX114
列1标签_单位 [11] = 标签EX117
列1标签_单位 [12] = 标签EX120
列1标签_单位 [13] = 标签EX123
列1标签_单位 [14] = 标签EX126
列1标签_单位 [15] = 标签EX129
列1标签_单位 [16] = 标签EX132


列2标签_标题 [1] = 标签EX133
列2标签_标题 [2] = 标签EX136
列2标签_标题 [3] = 标签EX139
列2标签_标题 [4] = 标签EX142
列2标签_标题 [5] = 标签EX145
列2标签_标题 [6] = 标签EX148
列2标签_标题 [7] = 标签EX151
列2标签_标题 [8] = 标签EX154
列2标签_标题 [9] = 标签EX157
列2标签_标题 [10] = 标签EX160
列2标签_标题 [11] = 标签EX163
列2标签_标题 [12] = 标签EX166
列2标签_标题 [13] = 标签EX169
列2标签_标题 [14] = 标签EX172
列2标签_标题 [15] = 标签EX175
列2标签_标题 [16] = 标签EX178

列2标签_内容 [1] = 标签EX134
列2标签_内容 [2] = 标签EX137
列2标签_内容 [3] = 标签EX140
列2标签_内容 [4] = 标签EX143
列2标签_内容 [5] = 标签EX146
列2标签_内容 [6] = 标签EX149
列2标签_内容 [7] = 标签EX152
列2标签_内容 [8] = 标签EX155
列2标签_内容 [9] = 标签EX158
列2标签_内容 [10] = 标签EX161
列2标签_内容 [11] = 标签EX164
列2标签_内容 [12] = 标签EX167
列2标签_内容 [13] = 标签EX170
列2标签_内容 [14] = 标签EX173
列2标签_内容 [15] = 标签EX176
列2标签_内容 [16] = 标签EX179

列2标签_单位 [1] = 标签EX135
列2标签_单位 [2] = 标签EX138
列2标签_单位 [3] = 标签EX141
列2标签_单位 [4] = 标签EX144
列2标签_单位 [5] = 标签EX147
列2标签_单位 [6] = 标签EX150
列2标签_单位 [7] = 标签EX153
列2标签_单位 [8] = 标签EX156
列2标签_单位 [9] = 标签EX159
列2标签_单位 [10] = 标签EX162
列2标签_单位 [11] = 标签EX165
列2标签_单位 [12] = 标签EX168
列2标签_单位 [13] = 标签EX171
列2标签_单位 [14] = 标签EX174
列2标签_单位 [15] = 标签EX177
列2标签_单位 [16] = 标签EX180

列3标签_标题 [1] = 标签EX181
列3标签_标题 [2] = 标签EX184
列3标签_标题 [3] = 标签EX187
列3标签_标题 [4] = 标签EX190
列3标签_标题 [5] = 标签EX193
列3标签_标题 [6] = 标签EX196
列3标签_标题 [7] = 标签EX199
列3标签_标题 [8] = 标签EX202
列3标签_标题 [9] = 标签EX205
列3标签_标题 [10] = 标签EX208
列3标签_标题 [11] = 标签EX211
列3标签_标题 [12] = 标签EX214
列3标签_标题 [13] = 标签EX217
列3标签_标题 [14] = 标签EX220
列3标签_标题 [15] = 标签EX223
列3标签_标题 [16] = 标签EX226

列3标签_内容 [1] = 标签EX182
列3标签_内容 [2] = 标签EX185
列3标签_内容 [3] = 标签EX188
列3标签_内容 [4] = 标签EX191
列3标签_内容 [5] = 标签EX194
列3标签_内容 [6] = 标签EX197
列3标签_内容 [7] = 标签EX200
列3标签_内容 [8] = 标签EX203
列3标签_内容 [9] = 标签EX206
列3标签_内容 [10] = 标签EX209
列3标签_内容 [11] = 标签EX212
列3标签_内容 [12] = 标签EX215
列3标签_内容 [13] = 标签EX218
列3标签_内容 [14] = 标签EX221
列3标签_内容 [15] = 标签EX224
列3标签_内容 [16] = 标签EX227

列3标签_单位 [1] = 标签EX183
列3标签_单位 [2] = 标签EX186
列3标签_单位 [3] = 标签EX189
列3标签_单位 [4] = 标签EX192
列3标签_单位 [5] = 标签EX195
列3标签_单位 [6] = 标签EX198
列3标签_单位 [7] = 标签EX201
列3标签_单位 [8] = 标签EX204
列3标签_单位 [9] = 标签EX207
列3标签_单位 [10] = 标签EX210
列3标签_单位 [11] = 标签EX213
列3标签_单位 [12] = 标签EX216
列3标签_单位 [13] = 标签EX219
列3标签_单位 [14] = 标签EX222
列3标签_单位 [15] = 标签EX225
列3标签_单位 [16] = 标签EX228

.子程序 获取对应数据颜色, 整数型
.参数 站组索引, 整数型
.参数 数据索引, 整数型
.参数 实际值, 小数型

' -1,-8960,-419889152

.如果真 (数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].位字名 = 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].位字址 或 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].位字名 = “备用”)
    返回 (-1)  ' 表示该地址未启用
.如果真结束


.如果 (实际值 > 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].字数值 且 实际值 < 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].字数值高)
    返回 (-1)
.否则
    .如果 (实际值 > 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].字数值 × 0.9 且 实际值 < 数据定义 [(站组索引 - 1) × 72 + 56 + 数据索引].字数值高 × 1.1)
        返回 (-8960)
    .否则
        返回 (-419889152)
    .如果结束

.如果结束


.子程序 数据一览线程
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 count, 整数型
.局部变量 index, 整数型, , "0"
.局部变量 tempIndx, 整数型
.局部变量 time, 日期时间型
.局部变量 timer, 长整数型
.局部变量 last_timer, 长整数型

index = { 1, 2, 3 }
last_timer = 0

.判断循环首 (代真)
    延时 (30)
    处理事件 ()
    进入许可区 (数组访问许可)
    time = 取现行时间 ()
    timer = (取年份 (time) - 2024) × 31536000 + 取月份 (time) × 30 × 24 × 3600 + 取日 (time) × 24 × 3600 + 取小时 (time) × 3600 + 取分钟 (time) × 60 + 取秒 (time)

    .如果真 (timer - last_timer ≥ 10)

        ' 临时日志写入 (“数据一览页”)
        当前页面完成许可切换 = 假
        last_timer = timer
        .计次循环首 (16, n)

            列1标签_标题 [n].标题 = 副本数定义 [(index [1] - 1) × 72 + 56 + n].位字名
            列1标签_内容 [n].标题 = 到文本 (副本设状态 [index [1]].D状态 [n])
            列1标签_单位 [n].标题 = 副本数定义 [(index [1] - 1) × 72 + 56 + n].单位
            列1标签_内容 [n].背景色 = 获取对应数据颜色 (index [1], n, 副本设状态 [index [1]].D状态 [n])

            列2标签_标题 [n].标题 = 副本数定义 [(index [2] - 1) × 72 + 56 + n].位字名
            列2标签_内容 [n].标题 = 到文本 (副本设状态 [index [2]].D状态 [n])
            列2标签_单位 [n].标题 = 副本数定义 [(index [2] - 1) × 72 + 56 + n].单位
            列2标签_内容 [n].背景色 = 获取对应数据颜色 (index [2], n, 副本设状态 [index [2]].D状态 [n])

            列3标签_标题 [n].标题 = 副本数定义 [(index [3] - 1) × 72 + 56 + n].位字名
            列3标签_内容 [n].标题 = 到文本 (副本设状态 [index [3]].D状态 [n])
            列3标签_单位 [n].标题 = 副本数定义 [(index [3] - 1) × 72 + 56 + n].单位
            列3标签_内容 [n].背景色 = 获取对应数据颜色 (index [3], n, 副本设状态 [index [3]].D状态 [n])

        .计次循环尾 ()
        count = count + 1

        .如果真 (取数组成员数 (副本设状态) > 3)
            .如果真 (count = 3)
                count = 0
                .计次循环首 (3, n)

                    .如果 (n = 1)
                        index [n] = index [n] + 1
                        .如果真 (index [n] > 取数组成员数 (副本设状态))
                            index [n] = 1
                        .如果真结束

                    .否则
                        index [n] = index [n - 1] + 1
                        .如果真 (index [n] > 取数组成员数 (副本设状态))
                            index [n] = 1
                        .如果真结束

                    .如果结束


                .计次循环尾 ()
            .如果真结束

        .如果真结束


        ' 临时日志写入 (“退出数据一览页面”)
        当前页面完成许可切换 = 真
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 _选择夹EX1_子夹已变, 整数型
.参数 当前子夹, 整数型
.参数 因果子夹, 整数型
.参数 附加参数, 整数型
.参数 附加参数2, 整数型


' 信息框 (“触发子夹已变事件,当前子夹=” + 到文本 (当前子夹), 0, , )
.判断开始 (当前子夹 = 0)
    .如果真 (线程_取状态 (h_t线程句柄) ≠ 1)
        h_t线程句柄 = 线程_启动 (&h_t_刷新)
    .如果真结束

    ' 信息框 (“启动ht线程”, 0, , )
.判断 (当前子夹 = 1)
    .如果真 (线程_取状态 (数据一览线程句柄) ≠ 1)
        数据一览线程句柄 = 线程_启动 (&数据一览线程)
    .如果真结束

    ' 信息框 (“启动一览线程”, 0, , )
.判断 (当前子夹 = 2)
    .如果真 (线程_取状态 (成本线程句柄) ≠ 1)
        成本线程句柄 = 线程_启动 (&成本数据线程)
    .如果真结束

    ' 信息框 (“启动成本线程”, 0, , )
.判断 (当前子夹 = 3)
    .如果真 (线程_取状态 (动力句柄) ≠ 1)
        动力句柄 = 线程_启动 (&公共动力线程)
    .如果真结束

    ' 信息框 (“启动动力线程”, 0, , )
.判断 (当前子夹 = 4)
    .如果真 (线程_取状态 (温度句柄) ≠ 1)
        温度句柄 = 线程_启动 (&温度实时)
    .如果真结束

    ' 信息框 (“启动温度线程”, 0, , )
.判断 (当前子夹 = 5)
    .如果真 (线程_取状态 (湿度句柄) ≠ 1)
        湿度句柄 = 线程_启动 (&湿度实时)
    .如果真结束

    ' 信息框 (“启动湿度线程”, 0, , )
.默认

.判断结束


.如果 (当前子夹 = 0)
    标签EX49.可视 = 真
    标签EX50.可视 = 真
    标签EX51.可视 = 真
    标签EX52.可视 = 真
    标签EX53.可视 = 真
    标签EX54.可视 = 真
    标签EX55.可视 = 真
    标签EX56.可视 = 真

.否则
    标签EX49.可视 = 假
    标签EX50.可视 = 假
    标签EX51.可视 = 假
    标签EX52.可视 = 假
    标签EX53.可视 = 假
    标签EX54.可视 = 假
    标签EX55.可视 = 假
    标签EX56.可视 = 假
.如果结束


.子程序 _数据看板3_将被销毁

' 关闭本窗口 (“None”)

.子程序 关闭本窗口
.参数 是否销毁, 文本型, 可空
.局部变量 i, 整数型

Waitting = 0
代真 = 假
按钮EX1.标题 = “等待退出...”

线程_销毁 (数据一览线程句柄)
线程_关闭句柄 (数据一览线程句柄)

线程_销毁 (public线程句柄)
线程_关闭句柄 (public线程句柄)

线程_销毁 (h_t线程句柄)
线程_关闭句柄 (h_t线程句柄)

线程_销毁 (成本线程句柄)
线程_关闭句柄 (成本线程句柄)

线程_销毁 (全视图切换线程句柄)
线程_关闭句柄 (全视图切换线程句柄)

线程_销毁 (动力句柄)
线程_关闭句柄 (动力句柄)

线程_销毁 (温度句柄)
线程_关闭句柄 (温度句柄)

线程_销毁 (湿度句柄)
线程_关闭句柄 (湿度句柄)

信息框 (“已释放资源”, 0, , )

.如果真 (是否销毁 ≠ “None”)
    销毁 ()
.如果真结束


.子程序 成本数据线程
.局部变量 小时成本数据, 每小时成本数据, , "0"
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 z, 整数型
.局部变量 timer, 整数型
.局部变量 站址, 文本型, , "2"
.局部变量 现行时间进度, 长整数型
.局部变量 过往时间进度, 长整数型, , "48"
.局部变量 当前时间, 日期时间型
.局部变量 时间差, 整数型
.局部变量 记录数量, 整数型
.局部变量 今日用量, 小数型, , "0"
.局部变量 今日成本, 小数型, , "0"
.局部变量 今日时间线, 长整数型
.局部变量 扫描顺序, 整数型, , "2"
.局部变量 横轴模板, 文本型
.局部变量 横轴时间线, 整数型
.局部变量 当前数据版本有误, 逻辑型
.局部变量 副本成本中心, 成本核算, , "0"


.判断循环首 (代真)
    延时 (30)
    处理事件 ()
    进入许可区 (数组访问许可)
    timer = timer + 1
    .如果 (timer ≥ 1000)
        timer = 0
        ' 临时日志写入 (“成本数据计算”)
    .否则
        到循环尾 ()
    .如果结束

    当前页面完成许可切换 = 假
    复制数组 (副本成本中心, 成本中心)
    重定义数组 (今日用量, 假, 成本参数地址组.getCount ())
    重定义数组 (今日成本, 假, 成本参数地址组.getCount ())
    重定义数组 (小时成本数据, 假, 成本参数地址组.getCount ())

    .如果真 (成本参数地址组.getCount () < 1)
        ' 信息框 (“当前无数据——1”, 0, , )
        当前页面完成许可切换 = 真
        到循环尾 ()
    .如果真结束


    .如果真 (当前数据版本有误)
        当前页面完成许可切换 = 真
        到循环尾 ()
    .如果真结束


    .计次循环首 (取数组成员数 (小时成本数据), i)
        小时成本数据 .地址 = 成本参数地址组.getValue (i)
        ' 信息框 (“地址=” + 小时成本数据 .地址, 0, , )
        站址 = 分割文本 (小时成本数据 .地址, “@”, )
        站址 [2] = 子文本替换 (站址 [2], “D”, “”, , , 真)
        ' 信息框 (“站址1=” + 站址 [1] + “    站址2=” + 站址 [2] + #换行符 + “索引=” + 到文本 ((求站组地址所在索引 (到数值 (站址 [1])) - 1) × 72 + 56 + 到数值 (站址 [2])), 0, , )
        .如果真 (求站组地址所在索引 (到数值 (站址 [1])) < 1 且 当前数据版本有误 = 假)
            当前数据版本有误 = 真
            信息框 (“当前数据版本有误(你可能修改过站组地址号),退出程序”, 0, , )
            跳出循环 ()
        .如果真结束

        小时成本数据 .名称 = 数据定义 [(求站组地址所在索引 (到数值 (站址 [1])) - 1) × 72 + 56 + 到数值 (站址 [2])].位字名
        小时成本数据 .站号 = 求站组地址所在索引 (到数值 (站址 [1]))
        小时成本数据 .数据地址 = 到数值 (站址 [2])
    .计次循环尾 ()

    .如果真 (当前数据版本有误)
        当前页面完成许可切换 = 真
        到循环尾 ()
    .如果真结束

    当前时间 = 取现行时间 ()
    时间差 = 3600
    现行时间进度 = 取月份 (当前时间) × 31 × 24 × 3600 + 取日 (当前时间) × 24 × 3600 + 取小时 (当前时间) × 3600 + 3600
    今日时间线 = 取月份 (当前时间) × 31 × 24 × 3600 + 取日 (当前时间) × 24 × 3600

    过往时间进度 [48] = 现行时间进度
    .计次循环首 (47, i)
        过往时间进度 [48 - i] = 过往时间进度 [48 - i + 1] - 时间差  ' 数组从前到后依次是从远到近
    .计次循环尾 ()


    记录数量 = 取数组成员数 (副本成本中心)

    .计次循环首 (取数组成员数 (小时成本数据), z)

        .计次循环首 (48, i)

            .如果真 (i = 1)
                到循环尾 ()
            .如果真结束

            .计次循环首 (记录数量, n)

                .如果真 (副本成本中心 [记录数量 - n + 1].所在站址 = 小时成本数据 [z].地址)
                    .如果 (求时间线进度 (副本成本中心 [记录数量 - n + 1].时间) < 过往时间进度  且 求时间线进度 (副本成本中心 [记录数量 - n + 1].时间) > 过往时间进度 [i - 1])
                        小时成本数据 [z].用量  = 小时成本数据 [z].用量  + 副本成本中心 [记录数量 - n + 1].用量
                        小时成本数据 [z].总价  = 小时成本数据 [z].总价  + 副本成本中心 [记录数量 - n + 1].总价
                    .否则

                    .如果结束


                    .如果 (i = 2)
                        .如果 (求时间线进度 (副本成本中心 [记录数量 - n + 1].时间) ≥ 今日时间线)  ' 只在i=2时执行一次,否则计算结果会重复叠加;从后到前扫描,一旦发现时间线低于今天的时间线,则已无继续扫描下去的意义,跳出循环
                            今日用量 [z] = 今日用量 [z] + 副本成本中心 [记录数量 - n + 1].用量
                            今日成本 [z] = 今日成本 [z] + 副本成本中心 [记录数量 - n + 1].总价

                        .否则
                            跳出循环 ()
                        .如果结束

                    .否则
                        .如果真 (求时间线进度 (副本成本中心 [记录数量 - n + 1].时间) < 过往时间进度 [i - 1])  ' 表示当前扫描的数据,已经超过了我当前想扫描的范围,跳出循环
                            跳出循环 ()
                        .如果真结束

                    .如果结束

                .如果真结束

            .计次循环尾 ()

        .计次循环尾 ()

    .计次循环尾 ()

    .如果真 (取数组成员数 (小时成本数据) < 1)
        ' 信息框 (“当前无数据——2”, 0, , )
        到循环尾 ()
    .如果真结束

    .计次循环首 (2, i)

        .如果 (i = 1)
            扫描顺序  = 扫描顺序  + 1
        .否则
            扫描顺序  = 扫描顺序 [i - 1] + 1
        .如果结束

        .如果真 (扫描顺序  > 取数组成员数 (小时成本数据))
            扫描顺序  = 1
        .如果真结束

    .计次循环尾 ()

    标签EX237.标题 = 到文本 (今日用量 [扫描顺序 [1]])
    标签EX246.标题 = 到文本 (今日成本 [扫描顺序 [1]])
    标签EX232.标题 = 小时成本数据 [扫描顺序 [1]].名称
    标签EX238.标题 = 数据定义 [(小时成本数据 [扫描顺序 [1]].站号 - 1) × 72 + 56 + 小时成本数据 [扫描顺序 [1]].数据地址].单位
    标签EX234.标题 = 数据定义 [(小时成本数据 [扫描顺序 [1]].站号 - 1) × 72 + 56 + 小时成本数据 [扫描顺序 [1]].数据地址].单位
    标签EX233.标题 = 到文本 (副本设状态 [小时成本数据 [扫描顺序 [1]].站号].D状态 [小时成本数据 [扫描顺序 [1]].数据地址])

    标签EX252.标题 = 到文本 (今日用量 [扫描顺序 [2]])
    标签EX258.标题 = 到文本 (今日成本 [扫描顺序 [2]])
    标签EX263.标题 = 小时成本数据 [扫描顺序 [2]].名称
    标签EX253.标题 = 数据定义 [(小时成本数据 [扫描顺序 [2]].站号 - 1) × 72 + 56 + 小时成本数据 [扫描顺序 [2]].数据地址].单位
    标签EX244.标题 = 数据定义 [(小时成本数据 [扫描顺序 [2]].站号 - 1) × 72 + 56 + 小时成本数据 [扫描顺序 [2]].数据地址].单位
    标签EX243.标题 = 到文本 (副本设状态 [小时成本数据 [扫描顺序 [2]].站号].D状态 [小时成本数据 [扫描顺序 [2]].数据地址])


    横轴时间线 = 取小时 (当前时间)
    横轴模板 = 到文本 (取小时 (当前时间))

    .计次循环首 (23, i)
        横轴时间线 = 横轴时间线 - 1
        .如果真 (横轴时间线 < 0)
            横轴时间线 = 23
        .如果真结束

        横轴模板 = 到文本 (横轴时间线) + “&&” + 横轴模板
    .计次循环尾 ()

    曲线图Ex10.横轴标题模版 = 横轴模板
    曲线图Ex11.横轴标题模版 = 横轴模板
    曲线图Ex10.置图例数量 (2)
    曲线图Ex11.置图例数量 (2)
    曲线图Ex10.置图例属性 (0, , -2354116, 50, 3, , 8, 8)
    曲线图Ex10.置图例属性 (1, , -13726889, 50, 3, , 8, 8)
    曲线图Ex11.置图例属性 (0, , -2354116, 50, 3, , 8, 8)
    曲线图Ex11.置图例属性 (1, , -13726889, 50, 3, , 8, 8)


    曲线图Ex10.纵轴最大值 = getMax_Arrs (小时成本数据 [扫描顺序 [1]].用量, 小时成本数据 [扫描顺序 [1]].总价)
    曲线图Ex11.纵轴最大值 = getMax_Arrs (小时成本数据 [扫描顺序 [2]].用量, 小时成本数据 [扫描顺序 [2]].总价)
    曲线图Ex10.纵轴最小值 = 0
    曲线图Ex11.纵轴最小值 = 0

    .计次循环首 (24, i)

        曲线图Ex10.置图例值 (0, i - 1, 小时成本数据 [扫描顺序 [1]].用量 [24 + i])
        曲线图Ex10.置图例值 (1, i - 1, 小时成本数据 [扫描顺序 [1]].总价 [24 + i])

        曲线图Ex11.置图例值 (0, i - 1, 小时成本数据 [扫描顺序 [2]].用量 [24 + i])
        曲线图Ex11.置图例值 (1, i - 1, 小时成本数据 [扫描顺序 [2]].总价 [24 + i])

    .计次循环尾 ()


    ' 临时日志写入 (“退出成本数据计算”)
    当前页面完成许可切换 = 真

    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 求时间线进度, 长整数型
.参数 被求时间文本, 文本型
.局部变量 时间分割, 文本型, , "6"
.局部变量 时间文本, 文本型
.局部变量 时间线, 长整数型

时间文本 = 被求时间文本

时间文本 = 子文本替换 (时间文本, “年”, “;”, 1, 1, 真)
时间文本 = 子文本替换 (时间文本, “月”, “;”, 1, 1, 真)
时间文本 = 子文本替换 (时间文本, “日  ”, “;”, 1, 1, 真)
时间文本 = 子文本替换 (时间文本, “:”, “;”, 1, , 真)

时间分割 = 分割文本 (时间文本, “;”, )
时间线 = 到数值 (时间分割 [2]) × 31 × 24 × 3600
时间线 = 时间线 + 到数值 (时间分割 [3]) × 24 × 3600
时间线 = 时间线 + 到数值 (时间分割 [4]) × 3600
时间线 = 时间线 + 到数值 (时间分割 [5]) × 60

返回 (时间线)


.子程序 公共动力线程
.局部变量 计时器, 整数型
.局部变量 数据数量, 整数型
.局部变量 公共动力轮询列表, 整数型, , "6"
.局部变量 副本public, 数据代号, , "0"
.局部变量 数据名称, 文本型, , "6"
.局部变量 数据数值, 小数型, , "6"
.局部变量 数据单位, 文本型, , "6"
.局部变量 数据上限, 小数型, , "6"
.局部变量 数据下限, 小数型, , "6"
.局部变量 异常状态, 文本型, , "6"
.局部变量 i, 整数型


复制数组 (副本public, public)
数据数量 = 取数组成员数 (副本public)
.如果真 (数据数量 > 7)
    数据数量 = 7
.如果真结束

重定义数组 (公共动力轮询列表, 假, 数据数量)
重定义数组 (数据名称, 假, 数据数量)
重定义数组 (数据数值, 假, 数据数量)
重定义数组 (数据单位, 假, 数据数量)
重定义数组 (数据上限, 假, 数据数量)
重定义数组 (数据下限, 假, 数据数量)
重定义数组 (异常状态, 假, 数据数量)

.判断循环首 (代真)

    延时 (10)
    处理事件 ()
    进入许可区 (数组访问许可)
    .如果真 (计时器 = 0)

        ' 临时日志写入 (“公共动力显示”)
        当前页面完成许可切换 = 假
        .计次循环首 (取数组成员数 (公共动力轮询列表), i)

            .如果真 (i = 1)
                .如果 (公共动力轮询列表 [数据数量] ≥ 取数组成员数 (副本public) 或 公共动力轮询列表 [数据数量] = -1)
                    公共动力轮询列表  = 1
                .否则
                    公共动力轮询列表  = 公共动力轮询列表 [取数组成员数 (公共动力轮询列表)] + 1
                .如果结束

            .如果真结束

            .如果真 (i ≠ 1)
                .如果 (公共动力轮询列表 [i - 1] ≥ 取数组成员数 (副本public))
                    公共动力轮询列表  = -1
                    数据数量 = i - 1
                    跳出循环 ()
                .否则
                    公共动力轮询列表  = 公共动力轮询列表 [i - 1] + 1
                    数据数量 = i
                .如果结束

            .如果真结束

            .如果真 (公共动力轮询列表  > 0)
                数据名称  = 副本数定义 [(副本public [公共动力轮询列表 ].组位置 - 1) × 72 + 56 + 副本public [公共动力轮询列表 ].数据位置].位字名
                数据数值  = 副本设状态 [副本public [公共动力轮询列表 ].组位置].D状态 [副本public [公共动力轮询列表 ].数据位置]
                数据单位  = 副本数定义 [(副本public [公共动力轮询列表 ].组位置 - 1) × 72 + 56 + 副本public [公共动力轮询列表 ].数据位置].单位
                数据上限  = 副本数定义 [(副本public [公共动力轮询列表 ].组位置 - 1) × 72 + 56 + 副本public [公共动力轮询列表 ].数据位置].字数值高
                数据下限  = 副本数定义 [(副本public [公共动力轮询列表 ].组位置 - 1) × 72 + 56 + 副本public [公共动力轮询列表 ].数据位置].字数值

                .如果 (获取对应数据颜色 (副本public [公共动力轮询列表 ].组位置, 副本public [公共动力轮询列表 ].数据位置, 数据数值 ) = -1)
                    异常状态  = “正常”
                .否则
                    异常状态  = “预警”
                .如果结束

            .如果真结束

        .计次循环尾 ()
        高级表格生成 (高级表格EX1, 数据数量, 公共动力轮询列表, 数据名称, 数据数值, 数据单位, 数据上限, 数据下限, 异常状态, 选择夹EX1.宽度)

        ' 临时日志写入 (“退出公共动力”)
        当前页面完成许可切换 = 真
    .如果真结束

    计时器 = 计时器 + 1
    .如果真 (计时器 ≥ 视图4切换延时 × 100)
        计时器 = 0
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()
Waitting = Waitting + 1

.子程序 TestTemplate
.局部变量 子夹索引

.判断开始 (子夹索引 = 1)
    线程_销毁 (数据一览线程句柄)
    线程_关闭句柄 (数据一览线程句柄)

.判断 (子夹索引 = 2)
    线程_销毁 (成本线程句柄)
    线程_关闭句柄 (成本线程句柄)

.判断 (子夹索引 = 3)
    线程_销毁 (动力句柄)
    线程_关闭句柄 (动力句柄)

.判断 (子夹索引 = 0)
    线程_销毁 (h_t线程句柄)
    线程_关闭句柄 (h_t线程句柄)

.判断 (子夹索引 = 4)
    线程_销毁 (温度句柄)
    线程_关闭句柄 (温度句柄)

.判断 (子夹索引 = 5)
    线程_销毁 (湿度句柄)
    线程_关闭句柄 (湿度句柄)

.默认

.判断结束


.子程序 温度实时
.局部变量 i, 整数型
.局部变量 计时器, 整数型
.局部变量 数据数量, 整数型
.局部变量 轮询列表, 整数型, , "6"
.局部变量 数据名称, 文本型, , "6"
.局部变量 数据数值, 小数型, , "6"
.局部变量 数据单位, 文本型, , "6"
.局部变量 数据上限, 小数型, , "6"
.局部变量 数据下限, 小数型, , "6"
.局部变量 异常状态, 文本型, , "6"


数据数量 = 取数组成员数 (temperature)
.如果真 (数据数量 > 7)
    数据数量 = 7
.如果真结束

重定义数组 (轮询列表, 假, 数据数量)
重定义数组 (数据名称, 假, 数据数量)
重定义数组 (数据数值, 假, 数据数量)
重定义数组 (数据单位, 假, 数据数量)
重定义数组 (数据上限, 假, 数据数量)
重定义数组 (数据下限, 假, 数据数量)
重定义数组 (异常状态, 假, 数据数量)

.判断循环首 (代真)

    延时 (10)
    处理事件 ()
    进入许可区 (数组访问许可)
    .如果真 (计时器 = 0)

        ' 临时日志写入 (“温度实时”)
        当前页面完成许可切换 = 假
        .计次循环首 (取数组成员数 (轮询列表), i)

            .如果真 (i = 1)
                .如果 (轮询列表 [数据数量] ≥ 取数组成员数 (temperature) 或 轮询列表 [数据数量] = -1)
                    轮询列表  = 1
                .否则
                    轮询列表  = 轮询列表 [取数组成员数 (轮询列表)] + 1
                .如果结束

            .如果真结束

            .如果真 (i ≠ 1)
                .如果 (轮询列表 [i - 1] ≥ 取数组成员数 (temperature))
                    轮询列表  = -1
                    数据数量 = i - 1
                    跳出循环 ()
                .否则
                    轮询列表  = 轮询列表 [i - 1] + 1
                    数据数量 = i
                .如果结束

            .如果真结束

            .如果真 (轮询列表  > 0)
                数据名称  = 副本数定义 [(temperature [轮询列表 ].组位置 - 1) × 72 + 56 + temperature [轮询列表 ].数据位置].位字名
                数据数值  = 副本设状态 [temperature [轮询列表 ].组位置].D状态 [temperature [轮询列表 ].数据位置]
                数据单位  = 副本数定义 [(temperature [轮询列表 ].组位置 - 1) × 72 + 56 + temperature [轮询列表 ].数据位置].单位
                数据上限  = 副本数定义 [(temperature [轮询列表 ].组位置 - 1) × 72 + 56 + temperature [轮询列表 ].数据位置].字数值高
                数据下限  = 副本数定义 [(temperature [轮询列表 ].组位置 - 1) × 72 + 56 + temperature [轮询列表 ].数据位置].字数值

                .如果 (获取对应数据颜色 (temperature [轮询列表 ].组位置, temperature [轮询列表 ].数据位置, 数据数值 ) = -1)
                    异常状态  = “正常”
                .否则
                    异常状态  = “预警”
                .如果结束

            .如果真结束

        .计次循环尾 ()

        高级表格生成 (高级表格EX2, 数据数量, 轮询列表, 数据名称, 数据数值, 数据单位, 数据上限, 数据下限, 异常状态, 选择夹EX1.宽度)

        ' 临时日志写入 (“退出温度实时”)
        当前页面完成许可切换 = 真
    .如果真结束



    计时器 = 计时器 + 1
    .如果真 (计时器 > 1000)
        计时器 = 0
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()


Waitting = Waitting + 1

.子程序 湿度实时
.局部变量 i, 整数型
.局部变量 计时器, 整数型
.局部变量 数据数量, 整数型
.局部变量 轮询列表, 整数型, , "6"
.局部变量 数据名称, 文本型, , "6"
.局部变量 数据数值, 小数型, , "6"
.局部变量 数据单位, 文本型, , "6"
.局部变量 数据上限, 小数型, , "6"
.局部变量 数据下限, 小数型, , "6"
.局部变量 异常状态, 文本型, , "6"


数据数量 = 取数组成员数 (humidness)
.如果真 (数据数量 > 7)
    数据数量 = 7
.如果真结束


重定义数组 (轮询列表, 假, 数据数量)
重定义数组 (数据名称, 假, 数据数量)
重定义数组 (数据数值, 假, 数据数量)
重定义数组 (数据单位, 假, 数据数量)
重定义数组 (数据上限, 假, 数据数量)
重定义数组 (数据下限, 假, 数据数量)
重定义数组 (异常状态, 假, 数据数量)

.判断循环首 (代真)

    延时 (10)
    处理事件 ()
    进入许可区 (数组访问许可)
    .如果真 (计时器 = 0)

        ' 临时日志写入 (“湿度实时”)
        当前页面完成许可切换 = 假
        .计次循环首 (取数组成员数 (轮询列表), i)

            .如果真 (i = 1)
                .如果 (轮询列表 [数据数量] ≥ 取数组成员数 (humidness) 或 轮询列表 [数据数量] = -1)
                    轮询列表  = 1
                .否则
                    轮询列表  = 轮询列表 [取数组成员数 (轮询列表)] + 1
                .如果结束

            .如果真结束

            .如果真 (i ≠ 1)
                .如果 (轮询列表 [i - 1] ≥ 取数组成员数 (humidness))
                    轮询列表  = -1
                    数据数量 = i - 1
                    跳出循环 ()
                .否则
                    轮询列表  = 轮询列表 [i - 1] + 1
                    数据数量 = i
                .如果结束

            .如果真结束

            .如果真 (轮询列表  > 0)
                数据名称  = 副本数定义 [(humidness [轮询列表 ].组位置 - 1) × 72 + 56 + humidness [轮询列表 ].数据位置].位字名
                数据数值  = 副本设状态 [humidness [轮询列表 ].组位置].D状态 [humidness [轮询列表 ].数据位置]
                数据单位  = 副本数定义 [(humidness [轮询列表 ].组位置 - 1) × 72 + 56 + humidness [轮询列表 ].数据位置].单位
                数据上限  = 副本数定义 [(humidness [轮询列表 ].组位置 - 1) × 72 + 56 + humidness [轮询列表 ].数据位置].字数值高
                数据下限  = 副本数定义 [(humidness [轮询列表 ].组位置 - 1) × 72 + 56 + humidness [轮询列表 ].数据位置].字数值

                .如果 (获取对应数据颜色 (humidness [轮询列表 ].组位置, humidness [轮询列表 ].数据位置, 数据数值 ) = -1)
                    异常状态  = “正常”
                .否则
                    异常状态  = “预警”
                .如果结束

            .如果真结束

        .计次循环尾 ()

        高级表格生成 (高级表格EX3, 数据数量, 轮询列表, 数据名称, 数据数值, 数据单位, 数据上限, 数据下限, 异常状态, 选择夹EX1.宽度)

        ' 临时日志写入 (“退出湿度实时”)
        当前页面完成许可切换 = 真
    .如果真结束



    计时器 = 计时器 + 1
    .如果真 (计时器 > 1000)
        计时器 = 0
    .如果真结束

    退出许可区 (数组访问许可)
.判断循环尾 ()

Waitting = Waitting + 1

.子程序 _选择夹EX1_子夹将变, 整数型
.参数 子夹索引, 整数型
.参数 因果子夹, 整数型
.参数 附加参数1, 整数型
.参数 附加参数2, 整数型

.判断开始 (子夹索引 = 0)
    .如果真 (线程_取状态 (h_t线程句柄) ≠ -1)
        线程_销毁 (h_t线程句柄)
        线程_关闭句柄 (h_t线程句柄)
    .如果真结束

.判断 (子夹索引 = 1)
    .如果真 (线程_取状态 (数据一览线程句柄) ≠ -1)
        线程_销毁 (数据一览线程句柄)
        线程_关闭句柄 (数据一览线程句柄)
    .如果真结束

.判断 (子夹索引 = 2)
    .如果真 (线程_取状态 (成本线程句柄) ≠ -1)
        线程_销毁 (成本线程句柄)
        线程_关闭句柄 (成本线程句柄)
    .如果真结束

.判断 (子夹索引 = 3)
    .如果真 (线程_取状态 (动力句柄) ≠ -1)
        线程_销毁 (动力句柄)
        线程_关闭句柄 (动力句柄)
    .如果真结束

.判断 (子夹索引 = 4)
    .如果真 (线程_取状态 (温度句柄) ≠ -1)
        线程_销毁 (温度句柄)
        线程_关闭句柄 (温度句柄)
    .如果真结束

.判断 (子夹索引 = 5)
    .如果真 (线程_取状态 (湿度句柄) ≠ -1)
        线程_销毁 (湿度句柄)
        线程_关闭句柄 (湿度句柄)
    .如果真结束

.默认

.判断结束


回复

使用道具 举报

结帖率:90% (18/20)

签到天数: 15 天

发表于 2024-9-1 10:12:55 | 显示全部楼层   江西省赣州市
线程里操作组件也会出现这个,这是内存冲突
回复

使用道具 举报

签到天数: 2 天

发表于 2024-9-1 11:12:42 | 显示全部楼层   广东省肇庆市
线程 的问题
回复

使用道具 举报

签到天数: 2 天

发表于 2024-9-1 11:13:37 | 显示全部楼层   广东省肇庆市
线程操作空间。或者各种全局变量什么的,都有可能出错。建议加许可证
回复

使用道具 举报

签到天数: 1 天

发表于 2024-9-1 16:11:39 | 显示全部楼层   广东省汕尾市
6666666666666666
回复

使用道具 举报

结帖率:83% (39/47)

签到天数: 20 天

发表于 2024-9-1 18:51:38 | 显示全部楼层   福建省宁德市
我这可以修,得远程看一下你完整代码再判断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表