多くの編集テキスト項目を完了する必要がある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