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

Callback eines edit-Fensters

 

Falko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2008, 13:51     Titel: Callback eines edit-Fensters
  Antworten mit Zitat      
Hallo! Folgendes Problem habe ich: Im edit-Fenster wird eine Zahl eingegeben. In Callback-Function wird diese eingelesen:

function edit_L12_Callback(hObject, eventdata, handles)
L12=get(handles.edit_L12,'String');

Wie kann ich diesen Wert anschließend durch 2 teilen und dann als Text speichern, bzw. später das Ergebnis als Text ausgeben?

Vorab schon mal vielen Dank!!!


dabauer82
Forum-Century

Forum-Century



Beiträge: 184
Anmeldedatum: 21.03.08
Wohnort: ---
Version: R2008a, R2010b
     Beitrag Verfasst am: 07.04.2008, 14:41     Titel:
  Antworten mit Zitat      
Du musst den string in eine Zahl umwandeln str2num() -> rechnen, dann wieder in string uwmandeln mit num2str und dann ausgeben lassen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Falko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2008, 12:18     Titel:
  Antworten mit Zitat      
Danke, ich werde das dann mal austesten
 
Falko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 07:54     Titel: Fehlermeldung, wenn keine Eingabe in edit-Fenster
  Antworten mit Zitat      
Hallo, nun habe ich leider noch das Problem, dass ich eine Fehlermeldung bekomme, wenn ich in ein leeres EDIT-Fenster nichts eintrage. In der dazugehörigen Callback-Fkt. wird der String an handles übergeben und später in einen Textteil eingefügt. Von dort kommt dann die Meldung: Reference to non-existent field 'edit_2'. Was kann ich machen?
 
dabauer82
Forum-Century

Forum-Century



Beiträge: 184
Anmeldedatum: 21.03.08
Wohnort: ---
Version: R2008a, R2010b
     Beitrag Verfasst am: 11.04.2008, 08:53     Titel:
  Antworten mit Zitat      
ich habe ein textfeld dessen tag lautet edit_bla, über folgende zeile kann ich den string auslesen und in eine zahl umwandeln...

Code:
Zahl = str2num(get(handles.edit_bla,'String'));


grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.04.2008, 09:30     Titel:
  Antworten mit Zitat      
Moin Falko,

ich würd das so lösen, dass in dem edit-Fenster standardmäßig eine Zahl eingestellt ist (z.B. 0). Dann kann Matlab rechnen und rechnen und wird auch weiterhin 0 bekommen (solange nix addiert wird Wink ) und so sollte es ja auch sein, oder?

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Falko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 09:44     Titel:
  Antworten mit Zitat      
@ Alex: Meinst du etwa so "set(handles.edit_1,'String', '0') ?

oder direkt über den Property Inspector in das String-Feld?

Gruß, Falko
 
Falko

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2008, 09:59     Titel:
  Antworten mit Zitat      
Auch wenn ich z.B. eine 0 standardmäßig im EDIT-Fenster stehen habe, muss ich erst mit der Maus ins Fenster klicken und Enter drücken, damit der Wert erkannt wird. Sonst kommt wieder die Fehlermeldung Sad
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.04.2008, 10:01     Titel:
  Antworten mit Zitat      
Jain, ich hab das bei mir so gelöst, das ich ziemlich am Anfang meines Quelltextes folgendes geschrieben hab:
Code:
handles.edit_1 = 0;

Dazu habe ich dann zur Visualisierung auch den String im edit-Feld auf 0 gesetzt, so wie du das machen willst.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Falko
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 11.04.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 11.04.2008, 10:15     Titel:
  Antworten mit Zitat      
Ja Alex, so hatte ich es auch schon. Aber wie ich schon geschrieben habe, muss man das Fenster mit Enter bestätigen. Sonst wird bei mir wegen des fehlenden Wertes "rumgemeckert". Confused
_________________

Grüße, Falko
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.04.2008, 10:25     Titel:
  Antworten mit Zitat      
Dann solltest du vorher ALLE handles.xx auf 0 setzen, die von diesem Wert abhängen.
Bzw. sollten vor der ersten Callback generell alle handles.xx die in den verschiedenen Callbacks belegt werden, schon vorher definiert sein. Dann kommt es auch nicht zu dem Fehler: "Reference to non-existent field 'xx'".
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Falko
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 11.04.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 11.04.2008, 11:39     Titel:
  Antworten mit Zitat      
Also ich habe jetzt drei m-fiels angelegt, Nr.1 legt die Anfangswerte der Variablen fest (z.B. handles.001='0') und öffnet dann die 2. m-file welches das GUI mit den Edit-Fenstern und den Callbacks beinhaltet. Von der GUI-Oberfläche starte ich über einen Button die 3. m-file, die mir die Werte der EDIT-Fenster ausgeben soll und in eine Datei schreibt. Wenn im GUI keine Werte eingegeben werden, sollten die handles der 1. m-file geschrieben werden.
Warum kommt jetzt: "??? Undefined variable "handles" or class "handles.Bu1x".", wenn ich auf den Ausgabe-Button drücke?
_________________

Grüße, Falko
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 11.04.2008, 12:10     Titel:
  Antworten mit Zitat      
Hmmmm,
ich vermute, dass die handles aus dem ersten .m-file nicht (richtig) an das zweite übergeben werden, bzw. vom 2. nicht (richtig) an das 3.
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Falko
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 55
Anmeldedatum: 11.04.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 11.04.2008, 12:34     Titel:
  Antworten mit Zitat      
Also ich habe jetzt die Definition der Anfangswerte in die Opening-Function geschrieben und jetzt klappt es Razz
_________________

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