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

GUI Variablen an Uitable übergeben-

 

texticus
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 27.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.06.2012, 19:29     Titel: GUI Variablen an Uitable übergeben-
  Antworten mit Zitat      
Ich habe zwei GUIs. Eine Haupt GUI und eine , die ich öffne, um Variablen einzugeben und mit einem Button zu bestätigen.
Ich habe in der Haupt-GUI eine Uitable erstellt, in der die Variablen dann eingefügt werden sollen, wenn ich in der anderen GUI bestätigen drücke. Die Tabele soll fortlaufend beschrieben werden ohne die alten Werte zu löschen. Also ich drücke bestätigen bei der anderen GUI und daraufhin sollen die Variablen zu der Haupt-GUI in die Tabelle übertragen werden. Wenn ich jetzt die Variablen ändere und wieder bestätigen drücke, sollen diese Variablen dann in einer neuen Spalte in der Haupt GUI Tabelle niedergeschrieben werden.
Ich würde die Tabelle auch gerne mit einem Button abspeichern als xml.

Meine Frage ist, wie ich diese Variablen direkt in die Tabelle bekomme und auch weiterführend die Tabelle beschreiben kann und abschliessend in der Haupt GUI dann auch abspeichern kann. Ich würde die Variablen gerne als Matrix abspeichern und dann diese Matrix ins Uitable übergeben.
Hat da jemand ne idee?

Anbei mal mein Versuch..(leider kommt, wenn ich auf den Bestätigen Button drücke, die Fehlermeldung Attempt to reference field of non-structure array.

Error in geometriedaten>ok_Callback (line 449)
d = str2double(get(handles.d_string,'String'));
Code:


%Auslesen der geometriedaten

d      = str2double(get(handles.d_string,'String'));
hs1    = str2double(get(handles.hs1_string,'String'));
hs2    = str2double (get(handles.hs2_string,'String'));
bs1 = str2double(get(handles.bs1_string,'String'));
bs2 = str2double(get(handles.bs2_string,'String'));
phi1    = str2double(get(handles.phi1_string,'String'));
phi2   = str2double(get(handles.phi1_string,'String'));
l     = str2double(get(handles.l_string,'String'));

%Zusammenfassen
schnecke = [d, l, hs1, hs2, bs1, bs2, phi1, phi2];

%in Variable speichern
setappdata(0 , 'schnecke', schnecke);
 

danke.
Private Nachricht senden Benutzer-Profile anzeigen


texticus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 27.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2012, 14:01     Titel:
  Antworten mit Zitat      
Habe es jetzt wenigstens geschafft, dass setappdata funktioniert und ich die einzelnen Variablen in einer Matrix speicher.
Leider funktioniert es nicht wenn ich die Main GUI starte und dann mit einem Button die SUB GUI aufrufe und dann dort auf bestätigen klicke. NUr wenn ich die SUb GUI aufrufe und dann dort bestätigen klicke.. Woran liegt das?

Hat jemand einen Hinweis, wie ich mit getappdata die Matrix in die Tabelle in der Haupt-GUI einlese wenn ich auf den Bestätigen Button klicke? Ich würde auch gerne, wenn jeweils der Button gedrückt wird, permanent Zahlenwerte in die Tabelle einlesen ( immer dann in eine neue Spalte)
Kann mir da jemand einen Hinweis geben? Ich bedanke mich dafür im Voraus.

Hier mal de Code wenn man auf den Bestätigen Button in der Sub GUI klickt:

Code:
%Auslesen der Schneckengeometriedaten



dd      = get(handles.d_string,'String');
hs1d    = get(handles.hs1_string,'String');
hs2d    = get(handles.hs2_string,'String');
bs1d = get(handles.bs1_string,'String');
bs2d = get(handles.bs2_string,'String');
phi1d    = get(handles.phi1_string,'String');
phi2d   = get(handles.phi1_string,'String');
ld= get(handles.l_string,'String');




%Umwandeln von Strings in Zahlenwerte

d      = str2num(dd);
hs1   = str2num(hs1d );
hs2    = str2num(hs2d);
bs1 = str2num(bs2d );
bs2 = str2num(phi1d);
phi1    = str2num(phi1d);
phi2  = str2num(bs2d);
l= str2num(ld);


%Zusammenfassen
schnecke = [d, l, hs1, hs2, bs1, bs2, phi1, phi2];

%in Variable speichern
setappdata(0,'schnecke',schnecke)

% In Tabelle schreiben

table= getappdata(0,handles.geometriedatentabelle, 'schnecke');
Private Nachricht senden Benutzer-Profile anzeigen
 
texticus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 27.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.06.2012, 15:17     Titel: etwas weiter gekommen...
  Antworten mit Zitat      
Ich habe jetzt mal das Inet abgesucht...

Und hab erfahren, dass ich den Counter handles.cnt=1 in der opening Funktion der GUI schreiben soll.

Und bei der Push-Button Funktion dann sowas ähnliches:

Code:
   sc = [d, l, hs1, hs2, bs1, bs2, phi1, phi2];

mat=zeros(10,8);
for cnt=handles.cnt;
mat(cnt,1:length(sc))=sc % here i want to write the vektor into the zero matrix
cnt=cnt+1;%increment the counter
end



Leider wird sc immernoch nicht in die Nullmatrix geschrieben, bei betätigen des Buttons
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.