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

Variable mit String aus edit füllen.

 

ringo star
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2015, 12:09     Titel: Variable mit String aus edit füllen.
  Antworten mit Zitat      
Hallo zusammen. Ich habe ein Problem. Ich möchte eine Variable mit dem Inhalt eines Edit-feldes füllen und bekomme dauernd eine Fehlermeldung.
Bisher konnte ich in ähnlichen Themen keine Lösung finden die mir weitergeholfen hat also hier ein neues Thema:

Wenn ich folgenden Code eingebe:
Code:

s=str2num(get(handles.strecke,'String'));

(strecke ist der Tag meines Edit Feldes)

erhalte ich immer folgenden Fehler:

Reference to a cleared variable handles.

Error in Masterprojekt_1>pushbutton1_Callback (line 86)
s=str2num(get(handles.strecke,'String'));

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

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

Error in @(hObject,eventdata)Masterprojekt_1('pushbutton1_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating uicontrol Callback


Gebe ich den Code in den Callback des Editfeldes mit
Code:
s=str2num(get(hObject,'String'))

setzt er zwar die variable s mit dem entsprechenden inhalt. Problem ist jedoch das er nicht auf dieses s zurückgreifen kann, wenn ich es im callback des Buttons in einer formel verarbeiten möchte.

Ich hoffe mein problem ist halbwegs verständlich und ihr Könnt mir helfen. Vielen dank schonmal.

P.s.: Gibt es eine möglichkeit über einen code die eingabe der Editbox nur auf Normale und Gleitkommazahlen zu beschränken? Also keine buchstaben etc. Bei VBA geht das ja mittels der seperation von Ascii zeichen.
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: 14.12.2015, 13:19     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
erhalte ich immer folgenden Fehler:

Reference to a cleared variable handles.

Hast du mal einen Haltepunkt gesetzt und in den Workspace geschaut? Das entscheidende dürfte hier wohl der Code davor sein. Wird da am Ende ein clear all ausgeführt oder Code aufgerufen, der dies ausführt?

Zitat:
Problem ist jedoch das er nicht auf dieses s zurückgreifen kann, wenn ich es im callback des Buttons in einer formel verarbeiten möchte.

Wirklich im selben Callback? Das wäre sehr ungewöhnlich.

Zitat:
Gibt es eine möglichkeit über einen code die eingabe der Editbox nur auf Normale und Gleitkommazahlen zu beschränken?

Ich würde im Callback nach der Umwandlung mit str2num mit validateattributes arbeiten.

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

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 17.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.12.2015, 13:32     Titel:
  Antworten mit Zitat      
Hallo Harald.
Das clear all war der fehler danke! Funktioniert jetzt.

Zitat:
Zitat:
Gibt es eine möglichkeit über einen code die eingabe der Editbox nur auf Normale und Gleitkommazahlen zu beschränken?



Ich würde im Callback nach der Umwandlung mit str2num mit validateattributes arbeiten.


Da ich ein absoluter anfänger in Matlab bin, weiß ich nicht genau was du damit meinst. Ich möchte mit der reduktion verhindern, dass es eine Fehlerhafte eingabe gibt. Mit wärtern lässt sich ja bekanntlich schlecht rechnen. Oder gibt es da eine bessere möglichkeit, damit keine Fehler aufgrund der eingabe entsteht?!
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: 14.12.2015, 13:54     Titel:
  Antworten mit Zitat      
Hallo,

man kann meines Wissens keine fehlerhafte Eingabe verhindern. Jedoch kann man die Sinnhaftigkeit der Eingabe im Nachhinein überprüfen, und das könnte man mit validateattributes oder auch if-Abfragen machen.

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