0
とコールバック関数を呼び出すときにのみベクトルを生成するこれまでMATLABユーザーインターフェイスで日付時間ベクトルを作成したいが、編集ボックスとボタンがすべて作成されていて、うまく動作していますが、コールバック関数が
1)pushbutton_cb3関数は、日付の入力を押した場合にのみ編集ボーンからのデータ文字列を取得しますが、これをどのように削除できますか? 2)私は機能waitfor
はかなり良い見て、目的球のpushbutton_cb3がどこかに私がコードに言及した値を返すようにしたいが、私は ヘルプは非常に
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