I want when index increase no. of layers should give inf or button disable to not accept more inputs,thanks

49 views (last 30 days)
function ButtonPushed(app, event)
L = app.nooflayerEditField.Value;
r = zeros(L,1);
for i=1:L
if i > L
app.Button.Enable = off;
app.firstValEditField.Value= inf;
end
app.Button.Enable ='Off';
waitfor(app.firstValEditField.Value);
r = app.firstValEditField.Value;
r(i) = r;
app.Button.Enable ='On';
end
disp(r(i))

Accepted Answer

Walter Roberson
Walter Roberson on 11 Dec 2024 at 4:55
for i=1:L
if i > L
app.Button.Enable = off;
app.firstValEditField.Value= inf;
end
When you have for i=1:L it is not possible for i to exceed L (unless you specifically assign to i). So it is not possible for the test if i > L to succeed.
app.Button.Enable ='Off';
If the test somehow did succeed, then the first thing you would do after the if block would be to set app.Button.Enable back to 'off', which is a bit pointless.
waitfor(app.firstValEditField.Value);
app.firstValEditField.Value is a numeric value. You cannot waitfor() a numeric value.
If you wanted to wait until app.firstValEditField is deleted, you would
waitfor(app.firstValEditField);
If you wanted to wait until app.firstValEditField.Value changed then you would
waitfor(app.firstValEditField, 'Value');
A problem with waiting for it to change is that if user wants to retain the current value, there is no way to do that.
  7 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!