In einem zweiten m-file habe ich die Funktion gespeichert. Code wie folgt:
Code:
function DatenSpeichern(style, property)
Zwischenspeicher = findobj('style',style); % alle Textausgabefelder suchen u. handles in Zwischenspeicher schreiben for i = Zwischenspeicher'
Tag_namen = get(i,'tag');
Einlesen = get(i,property);
variablen.(Tag_namen) = Einlesen;
end save(['content_' style], 'variablen');
??? Error using ==> save
Variable 'variablen' not found.
Error in ==> DatenSpeichern at 8 save(['content_' style], 'variablen');
Error in ==> LCL_Export_Kostenermittlung_Vorlauf>Datei_speichern_ClickedCallback at 864
DatenSpeichern('style', 'property')
try load content_edit_boxes;
Zwischenspeicher = findobj('style','edit'); % alle Edit-Boxen suchen u. handles in h schreiben for i = Zwischenspeicher' % alle handles durchgehen
Tag_namen = get(i,'tag'); % Tag lesen
Einlesen = var.(Tag_namen); % passenden Inhalt aus struct lesen set(i,'string',Einlesen); % diesen Inhalt in Edit-Box schreiben end catch errordlg('Die zwischengespeicherten Werte konnten nicht gelesen werden oder existieren nicht!', 'Fehler beim Laden','modal');
end
try load content_radiobutton;
Zwischenspeicher = findobj('style','radiobutton');
for i = Zwischenspeicher'
Tag_namen = get(i,'tag');
Einlesen = var.(Tag_namen);
ifstrcmp(Tag_namen, 'Eigene_Auswahl')% Wenn die Strings gleich sind, dann fragen ob, if Einlesen == 1% der Wert gleich "1" ist. Wenn Ja, dann set(handles.Auswahl_Abgangsort,'enable','off');
set(handles.Auswahl_Abgangsort,'Value',1);
set(handles.Entfernung_nach_HH,'enable','on')
Fotodatei = imread('LKW_Hongkong.jpg');
image(Fotodatei);
set(gca,'DataAspectRatio',[10.91]);
set(gca,'Visible','on','Units','Pixels','Position',[402,172,456,430]);
set(gca,'XTick',[]),set(gca,'YTick',[]);
end
elseifstrcmp(Tag_namen, 'Vorgabeliste') if Einlesen == 1 load content_popupmenu;
Zwischenspeicherpop = findobj('style','popupmenu');
for k = Zwischenspeicherpop'
Tag_namenpop = get(k,'tag');
Einlesenpop = var.(Tag_namenpop);
if Einlesenpop == 1 set(handles.Ausgabe_Entfernung,'FontWeight','normal','ForegroundColor','red','string','0,00');
set(handles.Entfernung_nach_HH,'enable','off');
set(handles.Auswahl_Abgangsort,'enable','on');
set(handles.Entfernung_nach_HH,'string','0');
Fotodatei = imread('DB_Schenker_Logo.jpg');
image(Fotodatei);
set(gca,'DataAspectRatio',[1.73511]);
set(gca,'Visible','on','Units','Pixels','Position',[229,443,800,136]);
set(gca,'XTick',[]),set(gca,'YTick',[]);
elseif Einlesenpop == 6 set(handles.Ausgabe_Entfernung,'FontWeight','normal','ForegroundColor',[1,0,0],'string',EntfernungnachHHfest(5));
Fotodatei = imread('Wiesbaden.jpg');
image(Fotodatei);
set(gca,'DataAspectRatio',[11.131]);
set(gca,'Visible','on','Units','Pixels','Position',[402,172,456,430]);
set(gca,'XTick',[]),set(gca,'YTick',[]);
end set(k,'Value',Einlesenpop);
end end end set(i,'Value',Einlesen);
end catch errordlg('Die zwischengespeicherten Werte konnten nicht gelesen werden oder existieren nicht!', 'Fehler beim Laden','modal');
end
try load content_text;
Zwischenspeicher = findobj('style','text');
for i = Zwischenspeicher'
Tag_namen = get(i,'tag');
Einlesen = var.(Tag_namen);
set(i,'string',Einlesen);
end catch errordlg('Die zwischengespeicherten Werte konnten nicht gelesen werden oder existieren nicht!', 'Fehler beim Laden','modal');
end
try load content_checkbox;
Zwischenspeicher = findobj('style','checkbox');
for i = Zwischenspeicher'
Tag_namen = get(i,'tag');
Einlesen = var.(Tag_namen);
set(i,'Value',Einlesen);
end catch errordlg('Die zwischengespeicherten Werte konnten nicht gelesen werden oder existieren nicht!', 'Fehler beim Laden','modal');
end
im Callback ist nicht sinnvoll! Dann würdest du in der Funktion ja nach dem Style 'style' und dem Property 'property' suchen.
Sinnvolle Aufruf sähen z.B. so aus:
Code:
DatenSpeichern('edit', 'string') %speichert für alle editierbaren Textfelder die Eigenschaft String
DatenSpeichern('radiobutton', 'value') %speichtert für alle Radiobuttons die Eigenschaft Value
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.