ich versteh das nicht ganz.
Musst Du aus dem edit_datei1 nicht 'String' statt 'Value' holen?
Was macht setstr?
Das mit untereinander und nebeneinander wird mit den Dimensionen der Cell zusammenhängen. files = {'aaa','bbb'} und files = {'aaa';'bbb'}.
Das ist wie Zeilen und Spalten.[/code]
_________________
in einem edit feld können nur zahlen gespeichert werden
deswegen speicher ich die dort als zahl und muss sie dann natürlich wieder in einen string umwandeln - genau das macht setstr
deswegen hol ich auch nich den string, weil da ja ne zahl drin steht
funktioniert übrigens auch nicht
da kommt dann der fehler:
Function 'fprintf' is not defined for values of class 'cell'.
also nochmal erklärt
datei1 ist CN230202 (dafür sorgt ja die ersetzfunktion)
nun soll nach der if abfrage files durch genau diesen string ersetzt werden und zusätzlich weitere dateien wenn die if abfrage pos. verläuft
jedoch müssen diese getrennt werden, und zwar so wie ihr in dem beispiel hier seht:
files = [];
for i=1:10 eval(['value=get(handles.checkbox_datei',num2str(i),', ''Value'') ;']);
if value==1 eval(['files = [files; {datei',num2str(i),'}];']);
end end
function h = durchsuchen(hObject, eventdata, h) [Dateiname,Pfad]=uigetfile('*.xls','Excel-Datei angeben');
whatbtn=get(hObject,'tag');
switch whatbtn
case 'btn1'
set(h.cbx1,'Value',1);
set(h.txt1,'String',Dateiname);
case 'btn2'
set(h.cbx2,'Value',1);
set(h.txt2,'String',Dateiname);
case 'btn3'
set(h.cbx3,'Value',1);
set(h.txt3,'String',Dateiname);
end
function h = bearbeiten(hObject, eventdata, h)
liste={};
ifget(h.cbx1,'Value')
liste=[liste get(h.txt1,'String')];
end ifget(h.cbx2,'Value')
liste=[liste get(h.txt2,'String')];
end ifget(h.cbx3,'Value')
liste=[liste get(h.txt3,'String')];
end
Vielleicht hilf Dir das weiter.
Ich hab das in Deinem Data-Verzeichnis ausgeführt weil ich keine Pfade eingebaut habe.
Meiner Meinung nach geht das bequem mit cells (ab Zeile 43) und man braucht auch nicht zwischen Chars und String umzuwandeln.
Seit Matlab 5 ist setstr in char umbenannt worden
Ich würde aber selber gern wissen, wie man sowas geschickter macht, also zb. nicht 3 Checkboxen abfragen, sonder 20 oder 30. Gibt es da nicht eine elegante Lösung ohne 20 oder 30 mal dasselbe schreiben zu müssen?
_________________
in einem edit feld können nur zahlen gespeichert werden
deswegen speicher ich die dort als zahl und muss sie dann natürlich wieder in einen string umwandeln - genau das macht setstr
...
In der Matlab Help steht bei den uicontrol properties unter der Abteilung 'Value' hingegen klar und deutlich:
Editable text, push buttons, and static text do not set this
property.
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.