【发布时间】:2017-07-26 13:05:27
【问题描述】:
我正在 MATLAB 中制作一个 GUI,它将接受来自用户的数字输入并相应地使用它们进行计算。每当用户输入字母而不是数字时,我希望能够创建一个错误对话框。到目前为止,我有这段代码可以显示错误消息:
ed = errordlg('Please enter numbers only','Error'); set(ed, 'WindowStyle', 'modal');uiwait(ed);
这是主要代码的一部分,我想将错误消息集成到:
function roofspace_Callback(hObject, eventdata, handles)
aSpace = str2double(get(hObject,'String')); %This is the user entered value for the roofspace.
set(hObject,'UserData',aSpace);
if aSpace==0 %If aSpace does not have anything then nothing is enabled.
set(findall(handles.uipanelFunds, '-property', 'enable'), 'enable', 'off');
set(findall(handles.uipanelPanels, '-property', 'enable'), 'enable', 'off');
set(findall(handles.uipanelUsage, '-property', 'enable'), 'enable', 'off');
set(handles.calculate,'enable','off');
set(hObject,'String','');
else %If aSpace hs a value then this enables the rest of the inputs.
set(findall(handles.uipanelFunds, '-property', 'enable'), 'enable', 'on');
set(findall(handles.uipanelPanels, '-property', 'enable'), 'enable', 'on');
set(findall(handles.uipanelUsage, '-property', 'enable'), 'enable', 'on');
set(handles.calculate,'enable','on');
end
编辑: 总之,我需要弄清楚如何将我的错误消息代码集成到这部分代码中,以便它检查用户是否输入了数字,否则我希望显示错误消息。目前,无论用户输入什么,代码都会显示错误消息。
【问题讨论】:
-
对……什么的一些见解?你有什么问题?
-
@excaza,当用户给出非数字输入时,如何让此代码显示错误消息?就目前而言,无论输入什么,都会显示错误消息。我不知道如何将错误信息代码集成到程序中来完成这个
-
似乎您更关心如何检查用户输入是否为数字,而不是在嵌套 if 循环的位置之后。 (如果确实是您的代码,我相信您知道将 if 语句放在哪里......)。
-
@BillBokeey,你说得对,我将问题编辑得更清楚。
标签: matlab loops user-interface if-statement editbox