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

Eingabe des Editfeld an Pushbutton -Callback übergeben

 

Holla84
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 09:41     Titel: Eingabe des Editfeld an Pushbutton -Callback übergeben
  Antworten mit Zitat      
Guten Tag,

ich habe eine Oberfläche erstellt auf der ein Push-Button und ein Editfeld liegen. Über das Editfeld soll eine Eingabe gemacht werden die dann beim drücken des Buttons übernommen wird.

Editfeld=xxx damit wird L=xxx und nach dem drücken wird ein code gestartet bei dem die abfrage kommen soll ist L ungleich Q dann setzte Q=L.

Ich bekomme es aber irgendwie nicht hin das L zu übergeben. Nach starten des codes ist L unbekannt. Kann ich die function des Editfeld in die des Callbacks vom Button einbauen oder gibt es eine Übergabemöglichkeit.

Danke schon mal....
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: 18.06.2010, 09:53     Titel:
  Antworten mit Zitat      
stellt Dein Code ins Forum, dann wird es einfacher das Problem zu lösen.
_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 18.06.2010, 09:55     Titel:
  Antworten mit Zitat      
Meinst du es ungefähr so:

Code:

X=get(handles.Editfeld1,'String'); % Editfeld1 ist der Tag-Name vom Edit-Feld
L=str2double(X);
 

_________________

>> why
The computer did it.

Zuletzt bearbeitet von Maddy am 18.06.2010, 10:23, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 10:01     Titel:
  Antworten mit Zitat      
Ich stell mal einen Beispiel rein, da der Code sehr lang ist.

Code:
function t1_Callback(hObject, eventdata, handles)
% hObject    handle to t1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
Q=get(hObject,'String')
Q=cellstr(Q)
Q=str2num(Q{1})
 


Hier wird im Editfeld die Eingabe als Q (z.B. Q=123456789) dargestellt und soll dann in der nachfolgenden Function überprüft werden.

Code:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
if Q~=t1
    t1=Q;
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 10:05     Titel:
  Antworten mit Zitat      
Ich denke ein Problem ist, dass der Wert des Editfeldes mit ausführen einer neuen Aktion, also dem drücken des Pushbuttons gelöscht/überschrieben wird und dann kein Wert mehr vorhanden ist.
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: 18.06.2010, 10:17     Titel:
  Antworten mit Zitat      
ich verstehe nicht wozu CallBack funktion t1 gebraucht wird.
Maddy hat ein Beispiel dazu gestellt.

Du kannst innerhalb der Button Callback funktion die Abfrage direkt ausführen ohne den Edit CallBack funktion.



Code:

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
t1 = 23234;
Q = get(handles.t1,'String');
Q = str2double(Q);
if Q~=t1
    set(handles.t1,'String',t1);
end
 

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 10:31     Titel:
  Antworten mit Zitat      
Ja das stimmt, so würde es gehen. Aber mit dem drücken des Buttons wird das Editfeld gelöscht. Die Fehlermeldung zeigt ja dann das kein Wert mehr für das Editfeld vorhanden ist.

??? Reference to a cleared variable handles.

Error in ==> Start>pushbutton1_Callback at 110
Q =get(handles.t1,'String');

Also scheint das Problem wohl bei der Erhaltung des eingegebenen Wertes zu liegen... Confused
Private Nachricht senden Benutzer-Profile anzeigen
 
joanna
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 10:52     Titel:
  Antworten mit Zitat      
Soll dein Edit-Feld beim klicken auf den Button auch geleert werden?

Du solltest wohl doch deine Button Callback Fkt posten, damit man das Problem evtl gemeinsam lösen kann.
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: 18.06.2010, 10:56     Titel:
  Antworten mit Zitat      
hola,

hier anbei ist ein Beispiel zu finden. Ich hoffe dies hilft.

test4.m
 Beschreibung:

Download
 Dateiname:  test4.m
 Dateigröße:  4 KB
 Heruntergeladen:  520 mal
test4.fig
 Beschreibung:

Download
 Dateiname:  test4.fig
 Dateigröße:  2.66 KB
 Heruntergeladen:  548 mal

_________________

Simulation
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2010, 11:04     Titel:
  Antworten mit Zitat      
Ich muss leider los, aber ich werd mir das noch mal anschauen und mich dann melden...!!!

Danke schon mal für eure Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2010, 07:58     Titel:
  Antworten mit Zitat      
Guten Morgen josekamara,

erst einmal vielen Danke für die Mühe die du dir machst.

Habe deine gepostetes Beispiel mal angeschaut. Bei mir funktioniert es leider nicht.

Sieht aber ähnlich dem Anstaz aus den ich schon versucht habe. Bleibt immer noch das Problem:

1. Ich gebe einen Wert im Editfeld ein z.B. 555
2. Dieser Wert soll nach drücken des Pushbuttons mit einem anderen verglichen werden und wenn nötig ausgetauscht werden

leider wird der Wert im Editfeld aber mit drücken des PB gelöscht.
Private Nachricht senden Benutzer-Profile anzeigen
 
Holla84
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 18.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2010, 08:34     Titel:
  Antworten mit Zitat      
Funktioniert doch und hat mir auch erstmal weitergeholfen.

Danke dir.....
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.