MATLAB Answers

Add a new item to existing list and save it and Dot indexing is not supported for variables of this type

3 views (last 30 days)
Khalala Mamouri
Khalala Mamouri on 30 Aug 2020
Edited: Khalala Mamouri on 31 Aug 2020
I am developping an app for EV's. i am looking for a way to allow the future users to add new vehicles to the drop down menu. To do this, i need a code to modify the existing item list, and add new EVs referances. I found this code, i modified a bit and it somehow works
However ! when i close the app the name desepears, and i have to start again. What i am i missing ?, and how to make the code saves the new car, in the existing database without deleting it after restart
thank you
new_car = "WhatEver";
app.VehicleModelDropDown.Items = [app.VehicleModelDropDown.Items new_car];

Answers (1)

Mohammad Sami
Mohammad Sami on 31 Aug 2020
You need to load and save Items from a .mat file if you wish your changes to be persisted across runs. Otherwise the items will always initialise to the values you have coded in your app.
Khalala Mamouri
Khalala Mamouri on 31 Aug 2020
Hi mohammad thanks for the fast replay and code.
Unfortunately i run in some problems using the load function so a changed a bit the code, but still the same idea as yours. So i am using "fopen" instead of "load" and a .m file unstead of .mat. As i said i think the principal is the same for both, how ever, when i start simulation i get this error :
" Dot indexing is not supported for variables of this type "
The code i am using is given bellow.
function startupFcn(app, varargin)
evalin('base', 'clear all')
evalin('base', 'clc')
list = fopen('VehicleList.m','r'); % Read data from the file
A = textscan(list, '%c'); % Importing data
fclose(list); % close file
AB = char(A); % Cell to char conversion
assignin('base','A', A); % send to workspace
assignin('base','AB', AB); % send to workspace
app.VehicleModelDropDown.Items = AB.VehicleList; % << I get the error here
function UpdateVehicleList(app,new_car)
VehicleList = [app.VehicleModelDropDown.Items new_car];
app.VehicleModelDropDown.Items = VehicleList;
Thanks for your time ;)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!