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

nested functions im GUI

 

ka404
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2016, 08:23     Titel: nested functions im GUI
  Antworten mit Zitat      
Hallo

Kann mir jemand weiterhelfen wie ich die Funktionen (im m-file eines GUI) als nested funktions definiere?
Wann schließe ich die Opening und die Output function mit einem end?
Was ist falsch an meinem Code?
Viele Grüße

Code:
function varargout = nested_functions_im_GUI(varargin)
% NESTED_FUNCTIONS_IM_GUI MATLAB code for nested_functions_im_GUI.fig
%      NESTED_FUNCTIONS_IM_GUI, by itself, creates a new NESTED_FUNCTIONS_IM_GUI or raises the existing
%      singleton*.
%
%      H = NESTED_FUNCTIONS_IM_GUI returns the handle to a new NESTED_FUNCTIONS_IM_GUI or the handle to
%      the existing singleton*.
%
%      NESTED_FUNCTIONS_IM_GUI('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in NESTED_FUNCTIONS_IM_GUI.M with the given input arguments.
%
%      NESTED_FUNCTIONS_IM_GUI('Property','Value',...) creates a new NESTED_FUNCTIONS_IM_GUI or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before nested_functions_im_GUI_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to nested_functions_im_GUI_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help nested_functions_im_GUI

% Last Modified by GUIDE v2.5 01-Jun-2016 08:47:37

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
    'gui_Singleton',  gui_Singleton, ...
    'gui_OpeningFcn', @nested_functions_im_GUI_OpeningFcn, ...
    'gui_OutputFcn',  @nested_functions_im_GUI_OutputFcn, ...
    'gui_LayoutFcn',  [] , ...
    'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before nested_functions_im_GUI is made visible.
    function nested_functions_im_GUI_OpeningFcn(hObject, eventdata, handles, varargin)
        % This function has no output args, see OutputFcn.
        % hObject    handle to figure
        % eventdata  reserved - to be defined in a future version of MATLAB
        % handles    structure with handles and user data (see GUIDATA)
        % varargin   command line arguments to nested_functions_im_GUI (see VARARGIN)
       
        % Choose default command line output for nested_functions_im_GUI
        handles.output = hObject;
       
        % Update handles structure
        guidata(hObject, handles);
        a=0;
        set(handles.text2,'String',a);  
        % UIWAIT makes nested_functions_im_GUI wait for user response (see UIRESUME)
        % uiwait(handles.figure1);
   end

% --- Outputs from this function are returned to the command line.
    function varargout = nested_functions_im_GUI_OutputFcn(hObject, eventdata, handles)
        % varargout  cell array for returning output args (see VARARGOUT);
        % hObject    handle to figure
        % eventdata  reserved - to be defined in a future version of MATLAB
        % handles    structure with handles and user data (see GUIDATA)
       
        % Get default command line output from handles structure
        varargout{1} = handles.output;
    end

% --- Executes on button press in up.
    function up_Callback(hObject, eventdata, handles)
        % hObject    handle to up (see GCBO)
        % eventdata  reserved - to be defined in a future version of MATLAB
        % handles    structure with handles and user data (see GUIDATA)
        a=a+1;
        set(handles.text2,'String',a);  
    end

% --- Executes on button press in down.
    function down_Callback(hObject, eventdata, handles)
        % hObject    handle to down (see GCBO)
        % eventdata  reserved - to be defined in a future version of MATLAB
        % handles    structure with handles and user data (see GUIDATA)
         a=a-1;
        set(handles.text2,'String',a);  
    end


end


nested_functions_im_GUI.m
 Beschreibung:

Download
 Dateiname:  nested_functions_im_GUI.m
 Dateigröße:  3.91 KB
 Heruntergeladen:  451 mal
nested_functions_im_GUI.fig
 Beschreibung:

Download
 Dateiname:  nested_functions_im_GUI.fig
 Dateigröße:  5.29 KB
 Heruntergeladen:  438 mal
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: 01.06.2016, 12:41     Titel: Re: nested functions im GUI
  Antworten mit Zitat      
Hallo ka404,

Wieso meinst Du denn, dass an Deinem code etwas falsch ist? Bekommst Du eine Fehlermeldung? Falls ja, wäre es für die Beantwortung der Frage nützlich sie zu kennen.

Wenn in einem M-File eine Funktion mit end abgeschlossen wird, müssen alle so abgeschlossen werden. Da das end für nested Funktions obligatorisch ist, bedeutet auch das Vorhandensein einer solchen Unterfunktion, dass alle Funktionen im File ein end zum Schluss bekommen. Andernfalls wird der Code nicht mehr eindeutig interpretierbar.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 95
Anmeldedatum: 29.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2016, 12:44     Titel:
  Antworten mit Zitat      
Hallo Jan,

Sobald ich auf den Botton "up" clicke
bekomme ich diese Meldung:

Zitat:
Error using feval
Undefined function 'up_Callback' for input arguments of type 'matlab.ui.control.UIControl'.

Error in gui_mainfcn (line 95)
feval(varargin{:});

Error in nested_functions_im_GUI (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in @(hObject,eventdata)nested_functions_im_GUI('up_Callback',hObject,eventdata,guidata(hObject))


Error while evaluating UIControl Callback
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.