Add Value to GUI

1 view (last 30 days)
Özgür Karagülle
Özgür Karagülle on 24 May 2012
Hi! I take an answer 3 minutes ago. With the answer i can take values for my array Phone. Now i want to add this script to GUI. in the gui there is just one push button it is goin to be "add phone number". so How i can add this script to gui ?
n = 2
for ii = 1:n
Phone(ii).name = input('Enter the name: ', 's');
Phone(ii).number = input('Enter the phone number: ','s');
Phone(ii).address = input('Enter the address: ','s');
end

Accepted Answer

Image Analyst
Image Analyst on 25 May 2012
n = 2;
dlg_title = 'Input for personal data';
num_lines = 1;
for k = 1:n
prompt1 = sprintf('Enter name #%d', k);
prompt2 = sprintf('Enter phone number #%d', k);
prompt3 = sprintf('Enter address #%d', k);
prompt = {prompt1, prompt2, prompt3};
answer = inputdlg(prompt,dlg_title,num_lines);
Phone(k).name = answer{1};
Phone(k).number = answer{2};
Phone(k).address = answer{3};
end

More Answers (4)

Matt Kindig
Matt Kindig on 24 May 2012
To clarify, you are trying to make a GUI? Are you going to replace the calls to 'input' (which gets information from the command prompt) with text fields in the GUI (where you can type in the relevant information directly? If so, you should start with GUIDE, which will help you layout the GUI. There are a few examples in the startup for GUIDE to do things similar to your task.
At the command prompt, simply type
guide
  3 Comments
Özgür Karagülle
Özgür Karagülle on 24 May 2012
n = 2
for ii = 1:n
Phone(ii).name = input('Enter the name: ', 's');
Phone(ii).number = input('Enter the phone number: ','s');
Phone(ii).address = input('Enter the address: ','s');
end
Walter Roberson
Walter Roberson on 24 May 2012
vals = inputdlg('Phone book', 'name', 'number', 'address');
Phone(ii).name = vals{1};
...

Sign in to comment.


Özgür Karagülle
Özgür Karagülle on 24 May 2012
where i must paste this code?
  1 Comment
Walter Roberson
Walter Roberson on 24 May 2012
n = 2
for ii = 1:n
vals = inputdlg('Phone book', 'name', 'number', 'address');
Phone(ii).name = vals{1};
Phone(ii).number = vals{2};
Phone(ii).address = vals{3};
end

Sign in to comment.


Özgür Karagülle
Özgür Karagülle on 24 May 2012
please help me, i have not enough english for matlab help doc. Matlab is international, isn't it ?
  3 Comments
Oleg Komarov
Oleg Komarov on 24 May 2012
@Özgür: please do not create additional answer but use comments or edit the original post.
I would suggest to avoid the GUI if you are new to MATLAB and interact with the user through the command line.
Özgür Karagülle
Özgür Karagülle on 24 May 2012
ok. i am sorry , i didn't know :(

Sign in to comment.


Özgür Karagülle
Özgür Karagülle on 24 May 2012
thank you for time Mr. Roberson, when i compile this codes it get an error = Error using inputdlg (line 109) NumLines size is incorrect.
Error in domain (line 3) vals = inputdlg('name', 'number', 'address');
  4 Comments
Image Analyst
Image Analyst on 25 May 2012
That's not the right way to use inputdlg() - see the help for the correct way.
Walter Roberson
Walter Roberson on 25 May 2012
vals = inputdlg({ 'name', 'number', 'address'},'Phone Book');

Sign in to comment.

Categories

Find more on MATLAB Mobile in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!