2016-03-24 11 views
-1

私はTimeEditを使用して特定の時間に通知を出そうとしています。 私が使用したコード.. Delphi10シアトルアップデート1を使用してTimeEditを使用して通知を消す方法

try 
MyNot.Name := Edit1.Text; 
MyNot.AlertBody := Edit2.Text; 
MyNot.FireDate := Now + TimeEdit1.Time; 
NotificationCenter1.ScheduleNotification(MyNot); 
Finally 
MyNot.DisposeOf; 

イム。

+0

http://docwiki.embarcadero.com/RADStudio/Seattle/en/Using_Notifications#Creating_Notifications – kami

+0

そのようなSysUtils.EncodeDate()機能などから、好きな日付を設定TimeEdit buddy @kamiについては何もなし – ColdZer0

+1

TTimeEditについて考えないでください。私は、あなたの問題はこのコントロールではないと思う。 'myNot.FireDate:= IncSecond(Now、30);を使用してみてください。たとえば、 – kami

答えて

0

Now()は、現在の時計の日付/時刻を表すTDateTimeを返します。現在の日付/時刻を基準にユーザーの入力時刻を追加します。たとえば、ユーザーが00:05:00と入力すると、現在の日付/時刻に5分が追加されます。

あなたは通知が現在の日付の特定時に起動するようにしたい場合は、真夜中(00:00:00am)に対する入力された時間を追加しているように、代わりにNow()機能のDate()機能を使用します。

MyNot.FireDate := Date + TimeEdit1.Time; 

また、あなたが代わりにSysUtils.ReplaceTime()機能を使用することができます。

var 
    dt: TDateTime; 

dt := Date; 
ReplaceTime(dt, TimeEdit1.Time); 
MyNot.FireDate := dt; 

をこれは、あなたがcの付加的な利点を持っています

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; 
+0

多くの感謝の仲間、パーフェクト。私の他の投稿を確認できますか[http://stackoverflow.com/questions/35963244/how-to-get-device-email-address-in-delphi-10]、もう一度ありがとうございます – ColdZer0

関連する問題