I want to use the data below for the logic
Data =
'' ''
'' ''
'' ''
'' ''
if %Data
warndlg('warningstring')
else
end

 Akzeptierte Antwort

Image Analyst
Image Analyst am 18 Jun. 2011

0 Stimmen

Look up isempty(). And you probably want to wrap your warndlg inside a uiwait(). If it's like msgbox(), it will continue with your code, blasting right past that warning message unless you put it inside a uiwait().

9 Kommentare

pink
pink am 18 Jun. 2011
yes I've tried it but in case of error
??? Error while evaluating uipushtool ClickedCallback
??? Undefined function or method 'eq' for input arguments of type 'cell'.
data=get(handles.uitable1,'data')
if isempty(data)
warndlg('warningstring')
return
else
end
Paulo Silva
Paulo Silva am 18 Jun. 2011
try this all(all(cellfun(@isempty,c))) instead of isempty, it will detect if all the elements of the cell are empty (like this '' and this []), it isn't perfect but should work for your example.
pink
pink am 18 Jun. 2011
hi paul
if uitable1 contain numbers in case of error
data=get(handles.uitable1,'data')
if all(all(cellfun(@isempty,data)))
warndlg('warningstring')
return
else
end
??? Error using ==> cellfun
Input #2 expected to be a cell array, was double instead.
Paulo Silva
Paulo Silva am 18 Jun. 2011
try using arrayfun instead of cellfun, if data can be cell and array you must detect what data is before looking inside it (use the class and strcmp functions)
pink
pink am 19 Jun. 2011
Can give examples of the use of class and strcrmp
Walter Roberson
Walter Roberson am 19 Jun. 2011
if ~iscell(data) || all(cellfun(@isempty,data(:))
wardlg('warningstring')
return
end
pink
pink am 19 Jun. 2011
hi walter
after I use if ~iscell(data) || all(cellfun(@isempty,data(:))),
all data read is empty, I would like if uitable1 filled figures (not empty) then the variable 'data' is used in further calculations
Walter Roberson
Walter Roberson am 19 Jun. 2011
I will need to do some testing to see when it is possible for the data to not be a cell array when it is retrieved. Unfortunately that is not something I can test from home with my current configuration.
I do not think you should be testing for the emptiness of the cells in the cell-clicked callback: if the user is editing a series of the cells, they are not going to want the calculations to take place until they are finished editing.
If you have the data and it _is_ a cell array and you want to ensure that there is something in each of the cells, then
any(cellfun(@isempty,data(:)))
will be true if there are any empty cells.
pink
pink am 19 Jun. 2011
thanks walter..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Identification finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by