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

1 Ansicht (letzte 30 Tage)
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))

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 11 Dez. 2024
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 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by