How to put some string in a variable?
显示 更早的评论
Hi everyone ,
i have a question about this code :
function fonction_graphs_1(handles)
val = get(handles.graph,'Value');
str = get(handles.graph,'String');
switch str{val};
case 'Electrique'
set (handles.graph_1,'Enable','on');
nameList = {'modele_'};
for iIndex = 1:10
Field = sprintf('%s%d', nameList{1},iIndex);
if findobj('Tag',Field,'Enable','on')
H = handles.(Field);
String = get(H, 'String');
Value = get(H, 'Value');
fichier = String{Value};
set (handles.graph_1,'String',{'', fichier },'value',1);
end
end
i would like than " fichier " become a variables which can add all the thing i select, These are "String" and if i put " fichier " in this code :
set (handles.graph_1,'String',{'', fichier },'value',1);
All the string will be show ?
Is it possible ?
Thank you
4 个评论
Geoff Hayes
2014-8-5
Hugo - where in the code would you update fichier to be the list of all "things" that can be selected? In the above function or elsewhere? Is handles.graph_1 a list box which will contain all of these selections?
Geoff Hayes
2014-8-5
And where does fichier get set with the selected items?
回答(1 个)
Geoff Hayes
2014-8-7
Hugo - if you just want to update fichier at each iteration and then add to the list after, then you could do something like this
fichier = {''};
for iIndex = 1:10
Field = sprintf('%s%d', nameList{1},iIndex);
if findobj('Tag',Field,'Enable','on')
H = handles.(Field);
String = get(H, 'String');
Value = get(H, 'Value');
fichier = [fichier ; String{Value}];
end
end
% now update the widget
set (handles.graph_1,'String',fichier,'value',1);
Try the above and see what happens!
4 个评论
Geoff Hayes
2014-8-7
Since fichier is a cell array, do something like the following to check to see if the motor is already in the list
if isempty(find(strcmpi(fishier, String{Value})))
fichier = [fichier ; String{Value}];
end
For example,
fichier = {'' ; 'Electric' ; 'Thermic' ; 'NA' ; 'Other'}
find(strcmpi(fichier,'Electric'))
ans =
2
find(strcmpi(fichier,'Electric2'))
ans =
Empty matrix: 0-by-1
If the string is in the cell array, then find returns the index of that string in the cell array. Else if the string is not in the list (as in the second example) then an empty matrix is returned.
Geoff Hayes
2014-8-8
Hugo - I'm not really clear on what you want. You state that i would like to set only the String ME_X , and don't put -1. But you have written code to put the -1. Why? Why not use the example I showed in the previous comment
if isempty(find(strcmpi(fishier, String{Value})))
fichier = [fichier ; String{Value}];
end
类别
在 帮助中心 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!