Verfasst am: 28.11.2007, 18:22
Titel: Pfad als variable
hallo,wie kann man Pfad als Variable stellen?In mein GUI Figur gibt es ein Listbox,in dem Listbox kann es alle Pfade des Arbeitplatz geben.Ich möchte durch den Listbox ein Order finden und die Datei darin bearbeiten.Aber ich kann nicht ein bestimmt Pfad in m file schreiben(wie addpath....).Denn es passt nicht bei andere computer.Kann jemand mir helfen,um der Pfad als variable zu stellen?Untern ist die Funktions Code
Code:
% Einlesen der Text-Dateien for i=1:Anzahl
fid = fopen([Name1 num2str(i,'%03d') Name2], 'r');
A=textscan(fid,'%n %n','headerLines',2);
B=cell2mat(A);
druck(i,:)=B(:,2)';
winkel(i,:)=B(:,1)';
fclose(fid);
end
um Befehle, die zur Laufzeit erzeugt werden auszuführen, kannst Du den eval Befehl nutzen. Eval wird ein String mit dem auszuführenden Befehl(mitsamt parametern) übergeben.
hier ein beispiel.
dateiname='keks';
eval(['fid = fopen([''' dateiname '''], ''w'')'])
fprintf(fid,num2str(cputime))
fclose(fid);
gugge anschliessend in da akteulle matlab verzeichnis. Dort findest du eine Datei mit dem Namen keks. Dein Beispiel musst Du nun entsprechend anpassen. Hinweis noch: Hochkommas müssen wie in dem Beispiel escaped werden. Soll also im zu evaluierenden String ein Hochkomma enthalten sein, so muss dieses mi '' escaped werden.
Danke für Ihre Hilfe.Ich habe versucht,aber kommt es ein fehler:??? Undefined function or variable 'handles'.
opossumteil
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.11.2007, 08:21
Titel:
Moin nochmal,
dann versuch meine Idee, HEHE.
Jede erzeugte Guikomponente(slider,Listbox,checkbox,etc.) kann über Referenzen aufgerufen werden. Dazu gibt es mehrere Möglichkeiten. Eine Möglichkeit ist bei der Erzeugung der Guikomponente mit uicontrol die Eigenschaft 'tag' zu setzen. Hier wird ein sinnvoller name gewählt, z.B. 'ListboxDateiauswahl'. Das sieht dann etwa so aus:
handles=guihandles(hObject);%hObject oder Figurehandle
value = get(handles.ListboxDateiauswahl,'value');
string = get(handles.ListboxDateiauswahl, 'string');
bekommste dann die Dateinamen und die derzeit ausgewaehlte Datei(Value).
Bei den anderen Möglichkeiten werden die Referenzen entweder global oder als guidata gespeichert. Der Rest ist dann ähnlich.
wrz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 30.11.2007, 17:36
Titel:
Danke für deine Idee,aber die passt nicht so gut für mein Arbeit.Denn in jeder Ordner gibt es 20 .txt datei,und in jede datei gibt es 2*200 werten zu bearbeiten.
Hier ist die code von Listbox,da ist das pfad definiert.Wie kann ich diese pfad zu meine funktion fügen?
Code:
% --- Executes during object creation, after setting all properties. function figure1_CreateFcn(hObject, eventdata, handles) % hObject handle to figure_Druck_Reg (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
setappdata(hObject, 'StartPath', pwd);
addpath(pwd);
% --- Executes during object deletion, before destroying properties. function figure1_DeleteFcn(hObject, eventdata, handles) % hObject handle to figure_Druck_Reg (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
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.