2012-01-12 14 views
5

io ci so un modo per rendere il tasto Invio sulla tastiera confermare la finestra inputdlg(), vedere qui: http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQTMATLAB: immettere per confermare la finestra di dialogo di input?

Va bene si tratta di una soluzione, il problema è, devo memorizzarlo nella directory MATLAB (poiché come detto nella pagina: "Poiché dipende da diverse funzioni private, newid.m funzionerà solo se memorizzato in questa posizione.") .. Il problema ora è che voglio fare un codice che non si basa sulle modifiche dell'utente nella directory Matlab a causa di privilegi mancanti ... Esiste ancora un altro (forse sporco) modo per ottenere questo comportamento?

Grazie!

+1

+1 Perché non sapevo che c'è una soluzione per questo fastidioso problema! –

risposta

2

Soluzione:

  1. Copiare il newid.m da http://www.mathworks.de/support/solutions/en/data/1-39UWQT/index.html?product=ML&solution=1-39UWQT a una cartella arbitraria, ad esempio, nella cartella dei progetti
  2. Andare nella cartella in cui è stato memorizzato l'originale inputdlg(); è possibile trovare questo tramite which inputdlg (ad esempio C: \ Program Files \ MATLAB \ R2011b \ Toolbox \ MATLAB \ uitools \ inputdlg.m)
  3. Vai nella private -subdirectory e copiare i due file getnicedialoglocation.m e setdefaultbutton.m e incollarli in cartella del progetto in cui si trova lo newid.m. Ora chiama tutte le finestre di dialogo di input utilizzando newid() anziché inputdlg()
+0

BTW, consiglio di rinominare le versioni copiate di 'getnicedialoglocation' e' setdefaultbutton' (nome file, nome funzione e chiamata funzione all'interno di 'newid') in modo che non stompano e nessun aggiornamento futuro alle versioni originali. Ho appena aggiunto '_enter' ai nomi. – patrickvacek

Problemi correlati