Main Content

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 인수를 구문 자리 표시자로 지정해야 합니다. flistlabels와 길이가 같아야 합니다.

f = export2wsdlg(___)는 대화 상자를 표시하는 Figure 객체를 f에 반환합니다. 위에 열거된 구문에 나와 있는 입력 인수를 조합하여 이 출력값을 요청할 수 있습니다.

[f,tf] = export2wsdlg(___)는 사용자가 확인을 클릭하면 tf1(true)로 반환하고, 사용자가 취소 또는 대화 상자 제목 표시줄의 닫기 버튼(X)을 클릭하여 대화 상자를 닫으면 0을 반환합니다. tf가 0이면 f는 빈 배열([])로 반환됩니다. export2swdlg 함수는 사용자가 대화 상자를 닫을 때까지 값을 반환하지 않습니다.

예제

모두 축소

변수 sumAmeanA 또는 두 가지 모두를 기본 작업 공간에 저장할 수 있는 대화 상자를 만듭니다.

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에서는 자동으로 오류 대화 상자를 반환합니다. 오류 대화 상자에서 확인을 클릭하면 작업 공간으로 내보내기 대화 상자에 유효한 변수 이름을 입력할 수 있습니다.

입력 변수 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에서는 자동으로 오류 대화 상자를 반환합니다. 오류 대화 상자에서 확인을 클릭하면 작업 공간으로 내보내기 대화 상자에서 오류를 수정할 수 있습니다.

콜백 입력 인수를 지정하여 도움말 버튼을 대화 상자에 추가합니다. 도움말 버튼을 클릭하여 콜백을 실행합니다. 이 코드에서 콜백 함수는 smhelp로, 이 함수는 도움말 대화 상자를 만듭니다. 자세한 내용은 Write Callbacks for Apps Created Programmatically 항목을 참조하십시오.

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 

이 예제를 실행하려면 위의 코드를 복사하여 텍스트 편집기에 붙여 넣으십시오. 파일을 MATLAB 경로에 있는 폴더에 exspm.m으로 저장합니다. 코드를 실행하고 도움말 버튼을 클릭하면 Save Sums to Workspace 대화 상자 위에 도움말 대화 상자가 열립니다. 다음 이미지에서는 두 대화 상자를 나란히 보여줍니다.

Figure 객체를 만들고 작업 공간으로 내보내기 위한 대화 상자를 만듭니다. 사용자가 대응하는 체크박스를 선택하는 경우 지정된 색상의 Figure 창을 만들 함수 목록을 지정한 다음, 확인을 클릭합니다. 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);

사용자가 체크박스 선택을 완료하고 확인을 클릭하면 MATLAB에서는 선택된 체크박스에 대해 다음 작업을 수행합니다.

  • 대응하는 함수를 실행합니다(각 함수는 Figure를 생성함).

  • Figure 객체를 vars 변수에 반환합니다.

  • 변수를 기본 작업 공간으로 내보냅니다.

입력 인수

모두 축소

체크박스 레이블로, 문자형 벡터로 구성된 셀형 배열이나 string형 배열로 지정됩니다. 배열에 항목이 하나밖에 없을 경우, export2wsdlg는 체크박스 대신 편집 필드를 만듭니다. labels, vars, vals, defs의 길이는 모두 동일해야 합니다.

예: {'Temperature (Celsius)','Mass (Grams)'}

대화 상자를 열면 기본적으로 편집 필드에 표시되는 편집 필드 변수 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 배열 요소의 개수는 labels에 지정된 개수와 동일합니다. labels, vars, vals, defs의 길이는 모두 동일해야 합니다.

vars의 변수 이름은 고유해야 합니다.

대화 상자 사용자는 편집 필드에 표시되는 변수 이름을 편집할 수 있습니다. 여러 편집 필드에 동일한 이름을 사용자가 지정할 경우 MATLAB은 해당 이름을 사용하여 구조체를 만듭니다. 그런 다음 defaultvars 항목을 해당 구조체의 필드 이름으로 사용합니다.

예: {'Longitude','Latitude'}

변수 값으로, 셀형 배열로 지정됩니다. labels, vars, vals, defs의 길이는 모두 동일해야 합니다.

예: {100,200}

예: {sin(A),cos(A)}

대화 상자 제목으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'Save to Workspace'

디폴트 체크박스 선택으로, 논리형 배열로 지정됩니다. labels, vars, vals, defs의 길이는 모두 동일해야 합니다.

대화 상자를 열면 기본적으로 모든 체크박스가 선택되어 있습니다.

예: [true, false]는 대화 상자를 열 때 첫 번째 체크박스가 선택되고 두 번째 체크박스는 선택되지 않도록 지정합니다.

도움말 버튼 콜백으로, 함수 핸들, 셀형 배열 또는 문자형 벡터(권장되지 않음)로 지정됩니다. 도움말 버튼 콜백을 지정하면, MATLAB은 도움말 버튼을 대화 상자에 추가합니다. 자세한 내용은 Write Callbacks for Apps Created Programmatically 항목을 참조하십시오.

예: @myfun은 콜백 함수를 함수 핸들로 지정합니다.

예: {@myfun,x}는 콜백 함수를 셀형 배열로 지정합니다. 이 경우 함수는 입력 인수 x를 받습니다.

함수 호출 목록으로, 내보낼 값을 계산하여 반환하는, 함수 이름 및 선택적 인수로 구성된 셀형 배열로 지정됩니다. flistlabels와 길이가 같아야 합니다.

예: {{@myfun1,x},{@myfun2,x,y}}

출력 인수

모두 축소

대화 상자가 표시되는 Figure 객체입니다. 2개의 반환 인수를 요청한 경우 f는 빈 배열 []로 반환되며 export2wsdlg 함수는 사용자가 대화 상자를 닫을 때까지 값을 반환하지 않습니다.

true 또는 false 결과로, 1 또는 0으로 반환됩니다. 사용자가 확인 버튼을 클릭하면 함수는 1(true)을 반환하고, 그러지 않으면 0을 반환합니다. export2wsdlg 함수는 사용자가 대화 상자를 닫을 때까지 값을 반환하지 않습니다.

세부 정보

모두 축소

모달 대화 상자

모달 대화 상자에서는 대화 상자 조작이 끝나기 전에 다른 MATLAB 창과 상호 작용을 할 수 없습니다.

  • 모달 작업 공간으로 내보내기 대화 상자가 활성 상태일 때도 MATLAB 프로그램은 계속 실행됩니다. 사용자가 대화 상자를 닫을 때까지 프로그램 실행을 차단하려면 uiwait 함수를 사용하십시오.

버전 내역

R2006b에 개발됨