1

多くの編集テキスト項目を完了する必要があるGUIを作成しようとしています。各編集テキストのコールバックで、導入された値が適切かどうかを確認する必要があります。値が正しくない場合、エラーメッセージがユーザーに何が問題であるかを通知します。また、編集テキストの値が適切でない場合、ユーザーは別の編集テキストに移動できないようにする必要があります。私は多くの解決策を試しましたが、どれも私が望んでいたことを正確に実行しませんでした。次のコードの問題は、ユーザーが別のuicontrolに移動できることであり、値を導入しないと、文字列がnullであると見なされません。できれば助けてください。Tnx

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