Verfasst am: 27.08.2008, 06:47
Titel: Wertübernahme aus Untermenü OHNE Buttonbetätigung
nach endlosem überlegen habe ich mich entschlossen die frage hier ins forum zu schreiben. mein matlab-problem sieht folgendermaßen aus:
- ich habe mit "guide" ein hauptmenü und ein zugehöriges untermenü erstellt (also zwei verschiedene dateien).
- das untermenü berechnet einen wert, der in einem feld des hauptmenüs ausgegeben werden soll.
- ich hab im hauptmenü einen "..."-pushbutton eingerichtet, welcher nach betätigung das untermenü öffnet. dort gebe ich alle werte ein. dann betätige ich den dort eingerichteten "calculate"-pushbutton und dadurch wird die berechnung ausgelöst und das hauptmenü erneut aufgerufen.
- nun das problem: wie bekomme ich mein für den wert vorgesehenes feld im hauptmenü mit dem berechneten wert aktualisiert, ohne dass sich dafür irgend eine buttonbetätigung erforderlich macht? kann ich schon durch betätigen des untermenü-buttons eine wertübergabe in das hauptmenü machen oder gibt es noch andere lösungen. wie müsste die dafür benötigte syntax grob aussehen?
2. Möglichkeit - Dir ist der Tag oder der Name deines Textfeldes bekannt:
Code:
% in der calculate-Button-Callback: set(findobj('Tag','Ergebnis'),'String',num2str(ergebnis));
% oder: % set(findobj('Name','Ergebnisfeld'),'String',num2str(ergebnis));
Verfasst am: 27.08.2008, 07:49
Titel: Re: Wertübernahme aus Untermenü OHNE Buttonbetätigung
wenn ich das so mache, sagt er mir, dass das feld nicht existiert.
- das hauptmenü heißt "hauptmenue"
- das unterprogramm heißt: "schnellschlussventil2"
- das ergebnisfeld im hauptmenü heißt "calc_esv"
- der wert, der aus dem unterprogramm dort hinein soll ist in LWa gespeichert und soll direkt durch das betätigen des calc-buttons (deshalb schreibe ich es in dessen callback, das hab ich schon begriffen) im feld "calc_esv" des hauptmenüs erscheinen.
könntest du mir den code bitte idiotensicher auf mein beispiel basteln. sorry für diesen kindergarten, aber ich beschäftige mich noch nicht lange mit matlab und bin das erste mal in diesem forum aktiv.
das ist der code des pushbuttons im unterprogramm. es passiert leider gar nichts und es wird auch keine fehlermeldung ausgegeben. der wert im hauptmenü heißt weiterhin 0. muss ich nicht für 'Name' den verweis auf das hauptmenü setzen?
viele grüße. pfeili
Code:
% --- Executes on button press in pushbutton_berechnen. function pushbutton_berechnen_Callback(hObject, eventdata, handles) % hObject handle to pushbutton_berechnen (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Laden der Variable aus vorhergehendem Unterprogramm
kann es nicht sein, dass das programm in der ersten zeile zwar weiß, dass es nach dem objekt mit dem namen "erg" suchen muss, es aber nicht weiß in welchem m.file?
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
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.