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

Edit Felder beim Öffnen befüllen

 

Gebbi
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2010, 14:26     Titel: Edit Felder beim Öffnen befüllen
  Antworten mit Zitat      
Hallo,

ich habe für ein Projekt eine Eingabemaske als GUI erstellt. Diese besteht aus 2 Fenstern, die nacheinander abgearbeitet werden müssen. Ich will auch einen zurück- button realisieren, wobei das letzte fenster wieder geöffnet wird und in den editfeldern die werte stehen sollen, die schon einmal eingegeben wurden. Da ich die eingegebenen Werte weiter verwende, sind diese in einer *.mat Datei gespeichert und so über load.... wieder aufrufbar.
Meine Frage ist nun, wie ich die Werte wieder in die Edit Felder schreibe, wenn das GUI geöffnet wird. Ich habe es an verschiedenen Stellen mit dem set befehl probiert, jedoch hat es in den callbacks oder createfcn nirgendswo funktioniert. Würde mich über eure Hilfe freuen.

LG Eric Smile
Private Nachricht senden Benutzer-Profile anzeigen


josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 24.07.2010, 15:15     Titel:
  Antworten mit Zitat      
Eine möglichkeit wäre mit:
Code:


die Werte zu speichern. Und dann beim callback funktion den edit füllen.
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Gebbi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2010, 15:26     Titel:
  Antworten mit Zitat      
danke erstmal.... die daten zu "transportieren" ist aber erstmal weniger mein Problem.
Habe noch ein bisschen probiert und gefunden das man im m FIle zum GUI in der OpeningFcn dieses belegen "vor " dem öffnen machen kann. Doch gleich tut sich ein anderes Problem auf.
ich habe die daten in einer .mat file gespeichert und habe zum probieren mit load(filename,variable) eine Variable in das erste Feld mit set( handle,'String', Variable) geschrieben, was auch wunderbar funktioniert hat, jedoch wenn ich dann alle Felder belegen will und mit load(filename) alles in den Workspace lade, bekomme ich beim ersten set, was vorher funktioniert hat, die Fehlermeldung "??? Error using ==> set
Invalid handle object."

Was mache ich verkehrt, da ich ja nur den load befehl ausgeweitet habe, aber nichts am handle verändert.
Möchte halt nicht jede Variable einzeln laden.

Eric
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: 24.07.2010, 16:35     Titel:
  Antworten mit Zitat      
Hallo Eric,

bitte poste den entsprechenden Code. Deiner Beschreibung nach dürfte der beschriebene Fehler nicht auftauchen. Also stimmt Deine Beschreibung nicht mit den Code überein.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gebbi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2010, 16:52     Titel:
  Antworten mit Zitat      
Code:
load ('all_input.mat','beta_T_R')
set(handles.edit1,'String',num2str(beta_T_R));


das funktioniert.

Code:
load ('all_input.mat')
set(handles.edit1,'String',num2str(beta_T_R));


funtioniert nicht. Dabei kommt der oben gepostete Fehler.... ich versteh es auch nicht.
Beim ersten ist halt nur die eine Variable geladen, beim zweiten der gesamte Workspace, also alle eingelesenen Vars, weil ich diese ja den anderen Feldern auch zuweisen will und nicht nur das eine siehe oben.

LG Eric
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 24.07.2010, 17:02     Titel:
  Antworten mit Zitat      
setze ein Breakpoint bei load Zeile und beim Debugen frag im Workspace nach handles.edit1. Wenn es unbekannt ist, dann musst du sie noch herrufen z.B. mit Tag-Eigenschaften.
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Gebbi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2010, 17:06     Titel:
  Antworten mit Zitat      
danke dir.... aber kannst mir bitte nochma posten wie man das macht. weil bin noch relativ neu was matlab angeht. danke Wink

LG Eric
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: 24.07.2010, 17:12     Titel:
  Antworten mit Zitat      
Hallo Gebbi,

Gebbi hat Folgendes geschrieben:

Code:
load ('all_input.mat')
set(handles.edit1,'String',num2str(beta_T_R));


Danke für diese schöne Beispiel!!!
LOAD ohne Ausgabe zu benutzen überschreibt alle Variablen imaktuellen Workspace. Ich vermute, Dein MAT-File enthält eine Variable "handles", die nach LOAD die Orginal-Werte überschreibt.

Die mit Abstand sicherere und zuverlässigere Lösung ist:
Code:
S = load ('all_input.mat')
set(handles.edit1, 'String', num2str(S.beta_T_R));


Ich werde gleich mal nachschauen, ob das in den FAQs schon beschrieben wird...

Gruß, Jan[/b]
Private Nachricht senden Benutzer-Profile anzeigen
 
josekamara
Forum-Meister

Forum-Meister


Beiträge: 529
Anmeldedatum: 26.04.08
Wohnort: München
Version: ---
     Beitrag Verfasst am: 24.07.2010, 17:15     Titel:
  Antworten mit Zitat      
In der m-file Datei wo der Code ist, steht in der linken Seite die Zeilennummer. Genau rechts von diesen Nummern gibts so Striche, da klickst du drauf dann wird ein roter Breakpoint erscheinen. Ansonsten kannst du auf die Zeile gehen, und dann aus dem MenüBar von der m-file gibt es so ein Icon sieht wie Skript mit keinem roten Punkt. Drauf klicken.
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Gebbi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 14.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2010, 17:24     Titel:
  Antworten mit Zitat      
Danke Jan, jetzt funktioniert es.... muss man erstmal wissen, aber wo du es sagst ist es natürlich logisch.

LG Eric
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.