我想阻止用戶在單擊按鈕 3 次以上后再次單擊該按鈕。動作流程如下
- 用戶點擊按鈕
- 代碼顯示給用戶
- 用戶有機會再次在編輯框中輸入代碼
- 如果用戶通過單擊按鈕超過 3 次請求新代碼,他們將被限制再次單擊該按鈕。
procedure TVerifyForm.btnCAPTCHAClick(Sender: TObject);
var
A: integer;
begin
// CaptchaForm.ShowModal;
A := 0;
Inc(A);
if A = 3 then
begin
ShowMessage('BLOCKED');
end;
end;
uj5u.com熱心網友回復:
您正在使用區域變數,在這種情況下將不起作用。您需要一個在OnClick處理程式退出后仍然存在的變數。使其成為按鈕父表單的成員。
type
TVerifyForm = class(TForm)
...
private
NumberOfClicks: Integer;
...
end;
procedure TVerifyForm.btnCAPTCHAClick(Sender: TObject);
begin
if NumberOfClicks >= 3 then
begin
ShowMessage('BLOCKED');
Exit;
end
Inc(NumberOfClicks);
// CaptchaForm.ShowModal;
...
end;
或者,您可以簡單地使用按鈕自己的Tag屬性:
procedure TVerifyForm.btnCAPTCHAClick(Sender: TObject);
begin
if btnCAPTCHA.Tag >= 3 then
begin
ShowMessage('BLOCKED');
Exit;
end;
btnCAPTCHA.Tag := btnCAPTCHA.Tag 1;
// CaptchaForm.ShowModal;
...
end;
uj5u.com熱心網友回復:
只需創建一個變數,例如 fhitcount : intger;
在表單創建你把這個代碼 fhitcount := 3;
onclick 事件此代碼。
begin
fhitcount := fhitcount-1;
if fhitcount = 0 then
begin
//do what you want and set fhitcount := 3;
end;
end;
所以每次觸發 onclick 事件時,fhitcount 整數都會下降 -1。當他點擊 0 時,他會激活下一個代碼并將 fhitcount 重置為 3。如果你愿意的話。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/325358.html
標籤:德尔福
上一篇:為什么FileAge回傳意外值?
下一篇:創建單詞串列并按索引分組
