如何使用 TimeEdit 触发通知
How to fire notification using TimeEdit
我正在尝试使用 TimeEdit 在特定时间触发通知,但没有成功!
我使用的代码..
try
MyNot.Name := Edit1.Text;
MyNot.AlertBody := Edit2.Text;
MyNot.FireDate := Now + TimeEdit1.Time;
NotificationCenter1.ScheduleNotification(MyNot);
Finally
MyNot.DisposeOf;
我正在使用 Delphi10 Seattle Update1。
Now()
returns一个TDateTime
表示当前时钟date/time。然后,您将添加用户输入的相对于当前 date/time 的时间。例如,如果用户输入 00:05:00
,您将在当前 date/time.
的基础上增加 5 分钟
如果您希望通知在当前日期的 特定 时间触发,请使用 Date()
函数而不是 Now()
函数,以便您要添加相对于午夜 (00:00:00am
) 的输入时间:
MyNot.FireDate := Date + TimeEdit1.Time;
或者,您可以改用 SysUtils.ReplaceTime()
函数:
var
dt: TDateTime;
dt := Date;
ReplaceTime(dt, TimeEdit1.Time);
MyNot.FireDate := dt;
这还有一个额外的好处,那就是您可以配置任何您想要的日期,例如 SysUtils.EncodeDate()
函数:
var
wYear, wMonth, wDay: Word;
dt: TDateTime;
wYear := ...;
wMonth := ...;
wDay := ...;
dt := EncodeDate(wYear, wMonth, wDay) + TimeEdit1.Time;
MyNot.FireDate := dt;
或:
var
wYear, wMonth, wDay: Word;
dt: TDateTime;
wYear := ...;
wMonth := ...;
wDay := ...;
dt := EncodeDate(wYear, wMonth, wDay);
ReplaceTime(dt, TimeEdit1.Time);
MyNot.FireDate := dt;
我正在尝试使用 TimeEdit 在特定时间触发通知,但没有成功! 我使用的代码..
try
MyNot.Name := Edit1.Text;
MyNot.AlertBody := Edit2.Text;
MyNot.FireDate := Now + TimeEdit1.Time;
NotificationCenter1.ScheduleNotification(MyNot);
Finally
MyNot.DisposeOf;
我正在使用 Delphi10 Seattle Update1。
Now()
returns一个TDateTime
表示当前时钟date/time。然后,您将添加用户输入的相对于当前 date/time 的时间。例如,如果用户输入 00:05:00
,您将在当前 date/time.
如果您希望通知在当前日期的 特定 时间触发,请使用 Date()
函数而不是 Now()
函数,以便您要添加相对于午夜 (00:00:00am
) 的输入时间:
MyNot.FireDate := Date + TimeEdit1.Time;
或者,您可以改用 SysUtils.ReplaceTime()
函数:
var
dt: TDateTime;
dt := Date;
ReplaceTime(dt, TimeEdit1.Time);
MyNot.FireDate := dt;
这还有一个额外的好处,那就是您可以配置任何您想要的日期,例如 SysUtils.EncodeDate()
函数:
var
wYear, wMonth, wDay: Word;
dt: TDateTime;
wYear := ...;
wMonth := ...;
wDay := ...;
dt := EncodeDate(wYear, wMonth, wDay) + TimeEdit1.Time;
MyNot.FireDate := dt;
或:
var
wYear, wMonth, wDay: Word;
dt: TDateTime;
wYear := ...;
wMonth := ...;
wDay := ...;
dt := EncodeDate(wYear, wMonth, wDay);
ReplaceTime(dt, TimeEdit1.Time);
MyNot.FireDate := dt;