WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Dynamischer Variablenname

 

Kenny051990
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 13.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 11:30     Titel: Dynamischer Variablenname
  Antworten mit Zitat      
Hallo,

ich würde gerne aufgrund der Auswahl des Anwenders bestimmte popupmenus abfragen.

Da der Anwender sehr viele Popupmenus erstellen kann, würde ich die Abfrage gerne dynamisch machen. Die Tags meiner popupmenu heißen
popupmenu1, popupmenu2... standart eben.
Die Nummern am Ende würde ich gerne dynamisch erstellen, je nach dem welche popupmenus sichtbar sind.

Allerdings funktioniert die Abfrage mit strcmp dann nicht mehr.
Ich bräuchte also eine Lösung für:
Code:


get(handles.('popupmenu' num2str(m))

 



Code:
%

function WeiterTag_Callback(hObject, eventdata, handles)
% hObject    handle to WeiterTag (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
if strcmp(get(handles.popupmenu5,'Visible'),'off')
    count = 2;
elseif strcmp(get(handles.popupmenu9,'Visible'),'off')
    count = 3;
elseif strcmp(get(handles.popupmenu13,'Visible'),'off')
    count = 4;
elseif strcmp(get(handles.popupmenu17,'Visible'),'off')
    count = 5;
elseif strcmp(get(handles.popupmenu21,'Visible'),'off')
    count = 6;
elseif strcmp(get(handles.popupmenu25,'Visible'),'off')
    count = 7;
elseif strcmp(get(handles.popupmenu29,'Visible'),'off')
    count = 8;
else
    count=8;
end
for m=2:count
       
    if  strcmp(get(handles.('popupmenu' num2str(m)),'String'),'Schonend')
        FW=1;
.
.
.
.
.

 


Hat mir jemand einen Tip? - Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2013, 12:16     Titel:
  Antworten mit Zitat      
Hallo,

das Verketten hat gefehlt:

Code:
get(handles.(['popupmenu' num2str(m)])

Hilft das schon weiter?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kenny051990
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 13.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 12:28     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für die Antwort, deine Lösung klappt. Habe grade auch noch eine zweite Lösung gefunden:

Code:
%
if  strcmp(get(handles.(cat(2,'popupmenu',num2str(m))),'String'),'Schonend')


Allerdings war mir nicht klar das dieser Befehl den ganzen String nach 'Schonend' durchsucht, ich dachte eigentlich, dass nur das ausgewählte abgefragt wird.

Als Antwort bekomme ich nämlich ein Array, da ich 6 Auswahlmöglichkeiten habe:

ans =


0
1
0
0
0
0

Bräuchte aber eine Abfrage auf das ausgeählte....
Private Nachricht senden Benutzer-Profile anzeigen
 
Kenny051990
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 13.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.11.2013, 12:32     Titel:
  Antworten mit Zitat      
Ok auch dafür gibt es eine Lösung. Habs gefunden:

Code:
%


idx = get(handles.popupmenu1, 'Value');
str= get(handles.popupmenu1, 'String');

switch char(str(idx))
    case('test')
        ...
    ...
    otherwise
        ...
end;

 


Danke für deine Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.