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

string an static text übergeben

 

leonidas

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2008, 15:22     Titel: string an static text übergeben
  Antworten mit Zitat      
Hallo, bin noch nicht so erfahren mit matlab.
wollte eine GUI "Stopuhr" schreiben, leider klappt das nicht so ganz.
in einer Schleifelese ich jedesmal die Zeit mittels toc ein und übergib sie dann mit set an das static text Objekt. Dieser set-Befehl wird aber erst nach Ablauf der eingestellten Zeit von 5 sec ausgeführt. warum funktionierts nicht?

hier der auszug aus dem m-file:

Code:

% --- Executes on button press in Start.
function Start_Callback(hObject, eventdata, handles)
% hObject    handle to Start (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% ANFANG HINZUGEFÜGT

set(handles.Stop, 'Enable','on');
set(handles.Start,'Enable','off');
set(handles.text1, 'Visible', 'on');
T=5
t=0
tic;            % starte Timer

while t<=T
    t=toc      % Uhrzeit einlesen
    set(handles.text1, 'String', num2str(t))    % setze Sekundenwert in das TExtfeld text1
    if get(handles.Stop, 'Value') == 1          %schauen ob Stop gedrückt wurde
        set(handles.Start, 'Enable', 'on')
        break;
    end
   
end
set(handles.Start, 'Enable', 'on');
set(handles.Stop, 'Enable','off');


% ENDE HINZUGEFÜGT
 


edit by steve: Code-Umgebung ergänzt! Bitte selbst dran denken!


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.11.2008, 16:52     Titel:
  Antworten mit Zitat      
Hallo,

was passiert wenn du in der Schleife
Code:
aufrufst? Ich würde da auch noch eine kleine Pause mit reinnehmen (z.B 0.05 Sekunden).

MfG

PS: Code-Umgebung wär sinnvoll Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
leonidas

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2008, 10:09     Titel: Stopuhr GUI
  Antworten mit Zitat      
hey Danke!
Code:
funktioniert ebenso funktioniert auch
Code:


hätte das in matlab hilfe nie gefunden...
 
leonidas

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2008, 10:54     Titel: noch was...
  Antworten mit Zitat      
leider funktioniert das mit meinem Stopbutton nicht. zuerst wollte ich das probieren
Code:
set(handles.Stop, 'Value', [1]);
und dieses dann abfragen mit
Code:
if get(handles.Stop, 'Value') == 1
um darauf reagieren zu können.
allerdings heißt es in der matlab hilfe, daß für pushbuttons die property "Value" nicht gesetzt werden kann...
wie kann man da vorgehen? hab da nichts gefunden in der property übersicht.

und noch eine Frage: wenn ich debuggen möchte, wie kann ich da die aktuelle Variablenbelegung einsehen?

mfg
leonidas


ps: was meintest Du mit "Code-Umgebung wäre sinnvoll" ?
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2008, 11:38     Titel:
  Antworten mit Zitat      
Hallo,

ich kann Pushbuttons schon Werte nach "Value" zuweisen. Ansonsten kannst du den Wert ja in "CData" reinschreiben.

Debuggen kannst du z.B. mit
Code:
Da kann man dann alles einsehen. Ansonsten sind so ziemlich alle Befehle, die mit "db" beginnen, debugger-Befehle.

Mit Code-Umgebung meinte ich, dass du Source-Code in
Code:
Hallo, ich bin ein Source-Code
die Code-Umgebung packst (hat steve für dich erledigt im ersten Post), da dies die Übersichtlichkeit doch um einiges erhöht.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
leoni

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2008, 12:25     Titel:
  Antworten mit Zitat      
aha, vielen Dank! hab das mit dem Pushbutton nun über UserData versucht und das funktioniert auch.
danke auch für die db-Befehle!

so nun hab ich noch ein Problem:
habe in einem Popupmenu in der String Property ein paar Werte geschrieben (über Property Inspector). aus Value wird dann der "Index" ausgelesen, und aus String die vordefinierten WErte(soweit ich weiß liegen die als string cell vor). mit dem Index kann ich dann genau auf einen Wert zugreifen. Allerdings gibts eine Fehlermeldung wenn ich nun per str2num() den Wert wieder als Zahl haben möchte.

Fehlermeldung:
Code:
??? Function 'le' is not defined for values of class 'cell'.


wie kann ich die WErte als Zahlen erhalten?
mfg
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2008, 13:31     Titel:
  Antworten mit Zitat      
Hallo,

bei Cell-Arrays greifst du auf den Inhalt über {} zu.
Code:
C = {'12' '212.1211' '8329324'};
zahl = str2num(C{1});


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
leonidas

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2008, 09:34     Titel:
  Antworten mit Zitat      
oja stimmt! vielen Dank!
es funktioniert jetzt alles!
mfg
 
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.