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 ständig ausführen

 

Nyquist
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 19.11.07
Wohnort: Laupheim
Version: ---
     Beitrag Verfasst am: 06.12.2007, 17:00     Titel: callback ständig ausführen
  Antworten mit Zitat      
Hallo miteinander,

wenn ich einen Button(Taster) Start in meinem GUI drücke soll die Callbackfunktion von meinem Popupmenu ständig ausgeführt werden

und wenn ich den Stoptaster drücke soll diese nicht mehr ausgeführt werden
oder eine eigene Callbackfunktion besser wäre aber die vom Popupmenu

Schonmal herzlichen Dank
Very Happy
_________________

Mit freundlcihem Gruß
Nyquist
Private Nachricht senden Benutzer-Profile anzeigen


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 06.12.2007, 17:11     Titel:
  Antworten mit Zitat      
Schaue ob es Dich auf den richtigen Weg bringt:

Code:
function StopWhileLoop(action)

if nargin==0
   ssz = get(0,'ScreenSize');
   figure('units','pixels','menubar','none', ...
          'position',[ (ssz(3:4)-[200 100])/2 200 100 ]);
   uicontrol('position',[50 40 100 30], ...
            'String','START', ...
            'callback','StopWhileLoop(''start'')')
   return
end

switch action
   case 'start'
      %
      set(gcbo,'String',setdiff({'START' 'STOP'},get(gcbo,'String')));
      %
      %       if strcmp('START',get(gcbo,'String'))
      %          set(gcbo,'String','STOP')
      %       else
      %          set(gcbo,'String','START')
      %          return
      %       end
      %
      % while-loop
      %
      i=1;
      while strcmp('STOP',get(gcbo,'String'))
         %
         disp(sprintf('while-loop active :%d',i));
         i = i+1;
         %
         drawnow % <- darf nicht entfernt werden!!!
      end
   %
end
 



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Nyquist
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 19.11.07
Wohnort: Laupheim
Version: ---
     Beitrag Verfasst am: 07.12.2007, 09:51     Titel:
  Antworten mit Zitat      
Hallo outsider,

nicht schlecht was du da an Code hast. Ich hab das ganze auf mein Programm angepasst und es funktioniert. Allerdings will ich mein System nicht ständig belasten und einen Timer bzw eine wait funktion in diese While-Schleife miteinbauen.

gibt es in Matlab so eine wait-Funktion

wait(2) %2Sekunden warten

oder hast du zufällig ne Idee zur Syntax. vielleicht hast du sowas ja schonmal benützt.


Very Happy
_________________

Mit freundlcihem Gruß
Nyquist
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 07.12.2007, 10:14     Titel:
  Antworten mit Zitat      
Hi Nyquist,
da kann man mit dem Befehl pause() arbeiten, denke ich Smile

Matlab-Help hat Folgendes geschrieben:
pause(n) pauses execution for n seconds before continuing, where n can be any nonnegative real number.


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?

Zuletzt bearbeitet von steve am 07.12.2007, 11:12, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Nyquist
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 19.11.07
Wohnort: Laupheim
Version: ---
     Beitrag Verfasst am: 07.12.2007, 11:07     Titel:
  Antworten mit Zitat      
Danke funktioniert

ich wäre nie auf die Idee gekommen ein "nichtenglisches Wort"
in die Hilfe einzugeben hab imer nur wait timer etc. probiert Very Happy

Man lernt nie aus
_________________

Mit freundlcihem Gruß
Nyquist
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 07.12.2007, 11:10     Titel:
  Antworten mit Zitat      
to pause --> anhalten; vorübergehend unterbrechen Wink
_________________

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