How do I input data using GUI inside a loop?

I want to enable people to input several parameters, such as the number of headerlines, for each run inside the loop, by creating a simple GUI.
for i =1:200;
file = ['data' num2str(i) '.txt'];
if exist(file)==2;
h = uicontrol('style','pushbutton', 'callback', '');
N = get(h, 'String');
[a b] = textread(file, '%f %f %f', 'headerlines', N);
end;
end;
My question is, how do I program uicontrol, so that when people click the button, it will simply continue the program, rather than callback another m file?
Thank you.

 採用された回答

Matt Fig
Matt Fig 2011 年 3 月 22 日

1 投票

I would use an INPUTDLG here.
prompt = {'Enter the number of header lines:'};
name = 'Header lines..';
for i =1:200;
file = ['data' num2str(i) '.txt'];
if exist(file)==2;
N = inputdlg(prompt,name,1,{'1'});
% Now to turn NLINES from a cell, use:
N = N{1}
[a b] = textread(file, '%f %f %f', 'headerlines', N);
end
end
Although, as a user I would be bummed if I had to enter 200 header lines manually through a GUI each time through the loop. Perhaps it would be better to create a text file which has the number of header lines for each data file in it...

5 件のコメント

Liqing
Liqing 2011 年 3 月 22 日
Thank you very much for the help. It's great to learn a new function called INPUTDLG. It is surely much better than uicontrol here.
btw, I like your red neck avatar :-)
Matt Fig
Matt Fig 2011 年 3 月 22 日
That is funny! What is redneck about it, may I ask? Is it the flag? The picture was taken in a schoolroom, not out in a pasture ;-).
Liqing
Liqing 2011 年 3 月 22 日
The flag, the beard, and the big arms. I lived in the south for 7 years. I surely had fun with them. That said, red neck is a very positive word to me.
Red neck working on matlab is a cute thing :-)
Matt Fig
Matt Fig 2011 年 3 月 22 日
Haha, my mama would be proud...
Liqing
Liqing 2011 年 3 月 22 日
She surely should. Thank you again for the help. You are the best!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDebugging and Improving Code についてさらに検索

タグ

質問済み:

2011 年 3 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by