【发布时间】:2013-12-30 11:13:29
【问题描述】:
代码:
function send_Callback(hObject, eventdata, handles)
key = 3; %this is the variable
current = str2double(get(handles.value, 'String'));
%value is a textbox where user put input
newValue = key+current;
set(handles.listbox1,'String', newValue)
%listbox1 is a listbox to show the value
%Now I want to replace the value of key by the value of current
%key = current - something like this
我的期望:我期望密钥将替换为当前值(例如 8)。这样当我再次在文本框中输入内容时(例如 12),它将与之前的当前值相加(例如 8,然后 newValue 将为 12+8)。
我得到了什么:每当我点击按钮时,每次都会将键设置为 3 并添加当前值。但我希望密钥在第一次使用后永久更改或至少放在一边。
义务:当我启动程序并第一次单击发送按钮时,此处显示为 3 的键值必须与 3 完全相同。实际上,稍后我将使用上述概念进行加密/解密[对于构建块,我只使用一个附加项],所以第一次我的密钥必须为设备所知,然后用户可以在她想要的时候更改它.
附加评论: My previous post 几乎相似,但我更新变量的要求仍未满足。虽然那个时候达到了目的。
【问题讨论】:
-
我见过两种方法:1) 使用全局变量,或 2) 使用传递给回调的句柄的
UserData属性(带有 get/set)。 -
请在这个新问题中参考并链接到您之前的(几乎相同的)问题,并描述有什么不同以及为什么之前的解决方案不起作用。
标签: matlab matlab-guide