Clear Filters
Clear Filters

Info

This question is closed. Reopen it to edit or answer.

Store permanently data taken from an edit text box of GUI

1 view (last 30 days)
Hi! Is it possible to store/save the data taken from an edit text box permanently? (the data is still present even if I closed my program/GUI)

Answers (1)

Mischa Kim
Mischa Kim on 7 Feb 2014
Absolutely. E.g., save your data as a .mat file. Check out this answer for more detail.
  2 Comments
ericson
ericson on 7 Feb 2014
can you explain to me this part, I can't understand how it works
temp = load('testmatfile.mat');
data=temp.data;
uictagnames = fieldnames(data);
for i =1:numel(uictagnames)
str=sprintf('uicparams = fieldnames(data.%s)',uictagnames{i});
evalc(str);
for j = 1:numel(uicparams)
evalstr = sprintf('tempval = data.%s.%s',uictagnames{i},uicparams{j});
evalc(evalstr);
if ~isnumeric(tempval)
evalstr = sprintf('set(handles.%s,''%s'',''%s'')',uictagnames{i}, uicparams{j},tempval);
else
evalstr = sprintf('set(handles.%s,''%s'',%d)',uictagnames{i}, uicparams{j}, tempval);
end
evalc(evalstr);
end
end
Mischa Kim
Mischa Kim on 7 Feb 2014
To see how it works, download reloading_param.m and the corresponding .fig file, remove some of the semi-colons from the evalstr commands in the code you pasted above and run the .m file.
Now, in the GUI enter a string in the top edit box, e.g., 007. When you do that the string gets saved in the variable handles.mystructdata in the callback function edit1_Callback. Hitting the SAVE DATA button saves the variable in data and to a .mat file:
data = handles.mystructdata
save('testmatfile.mat','data');
Close and re-open the GUI and hit the RELOAD DATA button.
temp = load('testmatfile.mat');
data=temp.data;
All the data from the .mat file is transfered into data. In the following loop the individual variables are backed out, one by one, and entered back into the corresponding GUI objects (which are recognized by their unique tags), the edit boxes, via the evalstr commands.

This question is closed.

Community Treasure Hunt

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

Start Hunting!