[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=2951&ptid=1288][color=#999999]Li123456 发表于 2023-04-13 12:37[/color][/url][/size]
还有其他方式呢?[/quote]
可以使用数组和索引来简化代码:
[code]// 定义状态数组
string states[] = { "1待机", "2_1灌水准备", "2_2排气", "3正冲洗", "4过滤", "5_1反洗准备", "5_2水反洗", "5_3水气混洗", "6_1静止",
"6_2排水", "6_3气擦洗", "7_1停", "7_2水反洗", "7_3停机", "8_1进药", "8_2浸泡", "8_3排药", "9_1反洗准备",
"9_2水反洗", "9_3水气混洗", "10_1静止", "10_2排水", "10_3气擦洗", "11_1停", "11_2水反洗", "11_3气擦洗",
"12_1静止", "12_2排水", "12_2气擦洗", "13正冲", "超限" };
int index = \\local\A1罐_状态; // 获取状态索引
\\local\A1_State = index >= 0 && index < 30 ? states[index] : states[30]; // 设置对应的状态值,如果超出范围,则设置为“超限”[/code]
此代码使用一个字符串数组来存储所有的状态值。然后使用\\local\A1罐_状态作为索引,并通过判断该索引是否在0~29之间来设置\\local\A1_State的值。如果超出此范围,则设置\\local\A1_State为“超限”。 |