2015-01-13 8 views
1

Я пытаюсь создать графический интерфейс для скрипта, который получает от пользователя пути и имена матриц (через функции uigetdir и uigetfile, а также редактировать текстовые поля), и, наконец, нажав кнопку «Запустить», эти дескрипторы записывают эти дескрипторы в. m и запускает другой скрипт. По сути, в конце концов, он должен создать файл с именем 'RunName'.m который выглядит примерно так:Как написать дескрипторы из графического интерфейса MATLAB в файл .m?

базовый_путь = Get (handles.BasePathEdit,' строка ')

имя_файла = прибудете (ручки. FileNameEdit, «Строка»)

основной% запускает основной скрипт с предыдущими переменными, определенными как они были

и запустить его.

Я предполагаю, что сценарий будет успешно работать, если я просто напишу его так же, как в функции «Запустить», но мне все равно хотелось бы создать файл .m, как описано.

Большое спасибо за помощь, Все самое лучшее.

+1

Чтобы успешно работать, ваш 'RunName.m' должен иметь переменную' handle' в области (которая не будет такой, как вы ее написали). Это кажется очень запутанным способом запуска скриптов ... какова конечная цель создания этого файла? – Hoki

+3

Проще всего было бы написать функцию, а не скрипт, и передать переменные таким образом. – nkjt

+0

Хоки, ты прав. Я этого не понимал. Извините, это практически моя первая неделя программирования что-либо, я все еще пытаюсь понять ее. @nkjt, вот что я делаю на данный момент. Я предполагаю, что я пытаюсь сделать это в основном создать файл запуска со всеми переменными, специфичными для этого запуска, которые будут сохранены в рабочей папке для дальнейшего использования. Тип исполняемого файла журнала сортировки. –

ответ

0

Самый простой способ выполнить это - написать функцию, которая выполняется при нажатии кнопки «запустить», которая считывает значения из графического интерфейса пользователя и продолжается с помощью основного сценария. В руководстве это просто - щелкните правой кнопкой мыши по кнопке «запустить», а в разделе «Просмотр обратных вызовов» выберите «Обратный вызов». Затем вы можете использовать обычный синтаксис get(handles.RELEVANT_TEXT_BOX,'string') и т. Д., Чтобы прочитать resr данных в. Затем вы можете передать это своей основной функции, иначе вы можете просто скопировать и сфотографировать ваш скрипт прямо в обратный вызов.

+0

Спасибо, @srthompers, но на самом деле это то, что я делаю сейчас. То, что мне не хватает, - удобный способ записать эти данные в отдельный файл. Я хочу, это файл журнала, который исправлен в определенном шаблоне и является исполняемым \ загружаемым графическим интерфейсом. Что вы делаете, просто используя «сохранить» и создав файл .mat со всей рабочей областью? Возможно, я смогу загрузить его позже в графический интерфейс, а затем просто запустить его таким образом ... –