How can I avoid displaying "0" in my text box when cancel is pressed using UIGETDIR

Hi,
The dialog box UIGETDIR returns either the selected folder name as a string if OK is pressed or the number 0 if Cancel is pressed. In my application I have an edit box with a callback function that calls UIGETDIR and then displays the selected folder string, something like this:
editboxhandle.callbackfcn = @set(editboxhandle,'String',uigetdir);
However, when Cancel is pressed, "0" is displayed in my edit box but while I would like the string to be empty in such case. I'm am restricted to a singel expression callback like the one above. How can I solve this?

답변 (1개)

k=uigetdir;
if k==0;
k=[];
end

댓글 수: 3

OK, but as I mentioned, I need to be able to do this in a single expression inside the (anonymous type) callback function. Your solution has more than one epression. Nevertheless, I seem to have cracked it myself by using the char command, like this:
editboxhandle.callbackfcn = @char(set(editboxhandle,'String',uigetdir));
When the number 0 is returned by UIGETDIR, char(0) becomes empty.
Why do you need to do it in a single line?
k=uigetdir;
if k==0;
k=[];
end
editboxhandle.callbackfcn = @char(set(editboxhandle,'String',k))

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

카테고리

도움말 센터File Exchange에서 Data Type Identification에 대해 자세히 알아보기

제품

질문:

2014년 8월 3일

댓글:

2014년 8월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by