Add Value to GUI

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

hi, yes i am trying to make gui for my script. my script is just down. I want to combine this script to my gui ? **** i know it is very easy for you but english of matlab help is heavy, i couldn't, can you help me ? I just want to make simple phone directory , in this gui there is just push buttons which are "Add Phone Number" and "Show All Numbers" ??
thank you..
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
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

0 votes

where i must paste this code?

1 Comment

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

0 votes

please help me, i have not enough english for matlab help doc. Matlab is international, isn't it ?

3 Comments

Most of the MATLAB Answers volunteers are employed and can only answer in their spare time.
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.
ok. i am sorry , i didn't know :(

Sign in to comment.

Özgür Karagülle
Özgür Karagülle on 24 May 2012

0 votes

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

Oleg Komarov
Oleg Komarov on 24 May 2012
As you can see, now it's hard to understand which of Walter's comments this answer coprresponds to.
this one =
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
Image Analyst
Image Analyst on 25 May 2012
That's not the right way to use inputdlg() - see the help for the correct way.
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!