2016-12-31 52 views
3

我決定嘗試JvAlarms組件。所以我做:JEDI可視化組件庫:JvAlarms組件(幾個問題)

procedure TForm1.Button1Click(Sender_TObject); 
begin 
jvAlarms1.Add.Name :=Edit1.Text; 
jvAlarms1.Add.Time := dxDateTimeWheelPicker1.DateTime; 
label1.caption:=datetimetostr(dxDateTimeWheelPicker1.DateTime); 
jvAlarms1.Active:=True; 
end; 

現在,奇怪的是,當我設置報警並運行應用程序,立即讓我與我的報警信息的彈出窗口。 這是設計嗎? 當我關閉此消息後,應用程序將在稍後觸發我設置的鬧鐘。我只是想知道這個即時彈出窗口是默認的,還是可以關閉它,以及如何。如果你不能,那麼是否可以修改它,這樣你至少可以對用戶說些什麼,比如「你設置了鬧鐘:鬧鐘名稱,開火:鬧鐘時間」。

第二個問題關於報警信息。 當警報觸發時,您如何獲得警報消息名稱?

我嘗試:

ShowMessage( '報警:' + jvAlarms1.Name);

但它似乎沒有工作。

ShowMessage(: 我可以得到它 '報警:' + jvAlarms1.Items [0]請將.Name;

但我不知道報警的指標加入!?所以我不能使用。 什麼辦法可以找回我的代碼添加報警列表?

第三個問題把報警存儲。 你從*的.ini加載它們,或者你可以使用一個數據庫? 我可以沒有找到任何地方這種用法的例子(在這裏搜索結果變成'0')所以我將不勝感激,如果 有人可以指出我在正確的方向。

+0

您需要了解本網站的工作原理。這是*問題和答案*網站。請注意,這不是*問題* - 問題是單數。一般規則是每個職位一個問題;如果它們密切相關,有時可以擴展到兩個。它不會超出這個範圍,我們也不會在這裏編寫教程。如果您有多個問題,請創建單獨的帖子並詢問他們;如果你需要參考以前的細節,你可以鏈接到新的問題。使用開源組件庫(尤其是JEDI),您將需要深入源代碼;沒有文檔。 –

回答

0

您添加了兩個警報,因爲您兩次調用Add。說它是一次而不是:

var 
    Item: TJvAlarmItem; 
.... 
Item := jvAlarms1.Add; 
Item.Name :=Edit1.Text; 
Item.Time := dxDateTimeWheelPicker1.DateTime; 

當報警觸發組件的OnAlarm事件接收到發射的特定報警的參考。您可以從該參考中讀取名稱。

完全取決於你在哪裏存儲報警在你的應用程序。

+0

當這些警報觸發時,他們在被自己清除(刪除)後還是......?如果您使用數據庫或ini,那麼您必須使用計時器?沒有關於如何執行此操作的文檔。好的,我會聽你的建議。也許更好。 – user3351050

+0

@ user3351050:顯然不太好。 :-)現在你想在評論中再提出兩個問題。請再次閱讀我對你的問題的評論 - 如果你有新的問題,**創建一個新的帖子,並在那裏問**。 –

+0

@David Heffernan將:Item:= jvAlarms1.Add;編譯?我想不是。 – user763539