Delphi 绝地视觉组件库:JvAlarms组件(几个问题)

Delphi 绝地视觉组件库:JvAlarms组件(几个问题),delphi,jedi,Delphi,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

我决定试试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;
现在,奇怪的是,当我设置警报并运行应用程序时,立即会出现一个带有警报消息的弹出窗口。 这是故意的吗? 在我关闭此消息后,应用程序将稍后触发我已设置为准时的警报。我只是想知道此即时弹出窗口是默认设置还是您可以关闭它以及如何关闭。如果不能,是否可以对其进行修改,以便至少可以对用户说“您已将alarm:alarm name设置为fire:alarmtime”

第二个问题涉及报警信息。 当警报触发时,如何获取警报消息名称

我试过:

ShowMessage('报警:'+jvAlarms1.Name)

但它似乎不起作用。 我可以通过以下方式获得:

ShowMessage('Alarm:'+jvAlarms1.Items[0].Name

但是我不知道添加的警报的索引!所以我不能使用它。 我可以用什么方法检索代码添加的报警列表

第三个问题涉及警报存储。 您是从*.ini加载它们还是可以使用数据库? 我在任何地方都找不到此类用法的示例(此处搜索结果为“0”),因此如果
有人可以给我指出正确的方向。

你添加了两个警报,因为你调用了两次
Add
。改为调用一次:

var
  Item: TJvAlarmItem;
.... 
Item := jvAlarms1.Add;
Item.Name :=Edit1.Text;
Item.Time := dxDateTimeWheelPicker1.DateTime;
当报警触发时,组件的
OnAlarm
事件接收到对触发的特定报警的引用。您可以从该引用中读取名称


这完全取决于您在应用程序中存储警报的位置。

您需要了解此网站的工作原理。这是一个问答网站。请注意,这不是问题-问题是单数的。一般规则是每篇文章一个问题;如果它们密切相关,有时可以扩展到两个问题。它不会超出这一范围,我们不在这里编写教程。如果您有多个问题,请创建单独的帖子并提问;如果您需要参考以前的详细信息,可以链接到新问题中以前的问题。使用开源组件库(特别是JEDI),您需要深入到源代码中;没有文档。当这些警报触发时,它们是在自己清除(删除)后触发的还是…?如果使用数据库或ini,则必须使用计时器?没有关于如何执行此操作的文档。好的,肯,我会听从您的建议。可能更好。@user3351050:显然不太好。:-)现在,您试图在评论中提出另外两个问题。请再次阅读我对您的问题的评论-如果您有新问题,请创建一个新帖子并在那里提问。@David Heffernan will:Item:=jvAlarms1.Add;编译?我认为不会。它不会…没有足够的实际参数…:)@user763539然后解释问题中的代码?似乎询问者有不同版本的绝地武士。