Ich möchte einen Datum-Zeit-Vektor mit einer MATLAB-Benutzeroberfläche erstellen, bis jetzt habe ich alle Bearbeitungsfelder und Schaltflächen erstellt und sie funktionieren gut, aber es gibt 2 kleine Probleme, denen ich gegenüberstehenGenerieren Sie einen Vektor nur, wenn Callback-Funktion
1) Die Funktion pushbutton_cb3 ruft nur Datumszeichenfolge aus den Bearbeitungsbones nur ab, wenn ich die Eingabetaste an den Daten drücke, wie kann ich dies entfernen? 2) Ich möchte, dass die funtion pushbutton_cb3 den Wert irgendwo kehre ich in den Code erwähnt haben, eine Funktion waitfor
ziemlich gut aussehen, aber ich weiß nicht, wie es zu benutzen hier Hilfe wird sehr
function AddClassCalender
f = figure('Name', 'AddClassCalender');
EditBoxHandle1 = uicontrol(f, 'Style', 'Edit','Tag','edit1',...
'Units','normalized','Position', [0.05 0.9 0.2 0.05], 'Callback',@edit_callback);
EditBoxHandle2 = uicontrol(f, 'Style', 'Edit','Tag','edit2', ...
'Units','normalized','Position', [0.3 0.9 0.2 0.05], 'Callback',@edit_callback2);
ButtonHandle1 = uicontrol(f, 'Style', 'PushButton', ...
'String', 'Select the starting date', ...
'Units','normalized','Position', [0.05 0.85 0.22 0.05], ...
'callback', @pushbutton_cb1);
ButtonHandle2 = uicontrol(f, 'Style', 'PushButton', ...
'String', 'Select the starting date', ...
'Units','normalized','Position', [0.3 0.85 0.22 0.05], ...
'callback', @pushbutton_cb2);
TextHandle = uicontrol(f, 'Style', 'Text', ...
'String', 'Interval(mins):', ...
'Horizontalalignment', 'left', ...
'Units','normalized','Position', [0.6 0.9 0.2 0.05]);
EditBoxHandle3 = uicontrol(f, 'Style', 'Edit','Tag','edit3', ...
'Units','normalized','Position', [0.7 0.9 0.2 0.05], 'Callback',@edit_callback3);
ButtonHandle3 = uicontrol(f, 'Style', 'PushButton', ...
'String', 'Generate', ...
'Units','normalized','Position', [0.7 0.85 0.2 0.05], ...
'callback', @pushbutton_cb3);
%% I WANT THE PUSHBUTTON TO RETURN THE DATETIME VECTOR HERE SO I CAN USE IT FURTHER MORE
uiwait(f)
function pushbutton_cb1(hcbo, eventStruct)
uicalendar('Weekend', [1 0 0 0 0 0 1], ...
'SelectionType', 1, ...
'DestinationUI', EditBoxHandle1);
end
function pushbutton_cb2(hcbo, eventStruct)
uicalendar('Weekend', [1 0 0 0 0 0 1], ...
'SelectionType', 1, ...
'DestinationUI', EditBoxHandle2);
end
function edit_callback(hcbo, eventStruct)
Date = hcbo.String;
hcbo.UserData = Date;
end
function edit_callback2(hcbo, eventStruct)
Date = hcbo.String;
hcbo.UserData = Date
end
function edit_callback3(hcbo, eventStruct)
Interval = hcbo.String;
hcbo.UserData = Interval
end
function pushbutton_cb3(hcbo, eventStruct)
date1 = findobj('Tag','edit1');
date2 = findobj('Tag','edit2');
interval = findobj('Tag','edit3');
data1 = date1.UserData
data2 = date2.UserData
int_str = interval.UserData
interv = str2num(int_str)
interval_cal = 1/(1440/interv);
datevector = datetime(data1,'Format','dd-MMM-yyyy HH:mm:ss'):interval_cal:datetime(data2)
end