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

Textfelder in globale Variable schreiben

 

Schlippi
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2013, 11:17     Titel: Textfelder in globale Variable schreiben
  Antworten mit Zitat      
Hallo Matlab-Gurus,

ich bräuchte noch einmal eure Hilfe. Ich möchte mit Matlab eine Kundenliste erstellen. Das bedeutet genau, ich habe eine GUI mit mehreren Textfeldern.

Textfeld1: Firmenname
Textfeld2: Vorname
Textfeld3: Nachname
usw.

Wenn ich auf einen Button drücke sollen die Eingaben aus den Textfeldern in einer Variable geschrieben werden, die ich später speichern kann.

In dieser Form:

Code:


function pb_kundenerst_Callback(hObject, eventdata, handles)

global Kunde
Kunde(1,1) = {get(handles.edit_firmename,'String')};
Kunde(1,2) = {get(handles.edit_vorname,'String')};
Kunde(1,3) = {get(handles.edit_nachname,'String')};

 


so funktioniert das aber leider nicht.

Wie muss ich bei der Variable vorgehen? Ist das eine Cell-Variable, oder eine Char-Variable? Was würdet ihr mir empfehlen?




Fehlercode:
The following error occurred converting from cell to double:
Error using double
Conversion to double from cell is not possible.

Error in test_Kundeneingabe>pb_kundenerst_Callback (line 126)
Kunde(1,1) = {get(handles.edit_firmename,'String')};

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in test_Kundeneingabe (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in
@(hObject,eventdata)test_Kundeneingabe('pb_kundenerst_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback
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.06.2013, 11:23     Titel: Re: Textfelder in globale Variable schreiben
  Antworten mit Zitat      
Hallo Schlippi,

Vielleicht hilft dies:
Code:
function pb_kundenerst_Callback(hObject, eventdata, handles)

global Kunde
Kunde = {get(handles.edit_firmename,'String'), ...
              get(handles.edit_vorname,'String'), ...
              get(handles.edit_nachname,'String')};
 

Ich rate von der Verwendung von globalen Variablen grundsätzlich ab. Es kann das Debuggen heftig behindern.
Die Daten per GUIDATA-Befehl im GUI zu speichern wäre deutlich sicherer und klarer.

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

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 01.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2013, 11:32     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnelle Antwort. Leider hilft mir das nur bedingt weiter. Ich würde die Kundenvariable gerne abspeichern und später wieder laden. Nach dem Laden sollen die neuen Kunden unter die schon vorhandenen geschreiben werden und ich möchte die Kundendaten später auch nutzen und darauf zugreifen können. Das funktioniert nur, wenn ich den Ort in der Variable genau bestimmen kann.

Hättet ihr einen Vorschlag für mich, wie ich das dann machen kann?

P.S. Ich habe nur gelernt mit globalen Variablen zu arbeiten. Wie geht das mit dem GUIDATA-Befehl?
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: 11.06.2013, 11:41     Titel:
  Antworten mit Zitat      
Hallo,

die Informationen dazu findest du in der Hilfe von guidata. Dort ist auch eine schöne Übersichtsseite verlinkt, wie man Daten in einer GUI sinnvoll ablegen kann.
http://www.mathworks.com/help/matla.....-data-in-a-guide-gui.html
Meine persönlichen Favoriten sind 'UserData' (für eine einzige Variable pro GUI-Element) oder 'Application Data'.

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