My saving function works before compiling it as a standalone software using app designer

The save function works and save the data from the table to .mat folder when i run in matlab. But after i compile it into a standalone software, it does not work the same way. It does not save no more and when i press the save button, it acts as error.
function startupFcn(app)
app.anam=load("Anam.mat","mergefilesanam");
assignin("base",'anam',app.anam);
app.data=evalin("base",'anam.mergefilesanam');
app.UITable_2.Data=app.data;
app.UITable.Data=app.data;
app.UITable_2.ColumnName=app.data.Properties.VariableNames;
app.UITable.ColumnName=app.data.Properties.VariableNames;
app.numRows=size(app.data,1);
end
function savebuttonImageClicked(app, event)
mergefilesanam=(app.UITable.Data);
save("Anam.mat","mergefilesanam");
anam=load("Anam.mat","mergefilesanam");
assignin("base",'anam',anam);
end

 채택된 답변

Specify the full file name -- folder plus base file name plus extension:
folder = 'd:\mydata'; % Wherever you want.
fullFileName = fullfile(folder, 'Anam.mat');
save(fullFileName,"mergefilesanam");

댓글 수: 6

and if i want to call the file back and display it in the table should is use load(fullfilename)?
aman = load(fullFileName);
assignin("base", 'anam', anam);
Remember though that that will be a struct with one field for every variable that was saved in the file.
You should probably not be working with the base workspace in App Designer. Create an app property instead.
should be like this?
app.aman = load(fullFileName);
assignin("base", 'anam', app.anam);
property(Access=Public)
anam;
end
function startupFcn(app)
folder = 'C:\Program Files\Citanix\machineinterface'; % Wherever you want.
fullFileName = fullfile(folder, 'Anam.mat');
app.anam=load(fullFileName,"mergefilesanam");
assignin("base",'anam',app.anam);
app.data=evalin("base",'anam.mergefilesanam');
app.UITable.Data=app.data;
app.UITable.ColumnName=app.data.Properties.VariableNames;
end
function savebuttonImageClicked(app, event)
folder = 'C:\Program Files\Citanix\machineinterface'; % Wherever you want.
fullFileName = fullfile(folder, 'Anam.mat');
mergefilesanam=(app.UITable.Data);
save(fullFileName,"mergefilesanam");
app.anam=load(fullFileName,"mergefilesanam");
assignin("base",'anam',app.anam);
end
Thank you very much it works now

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2021년 12월 30일
Did your app cd() to somewhere? If not, then what directory do you think you are in at the time you save() ?

댓글 수: 1

I am not sure about that....all the files that i use are in the same folder when i call/load and save when using matlab...do you have a sample coding i could refer to?

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

카테고리

도움말 센터File Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기

질문:

2021년 12월 30일

댓글:

2021년 12월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by