Filter löschen
Filter löschen

Store and Retrieve simple text box content using GUI

2 Ansichten (letzte 30 Tage)
ahmed obaid
ahmed obaid am 15 Mär. 2016
Kommentiert: Adam am 16 Mär. 2016
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 ..

Akzeptierte Antwort

Adam
Adam am 15 Mär. 2016
Bearbeitet: Adam am 15 Mär. 2016
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 Kommentare
ahmed obaid
ahmed obaid am 15 Mär. 2016
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 am 16 Mär. 2016
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by