Using uiimport and subsequent coded commands

8 views (last 30 days)
Hi guys -
I call uiimport in a GUI to import data, and in the GUI after that call I have some commands that operate on data that is imported. The problem I'm having is that in order to complete the data import using uiimport one has to click the "finish" button in the uiimport window, and before I can do this my code has moved on and attempted to execute operations on variables whose import is not complete. I need to make my code wait until the uiimport action is complete before moving on. Any thoughts?

Accepted Answer

Lucas García
Lucas García on 9 Jan 2012
Hi Jason,
In order for your code to wait until uiimport has finished, make sure you request a return value from uiimport.
S = uiimport;
a = 2;
'a' will not be created until the user has finished importing.
  1 Comment
Kenneth Freeman
Kenneth Freeman on 14 Jan 2021
Asking for a return value forces use of the Import Wizard which has fewer options than the Import Tool.

Sign in to comment.

More Answers (3)

Jason
Jason on 9 Jan 2012
Simple but effective. Thanks Lucas!

Kenneth Freeman
Kenneth Freeman on 14 Jan 2021
Asking for a return value forces use of the Import Wizard which has fewer options for hex data than the Import Tool. Any suggestions for this problem with no return value?

Kenneth Freeman
Kenneth Freeman on 14 Jan 2021
If you don't mind the printouts, the folloiwing code worked for uiimport with no return value. You need to name the returned item importedData to match the existence check. With multiple return variables not sure how to tell which one will be the last one in.
uiimport(filename)
while ~exist('importedData','var')
pause(1)
fprintf('Waiting for importedData\n')
end
The printouts start occuring immediately after the import tool window appears.

Tags

Community Treasure Hunt

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

Start Hunting!