Get index of specific string in popup
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I have a popup populated with Strings.
Now, I want to set the Value (index) corresponding to the string in that value. Example. If the popup has the values 'linear', 'polynomial', 'spline'.
If I want polynomial selected I want to set the current value to 2. But how to do it dynamically?
Thanks in advance Regards
0 件のコメント
採用された回答
その他の回答 (1 件)
Walter Roberson
2011 年 2 月 28 日
The way I handle this in my code is to have a cell array of readable names, and a cell array of the full corresponding strings. The String parameter of the popup gets populated from the cell array of the full corresponding strings, and I build a struct() out of the combination of the cell array of readable names and num2cell(1:TheNumberOfStrings) . Then I use the fieldnames of the struct in place of the values.:
interpfields = {'lin', 'poly', 'spline'};
interpstrings = {'linear', 'polynomial', 'spline'};
t = [interpfields(:).'; num2cell(1:length(interpfields))]
interpcodes = struct(t{:});
interppop = uicontol('Style','popup', 'String', interpstrings);
set(interppop, 'Value', interpcodes.poly);
With this method, you do not need to search each time, and you do not need to change the code if you decide to change the exact phrasing of the strings.
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!