MCGS 掉电保存当前值为下次初始值


        MCGS编程过程中,希望在程序运行过程中改变某个变量的初始值,使其在下次启动的时候自动为上次掉电前的值。它的手册上写的是需要勾选"退出时,自动保存当前值为初始值"。但是我发现这个选项为灰色,不能选择。



        后来经过查找其它函数手册,发现可以有下面的方法实现。


!SaveSingleDataInit( SZ_CS_1)     //保存单个数据的当前值为初始值
!SaveSingleDataInit( SZ_CS_2)
!SaveSingleDataInit( SZ_CS_3)
!SaveSingleDataInit( SZ_CS_4)
!SaveSingleDataInit( SZ_CS_5)
!SaveSingleDataInit( SZ_CS_6)
!SaveSingleDataInit( SZ_CS_7)
!SaveSingleDataInit( SZ_CS_8)


        单单有上面这个语句是不行的,上面只是设置了本次启动,如果掉电重启将丢失,也就是没有写入磁盘。

!FlushDataInitValueToDisk( )  //将所有数据的初始值写入磁盘,下次掉电启动后就是这个初始值了。


MCGS(触摸屏配置软件)中,通过组合框、输入框以及按钮控件可以实现“选择配方”、“输入配方组名称”及“添加配方”的功能。以下是具体步骤和逻辑说明: --- ### **步骤描述** #### 1. 组合框设置 - 添加一个**组合框**到界面,并将其绑定变量名为`RecipeName`。 - 配置该组合框的数据源为空白列表或预设的初始选项(如已有的配方列表)。 #### 2. 输入框设置 - 添加一个**文本输入框**用于用户手动输入新的配方组名称,例如命名为`InputBox_RecipeGroupName`。 - 设置其属性允许自由输入内容,同时将数据绑定至变量`NewRecipeGroupName`。 #### 3. 按钮点击事件 - 创建一个**按钮**并为其指定动作脚本。 - 当按下此按钮时触发以下操作: - 将输入框中的(即新配方组名称)从`NewRecipeGroupName`读取出来; - 如果这个名称不在现有组合框内,则追加进组合框的项目集合里,并更新显示; - 同步保存新增配方信息到存储介质或其他关联系统组件中(比如数据库文件等),确保下次运行程序仍能加载最新的配方表单; #### 示例代码片段 (伪码) ```plaintext // 假定使用的是类似VBScript语法环境下的编写规则 If Len(Trim(NewRecipeGroupName)) > 0 Then '判断是否有实际有效的内容填写入了文本域之中 If Not RecipeList.ContainsValue(NewRecipeGroupName) Then //检查当前是否已经存在同名条目避免冗余添加 RecipeList.Add LastIndex + 1, NewRecipeGroupName //向内部维护数组形式结构体插入最新元素项 ComboBox.SetItems RecipeList //刷新外部UI层面对应下拉菜单可用候选项展示状态 Else MsgBox "所填名称已存在于系统中,请换其他标识!", vbExclamation , "错误提示" End if Else MsgBox "请输入有效的非空字符作为新的分类标签!",vbCritical,"缺失关键字段警告" Endif ``` --- ### 注意事项 - 确保每个模块间通信顺畅无阻塞情况发生包括但不限于实时同步等问题解决机制建立完备。 - 对异常情况进行充分考虑,如非法字符过滤、重复命名处理等等细节都需逐一排查完善清楚明确给出反馈结果给使用者参考依据知晓下一步如何继续完成任务目标达成预期效果呈现清晰直观易懂的方式表现最终成果展现价所在之处体现专业水准高度追求精益求精的态度精神风貌彰显团队合作力量共同进步成长! ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值