1

我正在尝试制作一个 GUI,您必须在其中完成许多编辑文本项,并且在每个编辑文本的回调中,我必须检查引入的值/值是否良好。如果一个值不正确,错误消息将通知用户什么是错误的。此外,如果编辑文本中的值不好,用户不应该能够移动到另一个编辑文本。我尝试了许多解决方案,但没有一个完全符合我的要求。在下一个代码中,问题是允许用户转到另一个 uicontrol,如果我不引入任何值,它不会考虑字符串为空。如果可以的话请帮忙。肿瘤坏死因子

function edit_keyboard_Callback(hObject, eventdata, handles)
% hObject    handle to edit_keyboard (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit_keyboard as text
%        str2double(get(hObject,'String')) returns contents of edit_keyboard as a       double
 global matrix
 global input_method
if input_method == 1
 matrixString = get(hObject,'String');
  [lines colums] = size(matrixString);
 k=1;
if isempty(get(hObject,'String'))
   msg =  msgbox(['Complete A'],'Empty !','warn')
    return;
else
for i=1:lines

    temp = explodeString(matrixString(i,:),' ')
    cl = length(temp)
    for j=1:cl
        [num flag] = str2num(char(temp(j)));
        if flag~=1
            msg =  msgbox(['Error in line ' num2str(j) ', colum ' num2str(i) ' , input a number! '],'Not a number!','warn')
            return;
        else
            matrix(i,j) = num;
        end
    end
end
end
end
4

0 回答 0