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

Prozedur schreiben

 

Chrischi2405
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.06.2012, 21:54     Titel: Prozedur schreiben
  Antworten mit Zitat      
Hallo,
ich hatte in meinem Studium auch einige Zeit Turbo Pascal Programmierung
und Delphi, wo es möglich war Prozeduren zu schreiben. Wie sicherlich
bekannt, berechnen diese nichts, sondern "machen nur".
Ich möchte eine Funktion schreiben, die folgenden Inhalt hat

Code:

set(handles.Optionen_Tueren,'enable','off')
set(handles.Optionen_Leder,'enable','off')
set(handles.Optionen_Radio,'enable','off')
set(handles.Optionen_Navi,'enable','off')
set(handles.Optionen_Klima,'enable','off')
set(handles.Optionen_Winter,'enable','off')
set(handles.Optionen_Aluraeder,'enable','off')
set(handles.Optionen_Xenon,'enable','off')
 


Es sollen also nur Checkboxen deaktiviert werden. Ich möchte die
Funktion einfach über ihren Funktionsnamen aufrufen. Leider fehlt mir
dazu der passende Funktionskopf.
Vielen Dank im Voraus für Eure Mithilfe!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.06.2012, 23:23     Titel: Re: Prozedur schreiben
  Antworten mit Zitat      
Hallo Chrischi2405,

Meinst Du "function MyName(handles)"?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Chrischi2405
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2012, 10:21     Titel:
  Antworten mit Zitat      
Hallo Jan,
Danke für deine schnelle Hilfe!
Im Prinzip ist das richtig, nur gehe ich bei den Fehlermeldungen davon
aus, dass ein 'hObject' gebraucht wird (diese passiert bei dem Aufruf
'MyFunction(handles)' in der OpeningFcn; mit Aufruf 'MyFunction' ist
'handles' nicht definiert)
Ich möchte aber die Funktion in irgendeinem Callback einsetzen.
Zum besseren Verständnis, siehe Bild:
Wenn ich ein örtlich weiter oben angesiedeltes Popup verändere, sollen
auch die Optionen wieder 'enable off' werden. Da man nicht davon ausgehen
kann, dass ein anderes Fahrzeug die gleichen Optionen hat.
Entsprechend soll die Funktion (wie auch immer) in dem Callback des Popups
aufgerufen werden.
Vielen Dank für Eure weitere Hilfe im Voraus!

GUI_Optionen.jpg
 Beschreibung:

Download
 Dateiname:  GUI_Optionen.jpg
 Dateigröße:  84.87 KB
 Heruntergeladen:  311 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
flashpixx
Forum-Guru

Forum-Guru


Beiträge: 355
Anmeldedatum: 19.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2012, 11:05     Titel:
  Antworten mit Zitat      
Die Handels existieren nach dem erzeugen jedes UI Objektes und es doch völlig egal wo das UI Objekt auf der GUI liegt (oben oder unten oder links oder rechts). Das Handel identifiert das Objekt eindeutig und dann kannst Du damit anstellen was Du willst.

Eine Funktion bzw Prodzedure ist letztendlich das gleiche, Prozeduren haben halt eben nur keine Rückgabe (void in C/C++). Du musst in Deine Funktion letztendlich die Referenzen auf die Objekte einfügen (so wie Jan es beschrieben hat) und in welcher Reiehenfolge wie etwas aktiviert / deaktiviert wird, musst Du dann selbst in der Funktion programmieren. Natürlich kann man den handle Parameter auch weg lassen, aber Du benötigst in der Funktion eben eine Referenz auf die Objekte, d.h. die Daten müssen eben irgendwie in die Funktion gelangen und im Normalfall macht man dies über die entsprechenden Funktionsparameter. Das ist in Pascal/Delphi ganz genauso
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.