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

 Réponse acceptée

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 commentaires

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

Connectez-vous pour commenter.

Plus de réponses (1)

Did your app cd() to somewhere? If not, then what directory do you think you are in at the time you save() ?

1 commentaire

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?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Develop Apps Using App Designer dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by