void dispatch(char num) { key = KEY_Scan(); switch(key) { case 1: menu_a++; if(menu_a > num) menu_a = 1; menu_b = menu_a; break; case 2: menu_a--; if(menu_a <= 0) menu_a = num; menu_b = menu_a; break; case 3: menu_bb = menu_aa = menu_a; break; case 4: break; default: break; } }
时间: 2024-02-10 17:26:32 浏览: 29
您提供了一个名为 "dispatch" 的函数,其参数为一个字符(char)类型的变量 "num"。
函数内部的实现逻辑如下:
1. 首先,调用名为 "KEY_Scan" 的函数,并将其返回值赋给变量 "key"。
2. 然后,使用 switch 语句根据 "key" 的值进行不同的操作。
3. 如果 "key" 的值为1,则执行以下操作:
- 将变量 "menu_a" 的值加1。
- 如果 "menu_a" 大于 "num",则将其重置为1。
- 将变量 "menu_b" 的值设置为与 "menu_a" 相同。
4. 如果 "key" 的值为2,则执行以下操作:
- 将变量 "menu_a" 的值减1。
- 如果 "menu_a" 小于等于0,则将其重置为 "num"。
- 将变量 "menu_b" 的值设置为与 "menu_a" 相同。
5. 如果 "key" 的值为3,则执行以下操作:
- 将变量 "menu_bb" 的值设置为与 "menu_aa" 相同,并将其设置为当前的 "menu_a" 值。
6. 如果 "key" 的值为4,则不执行任何操作。
7. 如果 "key" 的值不匹配以上任何一个情况,则不执行任何操作。
请注意,这只是一个函数的代码片段,缺少一些关键信息(例如变量和函数的定义)。如果您有其他问题或需要更多帮助,请随时告诉我。
相关问题
def write(self, vals): audit = self.env['approval.flow'].search([('approval_cannot_run_id', '=', '修改')]) value_list = list(vals.keys()) receive_list = [] value_list_not_in_receive_list = [i for i in value_list if i not in receive_list] value_list = value_list_not_in_receive_list # 应付 dispatch_number = 0 dispatch_id = self.env['roke.dispatch.order.management.price.approve'].search([('order_id.id', '=', self.id)]) dispatch_list = ['value03', 'value04', 'value05', 'value06', 'value07', 'value08'] if dispatch_id: for rec in value_list: for dispatch_list_id in dispatch_list: if rec == dispatch_list_id: if dispatch_id.approval_status != '未提' and dispatch_id.approval_status != '驳回': raise UserError("应付费用已开始审核不允许修改") value_list_not_in_dispatch_list = [i for i in value_list if i not in dispatch_list] value_list = value_list_not_in_dispatch_list dispatch_number = 1 break if dispatch_number: break # 基础 base_number = 0 base_list = ['client', 'department_manager', 'box_number', 'shipping_companies', 'field_station', 'ship_name_voyage', 'port_of_discharge', 'box_type', 'code', 'bill__of_lading_number', 'departure_date', 'lead_sealing', 'booking_time', 'date_of_pick_up', 'encore_date', 'set_port_date', 'estimated_range', 'destination_port_arrival_time'] if value_list: for rec in value_list: for base_list_id in base_list: if rec == base_list_id: if dispatch_id: if dispatch_id.approval_status != '未提' and dispatch_id.approval_status != '驳回': raise UserError("应付费用已开始审核不允许修改") base_number = 1 break if base_number: break return super(Rokedispatchordermanagement, self).write(vals) audit审核完成如果是修改不能修改如果不是可以修改怎么写可以实现
在给定的代码中,如果修改的字段包含“应付费用”字段,则需要检查“roke.dispatch.order.management.price.approve”模型中的“approval_status”字段,如果不是“未提”或“驳回”,则不能进行修改,否则可以进行修改。如果修改的字段不包含“应付费用”字段,则需要检查是否存在“roke.dispatch.order.management.price.approve”模型,如果存在,则需要检查“approval_status”字段是否为“未提”或“驳回”,如果不是,则不能进行修改,否则可以进行修改。如果不存在“roke.dispatch.order.management.price.approve”模型,则可以直接进行修改。因此,可以在代码中加入以下内容来实现这个逻辑:
```
# 判断是否需要进行审核
if '应付费用' in vals:
dispatch_id = self.env['roke.dispatch.order.management.price.approve'].search([('order_id.id', '=', self.id)])
if dispatch_id and (dispatch_id.approval_status != '未提' and dispatch_id.approval_status != '驳回'):
raise UserError("应付费用已开始审核不允许修改")
else:
dispatch_id = self.env['roke.dispatch.order.management.price.approve'].search([('order_id.id', '=', self.id)])
if dispatch_id and (dispatch_id.approval_status != '未提' and dispatch_id.approval_status != '驳回'):
raise UserError("应付费用已开始审核不允许修改")
elif not dispatch_id:
# 可以直接进行修改
return super(Rokedispatchordermanagement, self).write(vals)
```
以上代码可以放在`write`方法中的`value_list = value_list_not_in_dispatch_list`和`return`之间,以实现对修改的限制。
label_dispatch = tk.Label(input_window, text="调度台:") entry_dispatch = tk.Entry(input_window) 怎样将后面的输入框设置默认值
要将一个 Tkinter 的 Entry 控件设置默认值,可以在创建 Entry 对象时,将其 textvariable 属性设置为一个 tkinter.StringVar 对象,并将该对象的值设置为默认值。例如:
```
import tkinter as tk
root = tk.Tk()
input_window = tk.Toplevel(root)
# 创建一个 Label 控件,并设置其默认值为 "调度台:"
label_dispatch = tk.Label(input_window, text="调度台:")
label_dispatch.pack()
# 创建一个 Entry 控件,并将其默认值设置为 "默认值"
default_value = tk.StringVar()
default_value.set("默认值")
entry_dispatch = tk.Entry(input_window, textvariable=default_value)
entry_dispatch.pack()
input_window.mainloop()
```
在上面的例子中,我们创建了一个 Entry 控件,并将其默认值设置为 "默认值"。该值存储在一个 tkinter.StringVar 对象中,该对象被设置为 Entry 控件的 textvariable 属性。这样,当用户打开输入窗口时,该输入框会显示默认值。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)