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

Werte in GUI zwischenspeichern

 

Gast2010

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2010, 14:44     Titel: Werte in GUI zwischenspeichern
  Antworten mit Zitat      
Hallo Zusammen...

ich versuch gerade meine erste GUI zu erstellen und komme bei einer einfachen Sache nicht weiter:

zuerst lade ich ein Bild in meine GUI, dass klappt auch ganz gut. Anschliessend lasse ich eine Funktion ueber das Bild laufen so dass ich ein paar Output werte zurueck bekomme. Nun moechte ich diese Output werte zwischenspecihern um sie in einer anderen Funktion innerhalb der GUI zu verwenden. Ich versuch es in dem ich "set" verwende:


Code:
set(handles.A_log,'Value', A_log);


oder auch

Code:
set(handles.text,'String',FileName);


Allerdings bekomme ich folgende Fehlermeldung zurueck:
??? Reference to non-existent field 'text'

Muss ich handles.text vorher defenieren oder...???


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.10.2010, 21:55     Titel: Re: Werte in GUI zwischenspeichern
  Antworten mit Zitat      
Hallo Gast2010,

Zitat:

Code:
set(handles.A_log,'Value', A_log);
set(handles.text,'String',FileName);



Mit dem SET-Befehl kann man die Eigentschaften eines Handle-Graphic-Objekts setzen. Wenn "handles.text" z.B. der Handle eines UICONTROLs wäre, würde der Befehl den FileNamen als String darin erscheinen lassen.
Wenn aber "handles.text" noch gar nicht definiert wurde, kann man auch nicht per SET darauf zugreifen.

Deine Problembeschreibung klingt so, als liesse sie sich gut mit SETAPPDATA und GETAPPDATA lösen. Schau Dir doch mal die DOCs dazu an.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 11.10.2010, 22:13     Titel:
  Antworten mit Zitat      
Hallo,

die einfachste Lösung ist die Werte mit in die handles Struktur zu speichern und dananch die handles Struktur als Application data zu speichern (was Jan schon meinte). Dies geht auch ohne set- und getappdata mit:
Code:

output = rand(10); % deine Output Werte

handles.output = output; % Erzeugt neues Feld 'Output' in der handles Struktur und speichert darin die Werte von Output

guidata(hObject,handles); % diese Zeile muss am Ende des Callbacks stehen in dem du das Output Feld in die handles Struktur einfügst, damit du Werte von handles.output auch in anderen Funktionen innerhalb des Guis verwenden kannst  
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.10.2010, 22:40     Titel:
  Antworten mit Zitat      
Hallo Sco,

stimmt genau. Für einen Anfänger ist GUIDATA eine Vereinfachung.

Wenn man in GUIDATA reinschaut ("edit guidata"), sieht man, dass es nur ein kleiner Wrapper für die Befehle GETAPPDATA und SETAPPDATA ist.

Gruß, Jan

Zuletzt bearbeitet von Jan S am 11.10.2010, 23:38, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 11.10.2010, 22:59     Titel:
  Antworten mit Zitat      
Hallo Jan

Danke für die Info, wusste ich noch nicht! Aber da der Threadopener laut:
Zitat:

ich versuch gerade meine erste GUI zu erstellen

ein Anfänger zu sein scheint, war mein Tipp wohl nicht wertlos Smile. Es ist am Anfang wohl einfacher zu sagen, setzte diese Zeile unter jeden Callback, als App.data bst. Objekten zuzuordnen (jedenfalls war es bei mir so).

MFG

Sco
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.