inputdlg question

5 views (last 30 days)
Eugene
Eugene on 18 Feb 2012
Is it possible to output the string contents of a variable to a prompt or dialog title for inputdlg? I would also like to seed the first position of the created cell with the person's name.
It would look something akin to:
-------------------------------------
quanShoppers = 3;
namesList = {'Sally', 'Fred', 'John'};
for n=1:quanShoppers
prompt = {'Enter item for' namesList(n), 'Enter price paid'};
dlg_title = 'Shopping list for' namesList(n);
groceryList = {namesList(n),inputdlg(prompt, dlg_title, 1)};
end
------------------------------------
For the first iteration, the expected outputs will look like:
Shopping list for Sally
Enter item for Sally
Enter price paid

Accepted Answer

Image Analyst
Image Analyst on 18 Feb 2012
Try this:
namesList = {'Sally', 'Fred', 'John'};
groceryList = cell(length(namesList), 2);
for n=1:quanShoppers
line1 = sprintf('Enter item for %s', namesList{n})
line2 = 'Enter price paid'
prompt = {line1; line2}
dlg_title = sprintf('Shopping list for %s', namesList{n})
userResponse = inputdlg(prompt, dlg_title, 1)
groceryList(n, 1) = namesList(n);
groceryList{n, 2} = userResponse{1};
groceryList{n, 3} = userResponse{2};
end

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!