gpt4 book ai didi

delphi - 如何防止用户过于频繁地单击按钮?

转载 作者:行者123 更新时间:2023-12-02 04:28:07 25 4
gpt4 key购买 nike

在按钮单击事件中,我向服务器发送命令。我不希望服务器被请求淹没,因此我想防止用户过于频繁地单击按钮。

我考虑过计算按钮被点击的次数,如下所示:

button.tag := button.tag + 1;
if button.Tag = 5 then
exit;

但这没有帮助,因为每次我需要检测快速点击时,我都必须将标签设置为 0,这也没有帮助,因为它会每 5 次点击检测标签编号,而我只需要知道如果重复单击该按钮。

如何在不使用按钮标签的情况下检测快速按钮点击?

最佳答案

如果您想限制从客户端向服务器发送命令的频率,请在每次单击后不久禁用该按钮。这将为用户提供正在处理某些内容的反馈。我假设服务器在准备就绪时无法提供反馈。

procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled := false;
Timer1.Interval := 500; // Pick a suitable interval
Timer1.Enabled := true;
SendCommand(); // Make call to server
end;

procedure TForm1.Timer1Timer(Sender: TObject);
// Timer1 is disabled at startup
begin
Button1.Enabled := true;
Timer1.Enabled := false;
end;

注意:如果您尝试在服务器上进行一些负载平衡,则必须有一种方法让客户端知道如何限制调用。但这都是一种向后的方法,服务器应该能够处理这个问题,而不对客户端有任何限制。

关于delphi - 如何防止用户过于频繁地单击按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com