Changing default values for inputdlg()

38 visualizzazioni (ultimi 30 giorni)
Michael
Michael il 10 Mar 2014
Modificato: Michael il 13 Mar 2014
I'm trying to work out a way such that if a user inputs some values into a dialogue box then exits it, those previous values are saved and then reused as the default values when the user open it again.
I've tried using the command in a loop with variables for the default answers which I then change i.e with m = answer(1). But when I try using variables instead on actual numbers like {'1', '2', '3'}, I get an error saying 'Default Answer must be a cell array of strings.'
Does anyone know how this may be done?

Risposta accettata

Mischa Kim
Mischa Kim il 10 Mar 2014
Modificato: Mischa Kim il 10 Mar 2014
Michael, does this do what you need?
defaultanswer = {'20','hsv'};
for ii = 1:2
prompt ={'Enter the matrix size for x^2:',...
'Enter the colormap name:'};
name = 'Input for Peaks function';
numlines = 1;
defaultanswer = inputdlg(prompt,name,numlines,defaultanswer);
end
I suspect that your variables are numeric, in which case you need to convert to string, using, e.g., the num2str command.
  3 Commenti
Mischa Kim
Mischa Kim il 10 Mar 2014
Modificato: Mischa Kim il 10 Mar 2014
I just used the loop to open the dialog twice to show how to store answers from the dialog box for later use. Of course, you can also call inputdlg again and again in different parts of your code.
Michael
Michael il 13 Mar 2014
Modificato: Michael il 13 Mar 2014
Still having a bit of trouble with this,
I've written this out:
def = {'0.6','16','16','2','0.6','0.7','0.1','4'};
prompt ={'Mass', 'Spring 1', 'Spring 2', 'Damping Coefficent', 'Distance', 'Initial Displacement', 'Time Step', 'Total Time'};
dlg_title = 'Parameters';
numlines = 1;
options.Resize='on';
answer = inputdlg(prompt,dlg_title,numlines,def,options);
def = answer;
disp(def)
When the dialogue box open, the default values I specify at the begining are present, and when I change the values, and exit the box, disp(def) shows the default answers have been changed to the new values I put in. However when I open the box back up, the default values reset to what they were originally.
I've been having a lot of trouble with 'the variable might be used before it is defined' as i cant simply set the default answer at the begining to the final answer at the end before said answer is put in.
Do you have any other ideas?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Install Products in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by