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

조회 수: 1 (최근 30일)
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))

채택된 답변

Walter Roberson
Walter Roberson 2024년 12월 11일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by