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

Pfad aus edit weiter verwenden

 

Sebbl
Forum-Century

Forum-Century


Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2009, 12:18     Titel: Pfad aus edit weiter verwenden
  Antworten mit Zitat      
Hi,

ich verwende folgenden Code, um eine Datei über ein Browse-Menü in ein Editierfeld einzulesen.
Nun möchte ich jedoch in einer anderen Funktion den Pfad aus diesem Feld (edit1) auslesen und als Variable bzw. Pfadangabe verwenden.

Code:
[filename, pathname] =  uigetfile('*.csv','Oeffne Exceldatei -- Temperatur');
if ~isequal(filename, 0)
    %open(file);
    set(handles.edit1,'String',fullfile(pathname, filename));
end


Kann mir vielleicht jemand helfen, dies umzusetzen ?

Gruss Sebbl


edit by steve: Bitte die Code-Umgebung verwenden. Danke!
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 10.07.2009, 12:53     Titel:
  Antworten mit Zitat      
Moin,

wenn der Pfad im edit-Feld drin steht, dann kannst du jederzeit dieses wieder auslesen. Im Forum wurde dieses schon ziemlich häufig besprochen... (bin nur grad zu faul zum suchen)

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sebbl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2009, 13:06     Titel:
  Antworten mit Zitat      
habs jetzt rausgefunden...

falls es jemanden interessiert :

Code:

function pushbutton4_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename, pathname] =  uigetfile('*.csv','Oeffne Exceldatei -- Temperatur');
if ~isequal(filename, 0)
    set(handles.edit1,'String',fullfile(pathname, filename));
    Path1=fullfile(pathname, filename);
    assignin('base','Path1',Path1);  % zur Übergabe an den Workspace
end
 


MfG Sebbl

Zuletzt bearbeitet von Sebbl am 10.07.2009, 13:53, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 10.07.2009, 13:12     Titel:
  Antworten mit Zitat      
Diese Lösung ist seeeehr naja - aber sie funktioniert, ich weiß...

Entweder du übergibst die beiden Variablen an die handles-Struktur oder du arbeitest mit SETAPPDATA, GETAPPDATA. Das sind zwei weitaus elegantere Lösungen. Zu beiden Sachen findest du hier im Forum etwas, zu letzterem sogar in der Skripte/Tutorial-Ecke.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sebbl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2009, 13:51     Titel:
  Antworten mit Zitat      
Versteh ich gerade nicht...

Ich möchte die Variable nicht in einem anderen GUI verwenden, sondern in einer function und dafür finde ich die Lösung okay.

Gruß Sebbl
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 10.07.2009, 14:56     Titel:
  Antworten mit Zitat      
Und wo steht die Funktion? Ist es ein externes File? Eine andere GUI ist auch nix weiter als eine Funktion. Und was da funktioniert, funktioniert auch bei "normalen" Funktionen.
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sebbl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2009, 12:38     Titel:
  Antworten mit Zitat      
Zur Zeit steht es in einer externen Funktion (also in einem externen m-File im gleichen Pfad).
Um mir jedoch einen besseren Programmierstil anzugewöhnen, würde ich die Funktion auch im gleichen File ausführen ;o).
Kannst du mir vielleicht dabei helfen, das edit1-Feld im gleichen Matlab-File auszulesen und zu verwenden ?
Syntax ? Rolling Eyes


Gruß Sebbl
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 12.07.2009, 19:08     Titel:
  Antworten mit Zitat      
Moin,

also hast du ein externes m-file "my_fun" mit der Funktion "my_fun"? Das ist völlig in Ordnung so.

Außerdem hast du ein GUI von welchem aus du diese Funktion aufrufst? Dann hast du verschiedene Möglichkeiten: Du kannst mit SETAPPDATA/GETAPPDATA arbeiten, du könntest mit FINDOBJ nach dem handle von dem edit-Feld suchen und es dann auslesen oder du übergibst den Inhalt des Feldes nach dem Auslesen an die Funktion. Letzteres würde dann so aussehen:
Code:
% Inhalt der Pushbutton-Callback
[filename, pathname] =  uigetfile('*.csv','Oeffne Exceldatei -- Temperatur');
if ~isequal(filename, 0)
    %open(file);
    set(handles.edit1,'String',fullfile(pathname, filename));
end

% ich gehe einfach mal davon aus, dass du hier jetzt deine Funktion aufrufst:
my_fun(x,y,z,get(handle.edit1,'String'));


Ich hoffe mal, ich habe jetzt von deiem Vorhaben nichts falsch verstanden...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sebbl
Themenstarter

Forum-Century

Forum-Century


Beiträge: 131
Anmeldedatum: 09.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2009, 10:32     Titel:
  Antworten mit Zitat      
Danke

hab es jetzt so ähnlich umgesetzt ;o)
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.