Reading multiple editable text boxes and writing them into a single array

조회 수: 2 (최근 30일)
So for a project that I am doing that requires programmatic GUI development, I am trying to write a program that can read single letter inputs from multiple editable text boxes and put them into an array to be used later on. I found some code posted by Walter Roberson in 2013 that successfully created the boxes using a for loop, but I am running into errors with the part that compiles them into an array.
Here is the part that creates the text boxes:
np1 = 5;
editp1 = zeros(np1,1);
for K = 1:np1
editp1(K) = uicontrol( 'Style', 'edit', 'Units', 'normalized', 'Position', [(0.1+((K-1)*0.04)) 0.7 0.04 0.07]);
end
and here is the part that is supposed to read the inputs and put them into an array:
p1vals = cell(np1,1);
for K = 1 : np1
p1vals{1i} = get(editp1(K), 'String' );
end
When i run the code with these in place, it gives an error stating: "Array indices must be positive integers or logical values." and each cell just has "[]" in it.
For reference, I only need to read the inputs when i push a button on the GUI. Would the second block of code go in a callback function? And if so, what would that look like (on both the button's line of code and the callback function itself)

채택된 답변

VBBV
VBBV 2021년 3월 30일
편집: VBBV 2021년 3월 30일
p1vals{K} = get(editp1(K), 'String' );
Why do you like to use complex variable,1i as cell array index, p1vals ?
  댓글 수: 1
Jack Georege
Jack Georege 2021년 3월 30일
Ok yeah that's my own fault, I'm very new to this and it's just leftover from what i copied over from the previous code. This got rid of the error, so thank you on that front.
However as to the second part of my question, How would I use this code to make it update the array p1vals when i push a button?
Thanks for the quick reply btw

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by