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

Ausgewählten Pfad aus Dialogfenster speichern

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2010, 11:19     Titel: Ausgewählten Pfad aus Dialogfenster speichern
  Antworten mit Zitat      
Hallo alle zusammen.
Ich habe ein Dialogfenster, in dem ich mir Messfiles einlese.
Nun will ich den Pfad aus dem Fenster speichern an eine andere function übergeben, damit ich im nächsten Dialogfenster nicht nochmal den ganzen Pfad aufrufen muss sondern gleich im jeweiligen Ordner bin.
Ist das möglich?

Rufe das Dialogfenster bisher so auf:
Code:
%

[Dateiname, Pfad]=uigetfile('*log','Bitte Datei auswählen!');
fid=fopen(fullfile(Pfad, Dateiname), 'r');
messung= textscan(fid, '','headlines', 2);
fclose(fid)

 


Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2010, 11:40     Titel:
  Antworten mit Zitat      
Hi
eine Möglichkeit wäre das ganze mit
Code:

assignin('base','name','var')
 

die Variable ins Workspace zu schreiben und diese dann mit
Code:

pfad=evalin('base','var_name')
 

sich wieder zu holen wann und wo man Sie braucht.

Gruß Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2010, 16:44     Titel:
  Antworten mit Zitat      
Hi,
danke dir für die schnelle antwort.
Komme aber leider auch mit den Befehlen und der Matlabhilfe nicht so recht weiter.
Schaffe es nicht den Pfad im Workspace zu speichern
Könntest du mir da noch ein bisschen weiterhelfen.
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2010, 17:12     Titel:
  Antworten mit Zitat      
Habs nun doch hinbekommen, dass die Variable in den Workspace geschrieben wird.

Code:

[Dateiname, Pfad]=uigetfile('*log','Bitte Datei auswählen!');
fid=fopen(fullfile(Pfad, Dateiname), 'r');
assignin('base','name',fullfile(Pfad))
messung= textscan(fid, '','headlines', 2);
fclose(fid)

 


Weiß auch nicht warum ich das nicht hinbekommen hab.
Fehlt jetz nur noch die übergabe an das andere Fenster
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.01.2010, 18:00     Titel:
  Antworten mit Zitat      
Du musst keine Wirkliche übergabe machen du kannst das Workspace als "globlen Speicher" betrachten.
Du kannst jetzt mit dem Befahl 'evalin' die Variable wieder holen.

Code:

mypfad=evalin('base',name');
 


Gruß Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 10:28     Titel:
  Antworten mit Zitat      
Hi Fragewurm,
das mit dem evalin und assignin habe ich glaub ich schon verstanden.
Mein Problem ist, dass die zweite
Code:
%
 [Dateiname, Pfad]=uigetfile('*log','Bitte Datei auswählen!');
 

Funktion die Variable nicht annimmt.
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 11:32     Titel:
  Antworten mit Zitat      
Hi
1. würde ich den pfad anders abspeichern
Code:

%alt
assignin('base','name',fullfile(Pfad)) ;
%neu
assignin('base','Pfad','Pfad');
 


2.Für den 2ten Aufruf würde ich sowas machen
Code:

Pfad_alt= evalin('base','Pfad');
[filename,pathname]= uigetfile({''},'Lade Daten',fullfile(Pfad_alt),'');
 


Habs nicht getestet!! Sollte aber funk.

Gruß Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 12:37     Titel:
  Antworten mit Zitat      
Wenn ich deinen code so anwende kommt ne ganze Reihe von Fehlermeldungen
Code:

??? Error using ==> uigetputfile_helper>parseArguments at 141
Extraneous arguments entered, please check the documentation.

Error in ==> uigetputfile_helper at 34
[dialog_filter dialog_title dialog_filename dialog_pathname dialog_multiselect] =
parseArguments();

Error in ==> uigetfile at 125
    [filename, pathname, filterindex] = uigetputfile_helper(0, varargin{:});

Error in ==> Testguide11>pushbutton10_Callback at 1255
[Dateiname, Pfad]=uigetfile({''},'Lade Daten',fullfile(Pfad_alt),'');
%Fenster zum importieren von Daten

Error in ==> gui_mainfcn at 96
        feval(varargin{:});

Error in ==> Testguide11 at 42
    gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)Testguide11('pushbutton10_Callback',hObject,eventdata,guidata(hObject))

 
??? Error while evaluating uicontrol Callback
 




Habe es jetzt aber so in etwa hinbekommen.

Code:

assignin('base','Pfad',fullfile(Pfad))

Pfad_alt=evalin('base','Pfad')

[Dateiname, Pfad]=uigetfile('*log','Bitte Datei auswählen!',Pfad_alt);

 

nur werden mir keine log-Files angezeigt sondern nur matlab files
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 12:49     Titel:
  Antworten mit Zitat      
Das mit den log-Files geht jetzt auch, hatte nur den Punkt vergessen.
Vielen Dank nochmal für die Hilfe Very Happy
 
Fragewurm
Forum-Century

Forum-Century


Beiträge: 180
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 12:50     Titel:
  Antworten mit Zitat      
Hi
hab denn Code grade bei mir ausprobiert ohne Fehler.
Das wundert mich.

Ich glaube das du einen Punkt bei '*log' vergessen hast.
Richtig wäre '*.log'
Muss du mal ausprobieren

Gruß Fragewurm
_________________

Fehler jeglicher Art Dienen zur allgemeinen Belustigung
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 13:07     Titel:
  Antworten mit Zitat      
Genau der Punkt war es Very Happy
 
ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 31.03.2010, 11:36     Titel:
  Antworten mit Zitat      
hi

mal ne frage, was meint ihr mit Pfad?
und was soll base bedeuten?

mfg schmidty

danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.03.2010, 12:39     Titel:
  Antworten mit Zitat      
Ich denke mal Pfad soll der Pfad zur beim ersten Mal ausgewählten Datei bzw. zu dem Ordner wo sie drin war sein. 'base' bezeichnet den Standard-Matlab-Workspace.

Alternativ müsste man auch einfach mit

cd Pfad;

Das aktuelle Arbeitsverzeichnis wechseln können, uigetfile öffnet dann automatisch den Ordner...kann aber je nach Programm zu Problemen führen, falls sich relative Pfade ändern...
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 01.04.2010, 12:50     Titel:
  Antworten mit Zitat      
verstehe ich das richtig, das ich den pfad selber angeben muß?
wenn ich in meinem programm eine datei von einem beliebigen ort in meinem rechner laden will, und das immer mal wieder, was kann ich dann als pfad eingeben?
soll heißen, das prgramm soll sich selber den pfad merken.

mfg schmidty
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 01.04.2010, 12:54     Titel:
  Antworten mit Zitat      
hier mein code

Code:
clear;
z=0;  %Hilfsvariable
n=1;  %Anzahl der datein

%einlesen der Datei1

wafervor = uigetfile('*.txt','Bitte Datei auswählen');                
fid = fopen(fullfile('D:\','wafervor.txt'),'r');
assignin('base','wafervor',fullfile('D:\'));                              
w1 = evalin('base','wafervor');                                          
    rawdata = textscan(w1,'%f %f %f','headerlines',8);                    
    data = rawdata{3};                                                    
    data = reshape(data,1200,250);  %1200x250 Matrix aus Vektor data erzeugen
fclose(fid);
 
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.