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

Wert aus GUI1 in GUI2 per buttonclick übergeben

 

SOFIA
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2012, 23:48     Titel: Wert aus GUI1 in GUI2 per buttonclick übergeben
  Antworten mit Zitat      
Hallo alle zusammen,

ich bin neu hier und stehe gerade vor einem, für mich scheinbar unlösbaren Problem, da dies mein erster Kontakt mit Matlab ist. Ich weiss, es gibt zu diesem Thema schon einige Einträge/Tutorials, die ich mir auch schon angeschaut habe, nur bin ich bis jetzt aus keinem schlau geworden. Zu meinem Problem:

Ich habe eine GUI "Calculator" und eine GUI "TVC_Main_Panel". Der Calculator wird in der Function "TVC_Main_Panel_OpeningFcn" mit dem Befehl "Calculator" aufegrufen, sd. beide GUI's beim ersten Aufruf von "TVC_Main_Panel" geöffnet sind. Im "Calculator" können nun einige Berechnungen ausgeführt werden. Das Ergebnis davon steht immer im Textfeld "edit2". Dies funktioniert auch soweit, nur möchte ich das Ergebnis aus "edit2" per Click auf "pushbutton2" von "Calculator" ins Textfeld "edit1" in der GUI "TVC_Main_Panel" übergeben. Ich habe schon einiges ausprobiert, aber nichts hat mich bis jetzt weitergebracht. Vielleicht handelt es sich dabei nur um ein triviales Problem und ich komme nur nicht auf die richtige Spur, aber könntet ihr mir da eventuell weiterhelfen, da ich mit meinem Latein am Ende bin!!!

Vielen Dank im Voraus!!
SOFIA
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.07.2012, 07:58     Titel:
  Antworten mit Zitat      
Hallo,

die Frage ist, wie komplex das insgesamt werden soll.
Hier sollte folgendes reichen:

- übergebe der zweiten GUI das Handle auf die erste GUI.
(das wird dann in der openingfcn der zweiten GUI verfügbar sein)
- hole dir mit GUIDATA die Handles-Struktur der ersten GUI.
- überschreibe mit SET das gewünschte edit-Feld

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2012, 19:56     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für die rasche Antwort. Nur ist hat das mein Problem leider noch nicht ganz gelöst! Ich habe nun mal ein Beispielprogramm geschrieben, welches ebenfalls 2 GUI's (test1 & test2) enthält. Auf test1 befindet sich ein Ausgabe-Textfeld und ein Button, der test2 öffnet. Auf test2 befindet sich ein Eingabe-Textfeld und ebenfalls ein Button, der Einträge im Textfeld per click an die Ausgabe an test1 schickt. Das hat bis jetzt auch alles wunderbar funktioniert, das einzige, was jetzt noch fehlt, ist, dass ich zwar test2 über den Button einmal öffnen kann, nur wenn ich test2 schließe kann ich es kein zweites mal über den Button auf test1 öffnen und bekomme eine Fehlermeldung. Ich habe jetzt mal meinen bisherigen Quellcode angehängt. Kann mir da vielleicht noch jemand helfen, wie ich test2 beliebig oft nach dem Schließen per Buttonclick auf test1 öffnen kann!!!

Viele Dank!!
SOFIA

test2.fig
 Beschreibung:

Download
 Dateiname:  test2.fig
 Dateigröße:  2.15 KB
 Heruntergeladen:  332 mal
test1.fig
 Beschreibung:

Download
 Dateiname:  test1.fig
 Dateigröße:  2.14 KB
 Heruntergeladen:  343 mal
test2.m
 Beschreibung:

Download
 Dateiname:  test2.m
 Dateigröße:  5.84 KB
 Heruntergeladen:  348 mal
test1.m
 Beschreibung:

Download
 Dateiname:  test1.m
 Dateigröße:  4.91 KB
 Heruntergeladen:  338 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.07.2012, 08:33     Titel:
  Antworten mit Zitat      
Hallo,

Zeile 103 in test1.m abändern in:
Code:
if ~isfield(handles,'test2') || ~ishandle(handles.test2)


So wird nicht nur getestet, ob das Feld existiert, sondern auch ob es auf ein gültiges Objekt verweist.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 23.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2012, 17:48     Titel:
  Antworten mit Zitat      
Hallo,

klasse, jetzt funktioniert es!!! Vielen Dank für die Mühe!!!

Grüße,
SOFIA
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.