2012-01-12 45 views
5

Tôi biết có một cách để làm cho nhập-key trên bàn phím xác nhận hộp thoại inputdlg(), xem tại đây: http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQTMATLAB: Nhập để xác nhận hộp thoại đầu vào?

Được rồi đó là một cách giải quyết, vấn đề là, tôi phải lưu trữ nó trong thư mục matlab (vì như đã nói trên trang: "Vì nó phụ thuộc vào một số hàm riêng, newid.m sẽ chỉ hoạt động nếu được lưu trữ ở vị trí này.") .. Vấn đề bây giờ là, tôi muốn tạo một mã mà không dựa vào về những thay đổi của người dùng trong thư mục Matlab vì thiếu các đặc quyền ... Có cách nào khác (có lẽ là dơ bẩn) để đạt được hành vi này không?

Cảm ơn!

+1

+1 Vì tôi không biết rằng có một giải pháp cho vấn đề khó chịu này! –

Trả lời

2

Giải pháp:

  1. Sao chép newid.m từ http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQT vào một thư mục tùy ý, ví dụ vào thư mục dự án của bạn
  2. Chuyển đến thư mục nơi lưu trữ inputdlg() gốc; bạn có thể tìm thấy điều này qua which inputdlg (ví dụ C: \ Program Files \ MATLAB \ R2011b \ toolbox \ matlab \ uitools \ inputdlg.m)
  3. Đi vào private -subdirectory và sao chép hai tập tin getnicedialoglocation.msetdefaultbutton.m và dán chúng vào thư mục dự án của bạn, nơi có newid.m. Giờ hãy gọi tất cả các hộp thoại đầu vào của bạn bằng cách sử dụng newid() thay vì inputdlg()
+0

BTW, tôi khuyên bạn nên đổi tên các phiên bản đã sao chép của 'getnicedialoglocation' và' setdefaultbutton' (tên tệp, tên hàm và hàm gọi bên trong 'newid') để chúng không bị dậm và bất kỳ cập nhật nào trong tương lai cho phiên bản gốc. Tôi chỉ thêm '_enter' vào tên. – patrickvacek

Các vấn đề liên quan