MATLAB: Enter для подтверждения ввода-диалога? - PullRequest
5 голосов
/ 12 января 2012

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

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

Спасибо!

1 Ответ

2 голосов
/ 12 января 2012

Решение:

  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 \ toolbox \ matlab \ uitools \ inputdlg.m)
  3. Перейдите в подкаталог private и скопируйте два файла getnicedialoglocation.m и setdefaultbutton.m и вставьте их в папку вашего проекта, где находится newid.m. Теперь вызовите все ваши диалоги ввода, используя newid() вместо inputdlg()
...