|
CuteyHoney |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.11.2010, 16:14
Titel: Pushbutton
|
|
Hallöchen,
ich hab ein anliegen. und zwar geht es darum, dass ich mehrere Berchnungen in meiner Gui durchführe und eine auf die andere aufbaut.
Ich habe auch mehrere PushButtons eingebaut, die quasi alles in Teilschritten ausrechnen lassen.
wenn der user jetzt aber ganz unten einen betätigt ohne den vorherigen gedrückt zu haben gibt matlab automatisch eine fehlermeldung aus. da es die berechneten daten die ich in dieser rechnung benötige ja noch nicht gibt. kann man durch irgendeinen befehl vorschreiben lassen, bzw. den nutzer drauf aufmerksam machen, dass er erst die push buttons zuvor drücken muss?
oder sollte ich ganz drauf verzichten und nur einen button für alles einbringen?
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 12.11.2010, 20:48
Titel: Re: Pushbutton
|
|
Hallo CuteyHoney,
Zitat: |
oder sollte ich ganz drauf verzichten und nur einen button für alles einbringen? |
Ein User-Interface sollte immer so wenige Objekte wie möglich haben. Wenn also sowieso alle Teilschritte nacheinander ablaufen müssen, ist ein einzelner Button hinreichend.
Gruß, Jan
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 15.11.2010, 14:34
Titel:
|
|
Hallo,
Jan hat vollkommen recht!
Willst du es aber unbedingt mit mehreren Buttons realisieren, so kannst du ja z.B. den Button der erst als 2. betaetigt werden darf (button2) erst aktiv machen nachdem der 1. betaetigt wurde:
MFG
Sco
|
|
|
CuteyHoney |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2010, 15:11
Titel:
|
|
set(handles.Abbringen,'Enable','off')
funktioniert bei mir leider nicht
ich kann immer noch den button betätigen.
ich habe diesen befehl bei der aktion laden miteingebunden, da mein programm automatisch bei jedem programmstart immer die entsprechenden daten lädt.
wenn ich diesen befehl aber in die opening function mit reinsetze, dann macht er es. aber sollte der weg über laden nicht auch funktionieren?
liebe grüße =)
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 16.11.2010, 15:34
Titel:
|
|
Hallo,
Zitat: |
ich habe diesen befehl bei der aktion laden miteingebunden
|
Was heisst aktion laden, ist das eine function?
Und wenn es in der Opening function klappt, dann lass es doch dort. sobald deine Berechnungen erfolgt sind, dann aktivierst du den Button und gut ist.
Jedoch ist es eigentlich egal in welche Funktion des Guis du
hinsetzt, es sollte immer den Button inaktivieren!
MFG
Sco
|
|
|
CuteyHoney |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2010, 15:49
Titel:
|
|
ja, laden ist eine function, jedoch führt er bei programmstart dort leider nicht den befehl aus
ich habe set jetzt auch im programmstart gelassen, jedoch sobald ich den pushbutton nachdem aktivwerden einmal betätige blendet er sich automatisch wieder aus sodass ich wenn ich ihn wieder betätigen will immer den zuvor nochmals betätigen muss
kann man das irgendwie verhindern?
und noch eine frage:
set gibt man ja meist wie folgt ein:
set(handles.PS,'String','0');
wenn die 0 jetzt aber eine zahl sein will, wie lautet der Befehl denn?
set(handles.PS,'Double','0'); ?????
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 16.11.2010, 16:00
Titel:
|
|
Hallo,
vielleicht postest du mal die entscheidenten Zeilen deines GUIS (oder alle wenn es nicht ZUVIELE sind), damit ich einen Eindruck bekomme was ablaeuft.
Zum 2. Problem:
Ich nehme mal einfach an, dass du Text z.B. in ein Textfeld mit dem:
schreiben willst? Falls nicht berichtige mich, da du leioder nicht naeher erlaeuterst fuer welches Object du den Set-Befehl verwendest. Allg. lassen koennen nur Strings in Textfelder geschrieben werden, d.h. du muesstest bei zahlen zuvor den die Nummer in ein String umwandeln:
MFG
Sco
|
|
|
CuteyHoney |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2010, 16:08
Titel:
|
|
also in der opening function setze ich den text im ediz PS auf 0
set(handles.PS,'String','0');
nun soll etwas berechnet werden.
aber diese berechnung darf erst dann ausgeführt werden, wenn diese eingabe in dem edit feld durch den benutzer verändert wurde wurde.
ich hatte angefangen mit dem code:
da PS aber zu diesem zeitpunkt noch ein string ist, vermute ich funktioniert es nicht
wie kann man das problem lösen?
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 16.11.2010, 16:32
Titel:
|
|
Hallo,
hier ist so manchen komisch, warum erstellst du eine globale Variable "PS" wenn du doch den Wert aus der Editbox moechtest bzw. auch einlesen kannst?
Mach es so:
MFG
Sco
|
|
|
CuteyHoney |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.11.2010, 16:46
Titel:
|
|
dankeschön, es funktioniert =)
ich habe vorher den eingegebenen edit wert eine variable ps zugewiesen, weil ich damit auch noch in der rechnung rechne und diese auch noch auf fehler überprüfe. ist dieses nicht so üblich?
|
|
|
Sco |
Forum-Meister
|
|
Beiträge: 699
|
|
|
|
Anmeldedatum: 15.08.10
|
|
|
|
Wohnort: Dundee
|
|
|
|
Version: 2008a, 2010a
|
|
|
|
|
|
Verfasst am: 16.11.2010, 16:56
Titel:
|
|
Hallo,
prinzipiell sollte man auf den Gebarauch von globalen Variablen verzichten, da sie zu schwer auffindbaren Fehlern fuehren koennen.
Man sollte stattdessen (in einem GUI), Werte von bestimmten Objekten mit Hilfe des set-Befehl "holen".
MFG
Sco
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|