필터 지우기
필터 지우기

Store and Retrieve simple text box content using GUI

조회 수: 2 (최근 30일)
ahmed obaid
ahmed obaid 2016년 3월 15일
댓글: Adam 2016년 3월 16일
Dear users
I have a question about store and retrieve IDs and names by using matlab , following my simple GUI and there are only two (text box 1 , text box 2) when i entered some authors names along with its ids ,
then for search purpose I need to enter only the ID then when i press search will retrieve the name correspond to that id , is there any way to do that i will thank any one can help me in this manner ..

채택된 답변

Adam
Adam 2016년 3월 15일
편집: Adam 2016년 3월 15일
doc containers.map
should help with this if your IDs are not guaranteed to be contiguous and starting from 1. There are examples in the help and using numeric indices is very easy anyway. It has the advantage over an array that your indices can be any numeric (or string) value.
If you are struggling with the underlying GUI aspect of it then that is a different matter, but a containers.Map object should work well to store all your data, assuming IDs are unique which seems a safe assumption given you are searching based on them.
  댓글 수: 4
ahmed obaid
ahmed obaid 2016년 3월 15일
Sir , first option its appropriate for me , i reading container documentation now , i need just William staling indexing with 1 , John Makin indexing with 2 ... so on , for search i changed to simple retrieve when i enter number 1 in (text box 3) then William Staling is shown in text box 2 ? i will thank you if you have simple code can do that , i'm newbie to matlab and i need this work for my school duties
Adam
Adam 2016년 3월 16일
In your openingFcn you should declare the map - e.g.
handles.mappings = containers.Map;
Then in your 'Add' callback you simply do something like:
id = str2double( get( handles.editId, 'String' ) );
name = get( handles.textName, 'String' );
handles.mappings( id ) = name;
guidata( hObject, handles );
In your search callback something like:
id = str2double( get( handles.editId, 'String' ) );
name = handles.mappings( id );
set( handles.textName, 'String', name );
That is a rough and ready untested example of the type of code that is needed. To be robust you need to do a check using isKey( ) on the map before trying to retrieve the name from the mappings because if the key does not exist within the map you will get an error. If you test for the key then you can use
doc errordlg
for example to present a relevant message to the user.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by