Clear Filters
Clear Filters

Can I do this with LOOPING

1 view (last 30 days)
Salim Muhammad
Salim Muhammad on 30 Jan 2017
Commented: Salim Muhammad on 1 Feb 2017
Hello, i want to make some sorting program. from 2 pushbutton (pushbutton A and B) callback and with some value and the sorting in listbox. so when i push the pushbutton A, it will show the button name and the value in listbox. something like this (A, 12) with A is the name and 12 is the value. and later when i push button B with value 3 (B, 3) it should have be in the first listbox apart (A, 12) because the value in B is smaller and so everytime we press the button it will show the name and the value and if the value is smaller it will be in the first and if larger it will be in the next one. i can't use some larger and smaller operator because in the listbox they become string. how can i compare the value in the list box?

Accepted Answer

Walter Roberson
Walter Roberson on 31 Jan 2017
Consider storing the numeric values in the UserData field of one of the controls.
ud = get(handles.listbox1, 'UserData');
if isempty(ud)
ud = struct('as_string', {{}}, 'as_numeric', []);
end
new_str = [ud.as_string, new_string];
new_num = [ud.as_numeric, new_number];
[new_num, sort_order] = sort(new_num);
new_str = new_str(sort_order);
ud.as_string = new_str;
ud.as_numeric = new_num;
set(handles.listbox1, 'UserData', ud);
and now you can set the listbox string to new_str

More Answers (0)

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!