Откройте диалоговое окно выбора файла
открывает модальное диалоговое окно, в котором перечисляются файлы в текущей папке. Это позволяет пользователю выбрать или ввести имя файла. Если файл существует и является допустимым, file
= uigetfileuigetfile
возвращает имя файла, когда пользователь кликает Open. Если пользователь нажимает Cancel или окно закрывает кнопку (X), uigetfile
возвращает 0
.
___ = uigetfile(
задает расширение файла, по которому фильтруются файлы, отображаемые в диалоговом окне. Используйте этот синтаксис с любыми комбинациями выходных аргументов в предыдущих синтаксисах.filter
)
Обычно отображаются только файлы с соответствующим расширением файла. На некоторых платформах, uigetfile
отображает файлы, которые не совпадают с фильтром, но затемняют имена файлов. Если фильтр отсутствует или пуст, uigetfile
использует список типов файлов по умолчанию (для примера, все MATLAB® файлы).
___ = uigetfile(___,'MultiSelect',
определяет, может ли пользователь выбирать несколько файлов. Установите режим равным mode
)'on'
чтобы включить многофазный выбор. По умолчанию установлено значение 'off'
.
Windows® библиотеки могут охватывать несколько папок.
Примечание
Визуальные характеристики диалогового окна зависят от операционной системы, которая запускает ваш код. Например, некоторые операционные системы не отображают строки заголовков в диалоговых окнах. Если вы передаете заголовок диалогового окна в функцию uigetfile, эти операционные системы не отображают заголовок.
Отобразите полную спецификацию файла, выбранного в диалоговом окне. Используйте disp
и fullfile
функции для добавления пояснительного текста и конкатенации path
и file
выходные значения.
[file,path] = uigetfile('*.m'); if isequal(file,0) disp('User selected Cancel'); else disp(['User selected ', fullfile(path,file)]); end
User selected H:\Documents\MyCode\surf.m
Отображение выбора индекса фильтра с пояснительным текстом в Командном окне. Используйте num2str
функция для преобразования значения индекса числового фильтра (indx
) в символьный массив. Это делает значение допустимым входом в disp
функция.
[file,path,indx] = uigetfile; if isequal(file,0) disp('User selected Cancel') else disp(['User selected ', fullfile(path, file),... ' and filter index: ', num2str(indx)]) end
User selected H:\Documents\MyCode\peaks.fig and filter index: 3
Отображать только файлы с .m
расширение в диалоговом окне путем определения '*. m'
как filter
входной параметр.
[file,path] = uigetfile('*.m');
Создайте список расширений файлов в раскрывающемся списке фильтров файлов. Передайте filter
входной параметр как массив ячеек из векторов символов и разделяет расширения файлов точками с запятой.
[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'},... 'File Selector');
Создайте список расширений файлов и дайте им описание, передав filter
входной параметр как массив ячеек из векторов символов. Первый столбец массива ячеек содержит расширения файлов, а второй содержит пользовательские описания типов файлов. Этот пример также связывает несколько типов файлов с 'MATLAB Files'
и 'Models'
описания.
[file,path,indx] = uigetfile( ... {'*.m;*.mlx;*.fig;*.mat;*.slx;*.mdl',... 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)'; '*.m;*.mlx','Code files (*.m,*.mlx)'; ... '*.fig','Figures (*.fig)'; ... '*.mat','MAT-files (*.mat)'; ... '*.mdl;*.slx','Models (*.slx, *.mdl)'; ... '*.*', 'All Files (*.*)'}, ... 'Select a File');
Чтобы отобразить имя файла по умолчанию в поле File name, когда диалоговое окно откроется, передайте имя файла как defname
входной параметр
[file,path] = uigetfile('*.png',... 'Select an icon file','icon.png')
Чтобы отобразить путь по умолчанию и имя файла в поле File name, когда диалоговое окно откроется, передайте полное имя файла как defname
входной параметр.
[file,path] = uigetfile('C:\Documents\Work\icon.png',... 'Select an Image File')
Включите многофазный выбор путем установки 'Multiselect'
Опция с ' on '. Пользователи могут выбрать несколько файлов, удерживая нажатой клавишу Shift или Ctrl и нажимая на имена файлов.
[file,path] = uigetfile('*.m',... 'Select One or More Files', ... 'MultiSelect', 'on');
Используйте путь и имя файла, который uigetfile
возвращается к открытию, чтению или анализу файла с помощью различных входных и выходных функций в тулбоксах MATLAB и MATLAB. Для примера: перечислены здесь.
imread
для чтения изображений.
xlsread
для чтения файлов Microsoft Excel.
open
, edit
, или run
с файлами кода MATLAB. Например, этот код создает диалоговое окно, чтобы получить имя файла кода MATLAB от пользователя, создает полное имя файла из возвращенных значений и затем запускает пользовательский файл кода.
[file,path] = uigetfile('*.m'); selectedfile = fullfile(path,file); run(selectedfile);
Используйте dir
функция для возврата отфильтрованного или нефильтрованного списка файлов в текущей папке или указанной папке. dir
функция также может возвращать атрибуты файла.