Hi. I have 2 Edit Fields in my app – "Delay" and "Step". The goal is to set the step size and update the delay value. It is in principle working, but only if I change the two values every time. If I want to keep the step size at 20, I would expect that the Delay value would increase by 20 every time I hit the enter button. Moreover, this was working with the Guide, but when I transferred to Appdesigner recently (by using the migration functionality), I noticed that the Delay value would update only when I change the step size (or the Delay value itself). Here is my code. You can see the old Guide-style code lines commented, as well.
% Value changed function: pumpdelay
function pumpdelay_Callback(app, event) % Create GUIDE-style callback args - Added by Migration Tool
[hObject, eventdata, handles] = convertToGUIDECallbackArguments(app, event); %#ok<ASGLU>
% hObject handle to pumpdelay (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 pumpdelay as text
% str2double(get(hObject,'String')) returns contents of pumpdelay as a double
pumpdelay = str2num(app.pumpdelay.Value) delaystep = str2num(app.delaystep.Value) pumpdelay = pumpdelay + delaystep app.pumpdelay.Value = num2str(pumpdelay); % Set
% pumpdelay = str2num(get(handles.pumpdelay, 'String'));
% delaystep = str2num(get(handles.delaystep, 'String'));
% pumpdelay = pumpdelay + delaystep;
% set(handles.pumpdelay, 'String', num2str(pumpdelay));
% guidata(hObject, handles);
% CARS_GUI_2pulse_18('calculate_Callback',handles.calculate,[],handles);
end % Value changed function: delaystep
function delaystep_Callback(app, event) % Create GUIDE-style callback args - Added by Migration Tool [hObject, eventdata, handles] = convertToGUIDECallbackArguments(app, event); %#ok<ASGLU> % hObject handle to delaystep (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 delaystep as text
% str2double(get(hObject,'String')) returns contents of delaystep as a double
pumpdelay = str2double(app.pumpdelay.Value) delaystep = str2double(app.delaystep.Value) pumpdelay = pumpdelay + delaystep app.pumpdelay.Value = num2str(pumpdelay); % Set % pumpdelay = str2num(get(handles.pumpdelay, 'String'));% delaystep = str2num(get(handles.delaystep, 'String'));% pumpdelay = pumpdelay + delaystep;% set(handles.pumpdelay, 'String', num2str(pumpdelay));% guidata(hObject, handles); end
Best Answer