Verfasst am: 06.04.2014, 12:50
Titel: Pfad eines Programmes auswählen und in Datei schreiben
Hallo zusammen,
ich möchte mittels GUI eine Batch-Datei für den Aufruf von Fortran Programmen erstellen. Sprich, ich möchte erstmal eine *.bat-Datei schreiben. Diese soll dann in etwa folgende Form haben:
C:\Ordner1\Ordner2\programm.exe
Das ganze habe ich, dank der Hilfe im Programmierung Forum schon folgendermaßen realisiert:
Code:
% Zuweisung des Dateinamens
dateiname = 'batch.bat';
% Zugriff auf Datei "dateiname" verschaffen und zum Schreiben (write) öffnen
fid = fopen(dateiname, 'w');
% Pfad abfragen [FileName, Pfad] = uigetfile('*.exe', 'Bitte wählen Sie das Programm aus: ');
% Pfad in Datei schreiben fprintf(fid, '%s \n', [fullfile(Pfad, FileName)];
Jetzt möchte ich das ganze gerne über GUI realisieren. Hierfür habe ich eine Oberfläche mit einem Pushbutton erzeugt. Mit diesem soll der Pfad ausgewählt und anschließend in ein statisches Textfeld (zur Kontrolle) und ein edit-Textfeld (zur evtl. manuellen Änderung) übergeben und gleichzeitig in eine batch.bat-Datei geschrieben werden.
Jetzt versuche ich bereits seit einiger Zeit die richtigen Positionen für die Aufrufe zu finden. Zuletzt habe ich alles an die pushbutton_Callback geschrieben. Aber ich nehme an, dass die Zuweisung des Dateinamens wahrscheinlich eher in die Opening-Funktion gehört, oder?
Code:
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (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
dateiname = 'batch.bat';
% Zugriff auf Datei "dateiname" verschaffen und zum Schreiben (write) öffnen
fid = fopen(dateiname, 'w');
[FileName, Pfad] = uigetfile('*.exe', 'Bitte wählen Sie das Programm aus: ');
% Ausgewählten Programmpfad in das statische Textfeld schreiben set(handles.text1, 'string', fullfile(Pfad, FileName));
% Ausgewählten Programmpfad in das edit-Textfeld schreiben set(handles.edit1, 'string', fullfile(Pfad, FileName));
% Text Zeile in Datei schreiben fprintf(fid, '%s \n', fullfile(Pfad, FileName));
Hierfür habe ich jetzt einen neuen Push-Button und ein neues edit2-Feld erzeugt. Nun möchte ich entweder über eine Dateiauswahl oder über das edit2-Feld den Programmaufruf 2 auswählen/eingeben.
Nach der Eingabe soll sich das static-Feld text1 insoweit verändern, als das dort der Pfad inkl. Programm stehen, dann ein Leerzeichen und danach der Programmaufruf. Dies soll dann auch so in die erzeugte Batch.bat Datei geschrieben werden.
Ich denke die Zuweisung des Dateinamens und den Zugriff darauf muss ich nicht jedes mal aufs neue verschaffen, da dies ja schon bei der Pfadauswahl geschieht, oder?
Code:
% Zuweisung des Dateinamens
dateiname = 'batch.bat';
% Zugriff auf Datei "dateiname" verschaffen und zum Schreiben (write) öffnen
fid = fopen(dateiname, 'w');
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
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.