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

Pop-up Menü Dynamisch erweitern

 

Robo SSC-32
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.09.09
Wohnort: Ulm
Version: R2008a
     Beitrag Verfasst am: 19.11.2009, 13:00     Titel: Pop-up Menü Dynamisch erweitern
  Antworten mit Zitat      
Hallo Matlab Gemeinde Very Happy ,

ich steh wiedermal vor einem Problem, bei dem ich momentan nicht weiter voran komme und bin deswegen auf Hilfe angewiesen.

Das Problem ist folgendes:
Momentan können über ein pop-up menü unterschiedliche 'Variablen' ausgewählt werden die dann in den Workspace geladen werden. Der Code selber sieht z.B wie folgt aus:
Code:

function popupmenu6_Callback(hObject, eventdata, handles)

str = get(hObject, 'String');
val = get(hObject,'Value');


switch str{val};

case 'Variable1'
% hier wird jetzt eine funktion aufgerufen
getData(Variable1);
case 'Variable2'
% hier wird ebenfalls die gleiche funktion aufgerufen
getData(Variable2);
end;
% bei den case verzweigungen werd jeweils die gleich funktion aufgerufen mit der 'case' Variablen als Parameter
 



So jetzt kommt der schwierige Teil, also das eigentliche Problem. Jetzt soll der User der GUI aber auch selber weitere 'Varialben' erstellen können diese abspeichern (bis hier alles ok) und dann !! über das pop-up menü auswählen und damit arbeiten können !!
Das jetzt der Vaiablenname im pop-up menü erscheint denk ich is nicht das große Problem sondern im code die erweiterung
Code:

case 'neueVariable'

getData(neueVariable);

so dass auch die Variable in den Workspace geladen werden kann...

So... ist sowas eigentlich überhaupt möglich oder verirre ich mich in Bereichen die eine Sackgasse sind?
Shocked

Vielen Dank schon mal im vorraus!
Grüße
_________________

Wartet mal...
Ich geh schnell Klebeband holen um die Metallstangen zusammen zu leimen.
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 19.11.2009, 13:20     Titel:
  Antworten mit Zitat      
Hallo,

ich denke, der switch-Block ist hier doch unnötig,
oder dürfen nicht alle Variablen aus Popup geladen werden?

so hätte ich es mir vorgestellt:
Code:

function popupmenu6_Callback(hObject, eventdata, handles)

str = get(hObject, 'String');
val = get(hObject,'Value');

getData(eval(str{val}));
 


sonst musst du in handles die Liste mit erlaubten Variablen führen,
und diese dann bei der Erstellung neuer Variablen erweitern.

Code:

function popupmenu6_Callback(hObject, eventdata, handles)

str = get(hObject, 'String');
val = get(hObject,'Value');

if any(strcmpi(handles.hier_liste_variablen, str{val}))
  getData(eval(str{val}));
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Robo SSC-32
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 16.09.09
Wohnort: Ulm
Version: R2008a
     Beitrag Verfasst am: 19.11.2009, 14:11     Titel:
  Antworten mit Zitat      
Hi denny,

dankeschön Very Happy
Das ist mal wieder ein sehr guter Tip von dir Cool
Ich werd das gleich mal ausprobieren und in die Tat umset zten Wink

gruß
_________________

Wartet mal...
Ich geh schnell Klebeband holen um die Metallstangen zusammen zu leimen.
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 - 2024 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.