2012-01-12 5 views
5

Я знаю, что есть способ сделать ввод-клавишу на клавиатуре подтвердить диалог inputdlg(), смотрите здесь: http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQTMATLAB: введите, чтобы подтвердить ввод-диалог?

Хорошо это обходной путь, проблема в том, что я должен хранить его в каталоге MatLab (потому что, как сказано на странице: «Поскольку он зависит от нескольких частных функций, newid.m будет работать только в том случае, если он хранится в этом месте.») .. Проблема в том, что я хочу сделать код, который не использует на пользовательских изменениях в каталоге Matlab из-за отсутствия привилегий ... Есть ли еще один (возможно, грязный) способ достичь такого поведения?

Спасибо!

+1

+1 Потому что я не знал, что есть обходной путь для этой досадной проблемы! –

ответ

2

Решение:

  1. Скопируйте newid.m из http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQT в произвольной папке, например, в папку с вашими проектами
  2. Зайдите в папку, где хранится оригинал inputdlg(); Вы можете найти это через which inputdlg (например, C: \ Program Files \ MATLAB \ R2011b \ Панели инструментов \ MATLAB \ uitools \ inputdlg.m)
  3. Идите в private -subdirectory и скопировать два файла getnicedialoglocation.m и setdefaultbutton.m и вставить их в папка вашего проекта, где находится newid.m. Теперь вызовите все ваши диалоговые окна ввода, используя newid() вместо inputdlg()
+0

BTW, я рекомендую переименовать скопированные версии 'getnicedialoglocation' и' setdefaultbutton' (имя файла, имя функции и вызов функции внутри 'newid'), чтобы они не переставали топать и никаких будущих обновлений исходных версий. Я просто добавил '_enter' к именам. – patrickvacek

Смежные вопросы