Azzera filtri
Azzera filtri

Can I do this with LOOPING

1 visualizzazione (ultimi 30 giorni)
Salim Muhammad
Salim Muhammad il 30 Gen 2017
Commentato: Salim Muhammad il 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?

Risposta accettata

Walter Roberson
Walter Roberson il 31 Gen 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

Più risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by