Add Value to GUI

2 次查看(过去 30 天)
Özgür Karagülle
Özgür Karagülle 2012-5-24
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

采纳的回答

Image Analyst
Image Analyst 2012-5-25
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

更多回答(4 个)

Matt Kindig
Matt Kindig 2012-5-24
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 个评论
Özgür Karagülle
Özgür Karagülle 2012-5-24
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 2012-5-24
vals = inputdlg('Phone book', 'name', 'number', 'address');
Phone(ii).name = vals{1};
...

请先登录,再进行评论。


Özgür Karagülle
Özgür Karagülle 2012-5-24
where i must paste this code?
  1 个评论
Walter Roberson
Walter Roberson 2012-5-24
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

请先登录,再进行评论。


Özgür Karagülle
Özgür Karagülle 2012-5-24
please help me, i have not enough english for matlab help doc. Matlab is international, isn't it ?
  3 个评论
Oleg Komarov
Oleg Komarov 2012-5-24
@Ö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 2012-5-24
ok. i am sorry , i didn't know :(

请先登录,再进行评论。


Özgür Karagülle
Özgür Karagülle 2012-5-24
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 个评论
Image Analyst
Image Analyst 2012-5-25
That's not the right way to use inputdlg() - see the help for the correct way.
Walter Roberson
Walter Roberson 2012-5-25
vals = inputdlg({ 'name', 'number', 'address'},'Phone Book');

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB Mobile 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by