uiputfile

Открытое диалоговое окно для того, чтобы сохранить файлы

Синтаксис

file = uiputfile
[file,path] = uiputfile
[file,path,indx] = uiputfile
___ = uiputfile(filter)
___ = uiputfile(filter,title)
___ = uiputfile(filter,title,defname)

Описание

file = uiputfile открывает модальное диалоговое окно для выбора или определения файла. Диалоговое окно перечисляет файлы и папки в текущей папке.

  • Если пользователь указывает, что правильный файл называет, и нажимает Save, то MATLAB® возвращает то имя файла в file.

  • Если пользователь отменяет диалоговое окно, то MATLAB возвращает 0 в file.

Примечание

  • Успешное выполнение uiputfile возвращает имя нового или существующего файла, который задает пользователь. Это не создает файл.

  • Визуальные характеристики диалогового окна зависят от операционной системы, которая запускает ваш код. Например, некоторые операционные системы не показывают строки заголовка на диалоговых окнах. Если вы передаете заголовок диалогового окна на функцию uiputfile, те операционные системы не отображают заголовок.

[file,path] = uiputfile возвращает выбранный или заданный путь к файлу к path. Если пользователь отменяет диалоговое окно, то MATLAB возвращает 0 в оба выходных аргумента.

[file,path,indx] = uiputfile возвращает индекс значения Save as type, выбранного в диалоговом окне. Индексация запускается в 1. Если пользователь нажимает кнопку Cancel или окно близкая кнопка (X), или если файл не существует, то MATLAB возвращает 0 в indx. Если пользователь отменяет диалоговое окно, то MATLAB возвращает 0 во все выходные аргументы.

пример

___ = uiputfile(filter) отображения только те файлы с расширениями то соответствие filter. На некоторых платформах uiputfile также отображает любые файлы, которые не совпадают с filter, но они недоступны. Функция uiputfile добавляет All Files к списку типов файлов.

Если filter является именем файла, то uiputfile отображает имя файла в поле File name и использует расширение файла в качестве фильтра по умолчанию.

Используйте этот синтаксис с любой из комбинаций выходного аргумента в предыдущих синтаксисах.

пример

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

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

пример

___ = uiputfile(filter,title,defname) открывает диалоговое окно, где имя файла, заданное defname, появляется в поле File name.

Примеры

свернуть все

Создайте диалоговое окно и задайте filter как animinit.m. Когда код запускается, поле File name содержит заданное имя файла, и поле Save as type установлено в *.m.

[file,path,indx] = uiputfile('animinit.m');

Отобразите несколько типов файлов в поле списка Save as type путем разделения каждого расширения файла во входном параметре filter с точкой с запятой.

filter = {'*.m';'*.slx';'*.mat';'*.*'};
[file, path] = uiputfile(filter);

Создайте список типов файлов и дайте им описания, которые отличаются от значений по умолчанию при помощи массива ячеек для входного значения filter. Сопоставьте несколько типов файлов с описаниями 'Models' и 'MATLAB Files'.

Первый столбец массива ячеек входа filter содержит расширения файла, и второе содержит описания типов файлов. Например, первая запись столбца 1 содержит несколько расширений, разделенных точками с запятой. Эти типы файлов все сопоставлены с описанием 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)'.

[filename, pathname, filterindex] = uiputfile( ...
{'*.m;*.fig;*.mat;*.slx;*.mdl',...
 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)';
 '*.m;*.mlx', 'program files (*.m,*.mlx)';...
 '*.fig','Figures (*.fig)';...
 '*.mat','MAT-files (*.mat)';...
 '*.slx;*.mdl','Models (*.slx,*.mdl)';...
 '*.*',  'All Files (*.*)'});

Создайте диалоговое окно, названное 'Workspace File' с набором поля Save as type к MAT-файлам.

[file,path] = uiputfile('*.mat','Workspace File');

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

[file,name,path] = uiputfile('*.*','File Selection','test.m');

Откройте диалоговое окно Select a File to Write, и затем выберите файл. MATLAB автоматически открывает диалоговое окно Confirm Save As.

  • Если вы нажимаете OK в поле диалогового окна подтверждения, то MATLAB закрывает и диалоговые окна и отображает ваш выбор в Командном окне.

  • Если вы нажимаете No в поле диалогового окна подтверждения и нажимаете Cancel в диалоговом окне Select a File to Write, то Командное окно отображает User clicked Cancel.

[file,path] = uiputfile('*.m');
if isequal(file,0) || isequal(path,0)
   disp('User clicked Cancel.')
else
   disp(['User selected ',fullfile(path,file),...
         ' and then clicked Save.'])
end

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

свернуть все

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

Значение defname может включать путь или состоять из пути только. Можно использовать любой из этих символов в аргументе defname:

.
..
\
/
~

Чтобы задать defname как папку только, задайте последний знак в defname как наклонная черта влево \ или наклонная черта вправо /. Когда вы делаете так, MATLAB открывает диалоговое окно в папке, заданной путем. Если вы задаете путь, который не существует, то MATLAB открывает диалоговое окно в текущей папке.

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

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

Спецификация фильтра типа файла, заданная как вектор символов, массив ячеек из символьных векторов или массив строк. MATLAB добавляет All Files к списку типов файлов, представленных в диалоговом окне. Значение filter может включать подстановочный символ (*).

Пример: *.m

Пример: 'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)'

Заголовок диалогового окна, заданный как вектор символов или скаляр строки. Отфильтровать использование фильтра файла по умолчанию, но задать пользовательский заголовок, пустые кавычки использования для значения фильтра. Например:

uiputfile(' ','Select File')

Пример: 'File Selector'

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

свернуть все

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

  • Если пользователь указывает, что правильный файл называет, и нажимает Save, то MATLAB возвращает то имя файла в file.

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

  • Если пользователь задает существующее имя файла, то диалоговое окно предупреждения открывает утверждение, что файл уже существует и предоставляет возможность заменять файл.

    • Если пользователь нажимает Yes в диалоговом окне предупреждения, то MATLAB заменяет существующий файл и возвращает имя файла.

    • Если пользователь нажимает No в диалоговом окне предупреждения, то управляйте, возвращается к диалоговому окну uiputfile, позволяя пользователю задать различное имя файла.

  • Если пользователь отменяет диалоговое окно, то MATLAB возвращает 0 в file.

Путь к заданному пользователями имени файла, возвращенному как вектор символов или 0. Если пользователь отменяет диалоговое окно, то path MATLABreturns как 0.

Индекс Save as type, возвращенный как целое число. Как показано в этой фигуре, индекс соответствует выбору строки Save as type. Индексация запускается в 1.

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

Больше о

свернуть все

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

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

Советы

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

    • fprintf для того, чтобы записать данные к текстовому файлу.

    • imwrite для записи изображения к графическому файлу.

    • xlswrite для записи матрицы к электронной таблице Microsoft® Excel®. Например, этот код создает матрицу, A, создает диалоговое окно, чтобы получить имя файла от пользователя, создает полное имя файла из возвращенных значений, и затем пишет матрицу в заданный пользователями файл Excel.

      A = [12.7 5.02 -98 63.9 0 -.2 56];
      [file,path] = uiputfile('*.xlsx');
      filename = fullfile(path,file);
      xlswrite(filename,A);
      

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

| | |

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