uigetfile

Открытое диалоговое окно выбора файла

Описание

file = uigetfile открывает модальное диалоговое окно, которое перечисляет файлы в текущей папке. Это позволяет пользователю выбрать или ввести имя файла. Если файл существует и допустим, uigetfile возвращает имя файла, когда пользователь нажимает Open. Если пользователь нажимает Cancel или окно близкая кнопка (X), uigetfile возвращает 0.

[file,path] = uigetfile возвращает имя файла и путь к файлу, когда пользователь нажимает Open. Если пользователь нажимает Cancel или окно близкая кнопка (X), то uigetfile возвращает 0 для обоих из выходных аргументов.

пример

[file,path,indx] = uigetfile возвращает индекс фильтра, выбранного в диалоговом окне, когда пользователь нажимает Open.

пример

___ = uigetfile(filter) задает расширение файла, которым отфильтрованы файлы, отображенные в диалоговом окне. Используйте этот синтаксис с любой из комбинаций выходного аргумента в предыдущих синтаксисах.

Как правило, только файлы с соответствующим расширением файла отображены. На некоторых платформах, uigetfile файлы отображений, которые не совпадают с фильтром, но dims те имена файлов. Если фильтр отсутствует или пустой, uigetfile использует список по умолчанию типов файлов (например, все файлы MATLAB®).

пример

___ = uigetfile(filter,title) задает заголовок диалогового окна. Отфильтровать использование фильтра файла по умолчанию, но задать пользовательский заголовок, пустые кавычки использования для значения фильтра. Например:

file = uigetfile('','Select a File')

пример

___ = uigetfile(filter,title,defname) задает имя файла по умолчанию для поля File name.

пример

___ = 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');

Входные параметры

свернуть все

Фильтр файла в виде вектора символов, массива ячеек из символьных векторов или массива строк.

  • Если filter имя файла, затем то имя файла появляется в поле File name. Расширение файла является значением фильтра по умолчанию. (Поле фильтра не помечено и появляется справа от поля File name.)

  • filter может включать путь. Тот путь может содержать следующие символы:

    • .

    • ..

    • \

    • /

    • ~

    Например, '../*.m' списки все файлы кода с .m расширение в папке выше текущей папки.

  • Если вы или пользователь включаете любого звездочка (*) или вопросительный знак (?) в имени файла, затем uigetfile не отвечает на нажатие Open. Диалоговое окно остается открытым, пока пользователь не нажимает Cancel или удаляет подстановочные символы из имени. Это ограничение применяется ко всем платформам, даже к файловым системам, которые разрешают эти символы в именах файлов

  • Если заданный путь не существует, то uigetfile открывает диалоговое окно в текущей папке.

  • Если filter имя папки, затем MATLAB отображает содержимое той папки. Поле File name пусто, и никакой фильтр не применяется. Задавать имя папки, последний знак filter должна быть любой обратная косая черта (\) или наклонная черта (/).

  • Если filter массив ячеек из символьных векторов или массив строк, это может включать два столбца. Первый столбец содержит список расширений файла. Дополнительный второй столбец содержит соответствующий список описаний. Эти описания заменяют стандартные описания в поле фильтра. Описание не может быть пустым.

Пример: 'myfile.m'

Пример: '../myfile.m'

Пример: '../..'

Заголовок диалогового окна в виде вектора символов.

Пример: 'Select a File'

Значение поля File name по умолчанию в виде вектора символов или строкового скаляра. defname значение может задать путь, или путь и имя файла.

  • Если вы задаете путь, он может содержать следующие символы:

    • .

    • ..

    • \

    • /

    • ~

  • Чтобы задать имя папки только, сделайте последний знак DefaultName любой обратная косая черта (\) или наклонная черта (/).

Пример: 'myfile.mat'

Пример: 'C:\Documents\my_MATLAB_files'

Пример: '..\myfile.mat'

Пример: '..\Documents\'

Мультивыберите режим в виде 'on' или 'off'. Если мультиизбранный режим выключен, то пользователь может выбрать один файл только. Если мультиизбранный режим включен, то пользователь может выбрать несколько файлов. Если пользователь выбирает несколько файлов, то они должны быть в той же папке; в противном случае MATLAB отображает диалоговое окно предупреждения. Библиотеки Microsoft® Windows могут охватить несколько папок.

Выходные аргументы

свернуть все

Имя файла, которое пользователь задал в диалоговом окне, возвращенном как вектор символов или массив ячеек из символьных векторов.

Массив ячеек из символьных векторов возвращен когда 'MultiSelect' установлен в 'on' и пользователь выбирает несколько файлов. Каждый элемент массива содержит имя выбранного файла. Имена файлов в массиве ячеек сортируются в порядке, который использует платформа пользователя. Если пользователь выбирает несколько файлов, они должны быть в той же папке, в противном случае MATLAB отображает диалоговое окно предупреждения.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение файла как 0.

Путь к заданному файлу или файлам, возвращенным как вектор символов.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение файла как 0.

Выбранный индекс фильтра, возвращенный как целое число.

Фильтр является непомеченным управлением диалоговым окном справа от поля File name в диалоговом окне. Значение индекса фильтра соответствует элементу, выбранному в фильтре выпадающий список. Индекс первой строки равняется 1.

Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), то MATLAB возвращает значение индекса 0.

Больше о

свернуть все

Модальное диалоговое окно

Модальное диалоговое окно препятствует тому, чтобы пользователь взаимодействовал с другими окнами MATLAB прежде, чем ответить на диалоговое окно.

Советы

  • Используйте путь и имя файла что uigetfile возвращается, чтобы открыть, считать или анализировать файл с помощью различных функций ввода и вывода в тулбоксах MATLAB и MATLAB. Например: перечисленный здесь.

    • imread для чтения изображений.

    • xlsread для чтения файлов Microsoft Excel.

    • openРедактирование, или run с файлами кода MATLAB. Например, этот код создает диалоговое окно, чтобы получить имя файла кода MATLAB от пользователя, создает полное имя файла из возвращенных значений, и затем запускает заданный пользователями файл кода.

      [file,path] = uigetfile('*.m');
      selectedfile = fullfile(path,file);
      run(selectedfile);
      

Альтернативная функциональность

Используйте dir функционируйте, чтобы возвратить отфильтрованный или неотфильтрованный список файлов в вашей текущей папке или папке, которую вы задаете. dir функция может возвратить атрибуты файла также.

Смотрите также

| |

Представлено до R2006a