export2wsdlg

Создайте диалоговое окно для экспорта переменных в рабочую область

Описание

пример

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

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

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

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

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

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

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

пример

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

пример

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

пример

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

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

[f,tf] = export2wsdlg(___) возвращает tf как 1 (true), если пользователь кликнет OK, или 0 если пользователь закроет диалоговое окно нажатием кнопки Cancel или close (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 и щелкните OK, затем MATLAB автоматически возвращает диалоговое окно ошибки. После нажатия кнопки OK в диалоговом окне ошибки пользователь имеет возможность ввести допустимое имя переменной в диалоговом окне Экспорт в рабочую область.

Задайте переменный вход, 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);

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

Добавьте кнопку Help в диалоговое окно путем определения входного параметра коллбэка. При нажатии кнопки 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. Когда вы запускаете код и нажимаете кнопку Help, диалоговое окно справки открывается в верхней части диалогового окна Сохранить суммы в рабочей области (Save Sums to Workspace). На следующем изображении два диалоговых окна показаны один за другим.

Создайте диалоговое окно для создания и экспорта объектов рисунка в рабочую область. Задайте список функций, чтобы создать окна рисунка в заданных цветах, когда пользователь установит соответствующие флажки, а затем кликнет OK. The 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] указывает, что при открытии диалогового окна устанавливается первый флажок, а второй - нет.

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

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

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

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

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

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

свернуть все

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

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

Подробнее о

свернуть все

Диалоговое окно Modal

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

Совет

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

Введенный в R2006b
Для просмотра документации необходимо авторизоваться на сайте