MATLAB Answers

How to pull edit box string from uicontrol

85 views (last 30 days)
Meaghan
Meaghan on 30 May 2013
Answered: LO on 31 May 2019
Hi all,
Having trouble getting the program to recognize the text entered by the user. It reads as empty because that is what is first called. Tried using callback, but it gets messy when the uicontrol needs to be defined in the callback value and the callback value needs to be defined in the uicontrol.
Here's what I have:
[~, ~, read] = xlsread('C:\Users\mpaulosk\Desktop\Folder\prelim_gui.xls','Sheet1');
paramtext = vertcat(read(2,1))
descriptext = vertcat(read(2,2))
descripedit = vertcat(read(3,2));
paramedit = vertcat(read(8,1));
paramtext = uicontrol('Style', 'text', 'String', descriptext,...
'Position', [100 350 100 40]);
test = uicontrol ('Style', 'text', 'String', descripedit,...
'Position', [100 295 100 40]);
paramedit = uicontrol('Style', 'edit', ...
'Position', [200 375 100 20]);
edittest = uicontrol('Style', 'edit', ...
'Position', [200 320 100 20], 'Callback','helppppppp')
I can explain further if not clear. Thanks!

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 30 May 2013
edittest = uicontrol('Style', 'edit', ...
'Position', [200 320 100 20], 'Callback', @helppppppp);
Then
function helppppppp(hObject, event)
current_string = get(hObject, 'String');
Now that you have it, what do you want to do with it?

  1 Comment

Meaghan
Meaghan on 30 May 2013
Thank you!! I got it to work, now I'm writing it to another excel file, but I'm better with that.
Thanks again!

Sign in to comment.

More Answers (2)

Andrew Lanman
Andrew Lanman on 31 Aug 2018
@Walter Roberson Thank you, been looking for a solution to this issue for over a week now.

  0 Comments

Sign in to comment.


LO
LO on 31 May 2019
as an alternative, instead of using an external function
you could type
edittest = uicontrol('Style', 'edit', 'Position', [200 320 100 20], 'Callback', 'val=ea.String;');
with the edited text stored in "val". If you want to save the string as number just use val=str2num(ea.String).

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!