|
|
|
Default Pfad in GUI einrichten |
|
| schlierfmi |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 14.03.12
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 27.06.2012, 21:59
Titel: Default Pfad in GUI einrichten
|
 |
Servus liebe Matlab-Gemeinde!
ich habe ein Programm mit Hilfe von GUI erstellt.
Momentan wählt der Benutzer den Ort eines anzusteuernden Programmes, das von Matlab angesteuert wird von Hand aus.
folgende Ziele hätte ich:
-Der Standard(Default)-Pfad (Der Pfad der als Standard beim Start des Programmes verwendet wird) sollte das Verzeichnis sein, in dem sich mein eigenes Programm befindet. D.h. das Programm soll seinen eigenen Pfad als Default-Pfad auslesen.
- Dieser Default-Pfad sollte auf der Benutzeroberfläche angezeigt werden. Momentan verwende ich in GUI eine "editbox" mit einem festen Text,den ich unter "String" mit Hilfe des Property inspectors eingegeben habe. Kann man diesen variabel mit meinem Pfad verwenden?
Danke schon mal im Voraus!
Grüße Michael
|
|
|
|
|
|
| flashpixx |

Forum-Guru
|
 |
Beiträge: 355
|
 |
|
 |
Anmeldedatum: 19.04.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.06.2012, 22:29
Titel:
|
 |
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 28.06.2012, 21:24
Titel: Re: Default Pfad in GUI einrichten
|
 |
Hallo schlierfmi,
Ja, das geht.
Zunächst kannst Du den Pfad eines Programms so erhalten:
In der OpeningFcn des mit GUIDE (nicht "GUI") erstellen Programms, kann man nun FuncName als String in das UICONTROL Objekt einfügen.
Gruß, Jan
|
|
|
|
| schlierfmi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 14.03.12
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 29.06.2012, 15:14
Titel:
|
 |
Danke Jan, habe jetzt meine OpeningFcn erweitert:
ist das so weit korrekt?
Bekomme jetzt folgende seltsame Fehlermeldung wenn ich das Programm ausführen will:
"??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in ==> isprop"
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 29.06.2012, 15:50
Titel:
|
 |
Hallo
MFILENAME ist ein Matlab-Befehl, also den auch so in dein Programm übernehmen
|
|
|
|
| schlierfmi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 14.03.12
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 29.06.2012, 16:18
Titel:
|
 |
Okay habe den Code jetzt abgeändert, bekomme aber folgende Meldung:
??? Undefined function or method 'UICONTROL' for input arguments of type
'char'.
Error in ==> untitled2>untitled_OpeningFcn at 59
UICONTROL('String',FuncPath);
Error in ==> gui_mainfcn at 221
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure),
varargin{:});
Error in ==> untitled2 at 42
gui_mainfcn(gui_State, varargin{:});
hab's mit
probiert, dann folgende Meldung:
??? Undefined function or method 'UICONTROL' for input arguments of type 'char'.
Error in ==> untitled2>untitled_OpeningFcn at 59
UICONTROL('String',FuncPath);
Error in ==> gui_mainfcn at 221
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure),
varargin{:});
Error in ==> untitled2 at 42
gui_mainfcn(gui_State, varargin{:});
mein kompletter Code:
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 14:09
Titel:
|
 |
Hallo, was willst du denn mit UICONTROL?
Ich habe deine Frage so verstanden, dass du bereits eine Editbox mit GUIDE erzeugt? Ist das richtig?
Dann sollst du über SET den String im Editbox verändern.
Schaue dazu in Property Inspector, welchen Tag-Namen deine Editbox hat, dann kannst mit SET-Befehl und Handle die Properties verändern:
PS: Bitte schaue dir im Netz Tutorials an! Wie man eine GUI zusammenbaut
|
|
|
|
| schlierfmi |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 14.03.12
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: R2011a
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 15:30
Titel:
|
 |
Es geht darum die Editbox von Anfang an variabel zu befüllen.
Ich weiß, dass man mit set die Handles verändern kann.
Aber wie kann ich den Defaultpfad von Anfang an anzeigen lassen?
Das, was zu Beginn in der Box stehen soll, wird ja normal mit dem Property inspector reingeschrieben. Diesen kann ich in diesem Fall allerdings nicht benutzen, da er nur statischen Text unterstützt und keinen Code soviel ich weiß.
Falls ich es mit set versuche, in welche function müsste ich denn meinen set-Befehl schreiben?
-In "function edit3_CreateFcn" passiert gar nichts
- Der set-befehl in function edit3_Callback reagiert nur wenn man mit den Cursor in das Textfeld klickt, aber das ist nicht das was ich möchte...
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.07.2012, 00:22
Titel:
|
 |
Hallo schlierfmi,
Dennys Code gehört in die OpeningFcn. Es wurde in diesem Thread also bereits alles gesagt, was zur Lösung nötig ist. Vielleicht hilft es, ihn nochmals durchzulesen.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|