»çÀÌ»çÀÌ (¹®È£»ó)
|
|
µ¨ÆÄÀÌ·Î ¸¸µç´Ù¸é ¾Æ·¡¿Í °°ÀÌ Å¬·¡½ºÇÙÀ» ÀÌ¿ëÇؼ ¼Õ½±°Ô ¸¸µé¼ö ÀÖÀ»°Í °°½À´Ï´Ù
TButton = class(Vcl.StdCtrls.TButton)
public
procedure Click; override;
end;
TForm5 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
Sleep(1000);
Memo1.Lines.Add('click');
end;
{ TButtonHelper }
procedure TButton.Click;
begin
Self.Enabled:= False;
try
inherited Click;
finally
Self.Enabled:= True;
end;
end;
2020-03-11 ¿ÀÈÄ 10:03:59
|
|
|
»çÀÌ»çÀÌ (¹®È£»ó)
|
|
Ŭ·¡½º ÇÙÀ» °ü¸®ÇÏ´Â À¯´ÖÀ» µû·Î ¸¸µé¾î¼ °ø¿ëÀ¸·Î ÀÌ¿ëÇصµ ÁÁ±¸¿© 2020-03-11 ¿ÀÈÄ 10:09:11
|
|
|
ÁÖÁ¤¼· (ÁÖÁ¤¼·)
|
|
»çÀÌ»çÀÌ´Ô. ±× ¹æ¹ýÀ¸·Î Áߺ¹ Ŭ¸¯À» ¸·À» ¼ö°¡ ¾ø½À´Ï´Ù. ¹öÆ°À» ¿¬¼Ó Ŭ¸¯Çϸé Áߺ¹À¸·Î Ŭ¸¯ À̺¥Æ®°¡ ½ÇÇàµË´Ï´Ù.
ù¹ø° Ŭ¸¯À¸·Î ¹öÆ°ÀÌ ºñÈ°¼ºÈµÈ »óÅ¿¡¼ ¿¬¼Ó Ŭ¸¯ÇØ º¸¼¼¿ä, ¿¬¼ÓÀ¸·Î ½ÇÇàµË´Ï´Ù. Sleep(3000) Á¤µµ·Î º¯°æÇÏ°í Å×½ºÆ®Çغ¸¼¼¿ä. 2020-03-11 ¿ÀÈÄ 10:50:17
|
|
|
ÁÖÁ¤¼· (ÁÖÁ¤¼·)
|
|
ÀÓÆ÷½ºÅÍ Å¬·¡½º(Ŭ·¡½º ÇÙ) ¹æ½ÄÀº ÄöÅÒ°°Àº ´Ù¸¥ ¼µå ÆÄƼ ¹öÆ°µé¿¡ ´ëÇؼ µ¿ÀÛÇÏÁö ¾Ê´Â ¹®Á¦µµ ÀÖ½À´Ï´Ù. 2020-03-11 ¿ÀÈÄ 11:00:20
|
|
|
ƽÅå (ÀÌÀå¿ì)
|
|
click ¿¡ ³ÖÁö¾Ê°í lbuttondown À̺¥Æ®¿¡ ³ÖÀ¸¸é °£´ÜÇÒ°Å °°Àºµ¥
procedure TButton.lbuttondown;
begin
if enabled = false then exit;
Self.Enabled:= False;
inherited;
end;
procedure TButton.Click;
begin
if enabled = false then exit;
try
inherited Click;
finally
Self.Enabled:= True;
end;
end; 2020-03-11 ¿ÀÈÄ 11:03:37
|
|
|
»çÀÌ»çÀÌ (¹®È£»ó)
|
|
¿À, ±×·¸³×¿ä. À̺¥Æ®°¡ Å¥¿¡¼ ¾ÈºüÁ®³ª°¬³ª º¸³×¿ä.
¾²·¹µå¶óµµ ½á¼ ½×ÀÎÅ¥¸¦ ºñ¿ö³»¾ß Çϳªº¾´Ï´Ù.
procedure TButton.Click;
begin
Self.Enabled:= False;
try
inherited Click;
finally
TThread.CreateAnonymousThread(procedure
begin
Sleep(100);
TThread.Queue(nil, procedure
begin
Self.Enabled:= True;
end);
end).Start;
end;
end;
2020-03-11 ¿ÀÈÄ 11:05:09
|
|
|
»çÀÌ»çÀÌ (¹®È£»ó)
|
|
ÁÖÁ¤¼·´Ô, ÀÓÆ÷½ºÅÍ Å¬·¡½º´Â ¼µåÆÄƼ¹öÆ°µé¿¡°Õ »ç¿ëÇÏÁö ¸øÇÑ´Ù´Â ¸»¾¸Àº
ºÒ°¡ÇÏ´Ù´Â ¸»¾¸À̽Ű¡¿ä? ¾Æ´Ô Ŭ·¡½º Á¾·ùº°·Î ÀÛ¾÷À» ÇؾßÇÑ´Ù´Â ¸»¾¸À̽Ű¡¿ä?
ÈÄÀÚ¶ó°í »ý°¢µÇ´Âµ¥ ÈÄÀÚ°¡ ¸Â´Ù¸é Ãʹݿ¡ °øµé¿©¼ ÀÓÆ÷½ºÅÍ Å¬·¡½º¸¦ ¸¸µé¾î¼ »ç¿ëÇÏ´Â°Ô ÃæºÐÈ÷ °øµéÀϸ¸ÇÑ °¡Ä¡°¡ À־ÀÔ´Ï´Ù. 2020-03-12 ¿ÀÀü 12:34:50
|
|
|
ÁÖÁ¤¼· (ÁÖÁ¤¼·)
|
|
ÀÓÆ÷½ºÅÍ Å¬·¡½º¸¦ »ç¿ëÇÏ·Á¸é ¹öÆ° Ŭ·¡½º Á¾·ùº°·Î ÀÛ¾÷À» ÇؾßÇÑ´Ù´Â ¸»ÀÔ´Ï´Ù.
±×¸®°í À§ ¹æ¹ýÀº ºÒÇེ·´°Ôµµ µ¨ÆÄÀÌ 7¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø´Â ¹æ¹ýÀÎÁö¶ó, ³» Ã¥¿¡¼ ¼³¸íÇÑ°Í Ã³·³ ŸÀ̸Ӹ¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁ½À´Ï´Ù. 2020-03-12 ¿ÀÀü 12:39:37
|
|
|
ÁÖÁ¤¼· (ÁÖÁ¤¼·)
|
|
±×¸®°í TThread.CreateAnonymousThread()¾ÈÀÇ Sleep(100) ¿¡¼ 100À̶õ ¼ýÀÚ°¡ Á» ¾Ö¸ÅÇѵ¥, ¸Å¿ì ºü¸¥ CPU¶ó¸é ¶È°°Àº ¹®Á¦°¡ ÀÖÀ»¼öµµ ÀÖÁö ¾ÊÀ»±î ¸ð¸£°Ú³×¿ä.
±×·±µ¥ ¹öÆ°¸»°íµµ ¸Þ´º³ª ´Ù¸¥ ÄÜÆ®·ÑÀÇ À̺¥Æ®¿¡¼µµ ºñ½ÁÇÑ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
2020-03-12 ¿ÀÀü 1:00:03
|
|
|
´Ê¹Ù¶÷ (È«½ÂÀÏ)
|
|
Àú´Â Á» ¹«½ÄÇÑ ¹æ¹ýÀÏÁö ¸ð¸£Áö¸¸ ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.
procedure TButton.Click;
var
iClick : cardinal;
begin
iClick := GetTickCount;
if fLastClick + 1000 > iClick then
Exit;
fLastClick := iClick;
inherited Click;
end;
Form Unit¿¡¼ ¹öÆ° Ŭ¸¯ À̺¥Æ®¿¡ Á÷Á¢ À§ÀÇ Äڵ带 »ç¿ëÇϱ⵵ ÇÏ°í¿ä. 2020-03-15 ¿ÀÈÄ 3:08:30
|
|
|
ÀÚ¸ùÀÙ (Ãʺ¸°³¹ßÀÚ)
|
|
Ȥ½Ã³ª Çؼ ÆÄÀ̾î¸ùÅ° ÇÁ·¹ÀÓ¿÷¿¡¼µµ µ¿ÀÏÇÑ À̽´°¡ ÀÖ³ª Å×½ºÆ® Çغ¸´Ï ¹®Á¦¾øÀÌ Çѹø¸¸ ½ÇÇàµÇ³×¿ä 2020-03-16 ¿ÀÀü 9:30:37
|
|
|
ÀÚ¸ùÀÙ (Ãʺ¸°³¹ßÀÚ)
|
|
ÀÌ·± ¹æ¹ýµµ ÀÖÀ»°Å °°½À´Ï´Ù.
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.Enabled := False;
Memo1.Lines.Add('Click Event');
Sleep(2000);
Application.ProcessMessages;
Button1.Enabled := True;
end;
2020-03-16 ¿ÀÀü 10:52:06
|
|
|
ÇÒ¦ÀÌ (±è¹Î¼ö)
|
|
ÀÚ¸ùÀÙ´Ô Äڵ带 ¾à°£ ¼öÁ¤Çϸé ButtonÀ̶ó±âº¸´Ü
ÇØ´ç ÄÞÆ÷³ÍÆ®°¡ TObject·Î ¿À´Ï±ñ Sender ·Î ó¸®ÇϼŵµµË´Ï´Ù.
procedure TForm1.Button1Click(Sender: TObject);
begin
Sender.Enabled := False; // ¾ÈµÇ¸é (Sender as Button).Enabel := False;
try
// TODO: somthing
finally
Sender.Enabled := True;
end; 2020-03-23 ¿ÀÈÄ 1:15:32
|
|
|