uiputfile

Откройте диалоговое окно для сохранения файлов

Описание

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 ко всем выходным аргументам.

пример

___ = 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 входное значение. Связать несколько типов файлов с 'MATLAB Files' и 'Models' описания.

Первый столбец входа 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');

Откройте диалоговое окно «Выбор файла для записи» и выберите файл. MATLAB автоматически открывает диалоговое окно «Подтверждение сохранения как».

  • Если щелкнуть 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 к списку типов файлов, представленному в диалоговом окне. The 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. Если пользователь отменяет диалоговое окно, MATLABreturns path как 0.

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

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

Подробнее о

свернуть все

Диалоговое окно Modal

Модальное диалоговое окно препятствует взаимодействию пользователя с другими окнами MATLAB перед ответом на диалоговое окно.

Совет

  • Чтобы записать данные в пользовательский файл и расположение с помощью функций MATLAB и MATLAB toolbox, используйте путь и имя файла, который 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