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

uiputfile - Speicherort auswahl

 

Cope
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 20.04.2014, 00:27     Titel: uiputfile - Speicherort auswahl
  Antworten mit Zitat      
Hallo zusammen,
ich habe eine GUI die in der Callback Funktion eines Pushbutton eine Datei schreiben und deren Speicherplatz auswählen soll.

Aktuell habe ich versucht es so zu realisieren:

Code:
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
        % Zuweisung des Dateinamens
        handles.dateiname = uiputfile('*.bat');
        % Zugriff auf Datei "dateiname" verschaffen und zum Schreiben (write) öffnen
        handles.fid = fopen (handles.dateiname, 'w');
 
 
        for (n = 01:str2num(handles.Probanden))
            % Text-Zeile in Datei schreiben
            fprintf(handles.fid,'%s \n', [handles.Programm,' ', handles.Eingabedatei,num2str(n),' ', handles.Ergebnisdatei,' ',handles.Kanal,' ', handles.Integration,' ', handles.Zeitbasis]);
        end
       
       
        % Datei wieder schließen
        fclose(handles.fid);
        % GUI beenden
        close(gcbf);


Problem hierbei ist, dass ich zwar einen Speicherplatz auswählen kann, die Datei aber dennoch im Matlab Arbeitsverzeichnis abgespeichert wird.

Hat jemand einen Tip für mich woran es liegen könnte?

Vielen Dank und beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.04.2014, 11:27     Titel:
  Antworten mit Zitat      
Hallo,

du musst dir von uiputfile zwei Rückgabeargumente zurückholen - das zweite beinhaltet den Pfad. Steht so auch in der Doku:
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 20.04.2014, 16:41     Titel:
  Antworten mit Zitat      
Hallo Harald,
zunächst einmal ein schönes Osterfest und danke für deine Antwort.

Es ist mir fast schon peinlich, aber ich bekomme es nicht hin.

Was muss ich mit dem Pfad machen nachdem ich diesen folgendermaßen eingeholt habe?

Code:
[handles.dateiname, handles.PathName] = uiputfile('*.bat', 'Speichern unter');


Wie bekomme ich es hin, dass die Datei nun auch unter diesem Pfad abgelegt wird?

Besten Dank & Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.04.2014, 16:59     Titel:
  Antworten mit Zitat      
Hallo,

ebenfalls frohe Ostern.
Code:
handles.fid = fopen (fullfile(handles.PathName,handles.dateiname), 'w');


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Cope
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 20.04.2014, 17:32     Titel:
  Antworten mit Zitat      
Danke sehr Harald, alles läuft wie gewollt.

Aber zum Verständnis:

Mit dem fid erhalte ich doch Zugriff auf eine Datei. Um diesen zu erhalten muss ich diese Datei doch erst einmal mit fopen öffnen. Mit fullfile bilde ich aus mehreren Dateien eine Datei. Warum muss ich dieser neugebildeten Datei denn nicht noch einmal explizit einen Namen zuweisen um diese dann mit fopen zu öffnen?

Bitte nicht falsch verstehen. Ich will das jetzt nicht in Frage stellen und es funktioniert auch alles bestens. Aber irgendwie hängt es bei mir.

Besten Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.04.2014, 17:37     Titel:
  Antworten mit Zitat      
Hallo,

deine Frage verwirrt mich.

fopen öffnet die angegebene Datei und gibt einen Verweis (im Grunde nur die Nummer der Datei) auf die Datei zurück. Dieser Verweis kann für Lese- und Schreiboperationen verwendet werden.

Grüße,
Harald
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: 21.04.2014, 10:36     Titel:
  Antworten mit Zitat      
Hallo Cope,

Zitat:
Mit fullfile bilde ich aus mehreren Dateien eine Datei.

Nich ganz. FULLFILE verbindet mehrere Strings zu einem File-Namen, wobei die File-Separatoren berücksichtigt werden. Es wird dabei aber keine Datei gebildet, nur ein Datei-Namen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 77
Anmeldedatum: 21.02.14
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 21.04.2014, 16:04     Titel:
  Antworten mit Zitat      
Hey,
danke für die Erklärung. Ich glaube jetzt habe ich es soweit verstanden.

Gruß
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.