exponenta event banner

export2wsdlg

Диалоговое окно «Создание» для экспорта переменных в рабочее пространство

Описание

пример

export2wsdlg(labels,vars,vals) создает модальное диалоговое окно с рядом флажков и полей редактирования. Для каждого флажка имеется соответствующее поле редактирования. Аргументы следующие:

  • labels - метки для флажков.

    Количество меток определяет количество флажков и полей редактирования, отображаемых в диалоговом окне. После каждой метки флажка появляется одно поле редактирования; например:

  • vars - имена переменных по умолчанию, отображаемые в полях редактирования, например, sumA показано на предыдущем изображении.

  • vals - значения для хранения в переменных.

labels, vars, и vals необходимо указать одинаковое количество элементов. Если labels, vars, и vals каждый задает один элемент, затем в диалоговом окне отображается только метка и поле редактирования. Например:

export2wsdlg(labels,vars,vals,title) задает заголовок для диалогового окна.

пример

export2wsdlg(labels,vars,vals,title,defs) указывает, какие флажки устанавливаются при открытии диалогового окна.

пример

export2wsdlg(labels,vars,vals,title,defs,helpfcn) добавляет кнопку «Справка» в диалоговое окно. helpfcn - обратный вызов, отображающий справку.

пример

export2wsdlg(labels,vars,vals,title,defs,helpfcn,flist) задает массив ячеек функций и необязательных аргументов, которые вычисляют, а затем возвращают значения для экспорта в vars. При указании flist, MATLAB ® использует его вместо vals. Однако необходимо указать vals аргумент в качестве заполнителя синтаксиса. flist должна быть той же длины, что и labels.

f = export2wsdlg(___) возвращает значение Figure объект, в котором отображается диалоговое окно f. Этот вывод можно запросить с помощью любой комбинации входных аргументов в предыдущих синтаксисах.

[f,tf] = export2wsdlg(___) прибыль tf как 1 (true), если пользователь нажимает кнопку OK, или 0 если пользователь закрывает диалоговое окно, нажав кнопку «Отмена» или кнопку «Закрыть» (X) в строке заголовка диалогового окна. Когда tf равно 0, f возвращается как пустой массив ([]). export2swdlg функция не возвращается до тех пор, пока пользователь не закроет диалоговое окно.

Примеры

свернуть все

Создание диалогового окна, позволяющего пользователю сохранять переменные sumA, или meanAили оба в базовую рабочую область.

A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
values = {sum(A),mean(A)};
export2wsdlg(labels,vars,values);

Если пользователь вводит недопустимое имя переменной, например, 2 и нажмите кнопку ОК, затем MATLAB автоматически вернет диалоговое окно ошибки. После нажатия кнопки ОК в диалоговом окне ошибки пользователь может ввести допустимое имя переменной в диалоговом окне Экспорт в рабочую область (Export to Workspace).

Определите входную переменную, defs, чтобы указать, что при открытии диалогового окна флажок не установлен.

A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
vals = {sum(A),mean(A)};
title = ('Save Sums to Workspace');
defs = logical([0 0]);
export2wsdlg(labels,vars,vals,...
             title,defs);

Если пользователь нажимает кнопку ОК, если флажки не установлены, MATLAB автоматически возвращает диалоговое окно ошибки. После нажатия кнопки ОК в диалоговом окне ошибки пользователь может исправить ошибку в диалоговом окне Экспорт в рабочую область (Export to Workspace).

Добавьте кнопку справки в диалоговое окно, указав входной аргумент обратного вызова. При нажатии кнопки Help выполняется обратный вызов. В этом коде функция обратного вызова smhelp, в котором создается диалоговое окно «Справка». Дополнительные сведения см. в разделе Запись обратных вызовов для программных приложений.

function expsm
A = randn(10,1);
labels = {'Save sum of A to variable named:' ...
          'Save mean of A to variable named:'}; 
vars = {'sumA','meanA'}; 
vals = {sum(A),mean(A)};
title = ('Save Sums to Workspace');
defs = logical([1 0]);
export2wsdlg(labels,vars,vals,...
             title,defs,{@smhelp});
         
    function smhelp
        helpdlg({'Select one or both check boxes.',...
                 'Change the variable names, if desired,',...
                 'and then click OK.'});
    end
 end 

Чтобы запустить этот пример, скопируйте и вставьте предыдущий код в текстовый редактор. Сохранить файл как exspm.m в папку на вашем пути MATLAB. При запуске кода и нажатии кнопки «Справка» в верхней части диалогового окна «Сохранить суммы в рабочей области» открывается диалоговое окно «Справка». На следующем рисунке показаны два диалоговых окна рядом друг с другом.

Создание диалогового окна для создания и экспорта объектов фигуры в рабочее пространство. Укажите список функций для создания окон фигур в указанных цветах, когда пользователь устанавливает соответствующие флажки, а затем нажимает кнопку OK. vals входной аргумент является только местозаполнителем синтаксиса. Следовательно, элементы массива ячеек, указанные значением vals не используются.

labels = {'Red Figure Window',...
          'Blue Figure Window',...
          'Green Figure Window'};
vars = {'fRed','fBlue','fGreen'};
vals = {0,0,0};
title = 'Figure Color Samples';
defs = [false false false];
flist = {{@figure,'color','r'},...
         {@figure,'color','b'},...
         {@figure,'color','g'}};
export2wsdlg(labels,vars,vals,title,defs,{@doc,'figure'},flist);

После выбора флажка и нажатия кнопки OK, MATLAB выполняет следующие действия для выбранных флажков:

  • Выполняет соответствующие функции (каждая из которых создает фигуру)

  • Возвращает объекты фигуры в vars переменные

  • Экспорт переменных в базовую рабочую область.

Входные аргументы

свернуть все

Метки флажков, заданные как массив ячеек из векторов символов или строковый массив. Если в массиве имеется только один элемент, то export2wsdlg создает поле редактирования вместо флажка. Длины labels, vars, vals, и defs все должны быть равны.

Пример: {'Temperature (Celsius)','Mass (Grams)'}

Изменение имен переменных полей, отображаемых в полях редактирования по умолчанию при открытии диалогового окна, заданного как массив ячеек из векторов символов или строковый массив. Количество элементов массива совпадает с числом, указанным в labels. Длины labels, vars, vals, и defs все должны быть равны.

Имена переменных в vars должен быть уникальным.

Пользователь диалогового окна может редактировать имена переменных, отображаемые в полях редактирования. Если пользователь указывает одно и то же имя в нескольких полях редактирования, то MATLAB создает структуру с таким именем. Затем он использует defaultvars элементы в качестве имен полей для этой структуры.

Пример: {'Longitude','Latitude'}

Значения переменных, заданные как массив ячеек. Длины labels, vars, vals, и defs все должны быть равны.

Пример: {100,200}

Пример: {sin(A),cos(A)}

Заголовок диалогового окна, заданный как вектор символа или скаляр строки.

Пример: 'Save to Workspace'

Выбор флажков по умолчанию, заданных как логический массив. Длины labels, vars, vals, и defs все должны быть равны.

По умолчанию при открытии диалогового окна устанавливаются все флажки.

Пример: [true, false] указывает, что при открытии диалогового окна первый флажок установлен, а второй - нет.

Обратный вызов кнопки справки, указанный как дескриптор функции, массив ячеек или символьный вектор (не рекомендуется). При задании обратного вызова кнопки «Справка» MATLAB добавляет кнопку «Справка» в диалоговое окно. Дополнительные сведения см. в разделе Запись обратных вызовов для приложений, созданных программным способом

Пример: @myfun определяет функцию обратного вызова как дескриптор функции.

Пример: {@myfun,x} определяет функцию обратного вызова как массив ячеек. В этом случае функция принимает входной аргумент x.

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

Пример: {{@myfun1,x},{@myfun2,x,y}}

Выходные аргументы

свернуть все

Figure объект, в котором отображается диалоговое окно. Если запрашиваются два возвращаемых аргумента, то f возвращается как пустой массив [] и export2wsdlg функция не возвращает значения до тех пор, пока пользователь не закроет диалоговое окно.

Истинный или ложный результат, возвращенный как 1 или 0. Функция возвращает 1 (true) если пользователь нажимает кнопку OK; в противном случае возвращается 0. export2wsdlg функция не возвращает значения до тех пор, пока пользователь не закроет диалоговое окно.

Подробнее

свернуть все

Модальное диалоговое окно

Модальное диалоговое окно предотвращает взаимодействие пользователя с другими окнами MATLAB перед ответом на диалоговое окно.

Совет

  • Выполнение программы MATLAB продолжается, даже если активно модальное диалоговое окно Экспорт в рабочую область (Export to Workspace). Чтобы заблокировать выполнение программы до тех пор, пока пользователь не закроет диалоговое окно, используйте uiwait функция.

Представлен в R2006b