Passing the listbox name to a function
1 次查看(过去 30 天)
显示 更早的评论
Hi, I have a function that updates the files in a directory into a listbox:
% Refresh list Box
fname=get(handles.textSaveFolder,'String');
%List all tif images into the list box.
[pathstr,name,ext] = fileparts(fname)
filePattern = fullfile(pathstr, ['*',ext]);
myFiles = dir(filePattern);
ListOfImageNames = {}; % Initialize
for Index = 1:length(myFiles)
% Get the base filename and extension.
baseFileName = myFiles(Index).name;
[folder, name, extension] = fileparts(baseFileName);
% Examine extensions for ones we want.
extension = upper(extension);
switch lower(extension)
case {'.jpg', '.tif','tiff'}
% Keep only PNG, BMP, JPG, TIF, or AVI image files.
ListOfImageNames = [ListOfImageNames baseFileName];
% otherwise
end
end
% Now we have a list of validated filenames that we want.
% Send the list of validated filenames to the listbox.
set(handles.listbox2, 'string', ListOfImageNames);
drawnow;
To make this a stand alone function I will need to pass in the listbox name, "istbox2" in this case. How can I pass the listbox name as a variable to the function so I can apply to any listbox.
Thanks Jason
0 个评论
采纳的回答
Walter Roberson
2017-2-27
You could pass handles.listbox2 (or as appropriate) to the function, which could then set() against the variable that holds that.
Or you could pass a string to the function, such as in the variable BoxName . Then you could
set( handles.(BoxName), ...)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!