waitfor

Блокируйте выполнение и ожидайте условия

Описание

пример

waitfor(obj) операторы блоков от выполнения до заданных объектных завершений (удален). Когда объект больше не существует, waitfor возвращается, позволяя выполнению возобновиться. Если объект не существует, waitfor сразу возвращается.

пример

waitfor(obj,propname) задает имя свойства объекта и блокирует выполнение до значения изменений свойства или объектных завершений. Например, waitfor(mytable,'Data') приостанавливает выполнение до значения 'Data' изменения для mytable. Если заданное имя свойства недопустимо, выполнение остается блокированным.

пример

waitfor(obj,propname,propvalue) задает значение, которое свойство должно изменить в то, прежде чем выполнение сможет возобновиться. Если заданное свойство уже равно propvalue, затем waitfor сразу возвращается и резюме выполнения.

Примеры

свернуть все

Создайте диалоговое окно предупреждения и ожидайте его, чтобы закрыться. Команды после waitfor не выполняйтесь, пока вы не закроете диалоговое окно.

mydlg = warndlg('This is a warning.', 'A Warning Dialog');
waitfor(mydlg);
disp('This prints after you close the warning dialog.');

Ожидайте пользователя, чтобы установить флажок перед добавляющими данными к таблице. Value свойством флажка является 0 если не выбранный, и 1 когда выбрано.

t = uitable;
c = uicontrol('Style','checkbox','String','Add data');
c.Position = [320 100 80 20];
waitfor(c,'Value');
t.Data = magic(5);

Измените цвет фона текстового поля, когда пользователь прекратит редактировать его и щелкнет в другом месте в фигуре. Когда текстовое поле теряет особое внимание, Editing свойство изменяется от 'on' к 'off'.

txt = text(.5,.5,'Edit text and click');
txt.Editing = 'on';
txt.BackgroundColor = [1 1 1];

waitfor(txt,'Editing','off');
txt.BackgroundColor = [1 1 0];

Входные параметры

свернуть все

Объект, такой как AxesТекстПанельГруппа кнопокТаблица, или UIControl объект. Объект может быть дочерним элементом Figure объект создается с figure или uifigure функция, или это может быть дочерний элемент контейнера в Figure объект.

Имя свойства в виде вектора символов или строкового скаляра. Используйте этот аргумент, чтобы задать свойство obj чье значение должно измениться перед резюме выполнения.

Значение свойства в виде допустимого значения свойства сопоставлено с propname. Используйте этот аргумент, чтобы указать на определенное значение, на которое должно превратиться свойство перед резюме выполнения.

Советы

  • Если вы закрываете фигуру в то время как waitfor выполняется, ошибка происходит, потому что код пытается получить доступ к объектам, которые больше не существуют. Можно обработать ошибку путем включения waitfor в try/catch блок.

Алгоритмы

Как правило, коллбэки могут все еще запуститься если waitfor использовался, чтобы препятствовать тому, чтобы программы или модели Simulink® продолжили выполнение. Например, коллбэки, которые отвечают на пользовательские действия (как нажатие кнопки мыши) могут все еще запуститься даже если waitfor был назван.

waitfor может также использоваться, чтобы блокировать вызовы вложенной функции. Например, коллбэк, который выполняется в то время как waitfor функция запускается, может также вызвать waitfor.

Если функция обратного вызова компонента пользовательского интерфейса является выполняющимся в данным моментом waitfor функция, затем тот коллбэк может быть прерван независимо от какой Interruptible значение свойства для того компонента было установлено в.

Смотрите также

| | | | |

Представлено до R2006a