Verfasst am: 21.03.2012, 17:00
Titel: Auslagerung einer Callbackfunktion
Hallo,
mittlerweile wächst mein Programm munter weiter und es wird z.T. schon ein wenig unübersichtlich. Ich habe aktuell 2 Popups, deren Callback durch folgenden Code angesprochen wird:
Code:
function KP_Auswahl_1_Callback(hObject, eventdata, handles)
%Untersuchung der jeweils gewählten POP-Up Einträge
ausgabe = cell(1,2);
str = cell(1,2);
for I = 1:2
feld = ['KP_Auswahl_' num2str(I)];
str{I}=get(handles.(feld),'String');
ausgabe{I}=str{I}{get(handles.(feld),'value')};
end
%Vergleich der POP-Ups Strings, für weiteres Vorgehen
if(strcmp(ausgabe{1},'')) set(handles.Wert1,'String','');
set(handles.Wert1,'Enable','off');
elseif(strcmp(ausgabe{1},ausgabe{2})) set(handles.Wert1,'String','');
set(handles.Wert1,'Enable','off');
set(handles.KP_Auswahl_1,'Value',3) errordlg('Der Kennparameter wird schon verwendet !', 'Error') else set(handles.Wert1,'Enable','on');
end
%Setzen der richtigen Einheiten in Abhängigkeit der POP-Up-Wahl
switchget(handles.KP_Auswahl_1,'Value') case1
Einheit='m/s^2';
case2
Einheit='s';
case3
Einheit='';
end set(handles.Einheit_1,'String',{Einheit});
im weiteren Verlauf meiner Programmierung sollen noch weitere Popups dazu kommen. Der Einzige Unterschied im Aufruf ist, dass sich die Zahl hinter KP_Auswahl_(X), Wert(X) und Einheit_(X) unterscheidet (also 1,2,3,4,etc). Ich würde gerne die komplette Funktion in ein eigenes M-File schreiben und in jedem Popup aufrufbar machen. Ist dies möglich? Und wenn ja wie kann ich dies M-File wieder im Callback korrekt aufrufen.
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
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.