DelphiµÄTThreadÀà
DelphiµÄTThreadÀà
http://bigpower.blog.51cto.com/209892/89525
ÎÒÃdz£Óй¤×÷Ï̺߳ÍÖ÷Ïß³ÌÖ®·Ö£¬¹¤×÷Ï̸߳ºÔð×÷һЩºǫ́²Ù×÷£¬±ÈÈç½ÓÊÕÓʼþ£»Ö÷Ï̸߳ºÔð½çÃæÉϵÄһЩÏÔʾ¡£¹¤×÷Ï̵߳ĺô¦ÔÚijЩʱºòÊDz»ÑÔ¶øÓ÷µÄ£¬ÄãµÄÖ÷½çÃæ¿ÉÒÔÏìÓ¦ÈκβÙ×÷£¬¶ø±³ºóµÄÏß³ÌÈ´ÔÚĬĬµØ¹¤×÷¡£
VCLÖУ¬¹¤×÷Ïß³ÌÖ´ÐÐÔÚExecute·½·¨ÖУ¬Äã±ØÐë´ÓTThread¼Ì³ÐÒ»¸öÀಢ¸²¸ÇExecute·½·¨£¬ÔÚÕâ¸ö·½·¨ÖУ¬ËùÓдúÂ붼ÊÇÔÚÁíÒ»¸öÏß³ÌÖÐÖ´Ðеģ¬³ý´ËÖ®Í⣬ÄãµÄÏß³ÌÀàµÄÆäËû·½·¨¶¼ÔÚÖ÷Ïß³ÌÖ´ÐУ¬°üÀ¨¹¹Ôì·½·¨£¬Îö¹¹·½·¨£¬ResumeµÈ£¬ºÜ¶àÈ˳£³£ºöÂÔÁËÕâÒ»µã¡£
×î¼òµ¥µÄÒ»¸öÏß³ÌÀàÈçÏ£º
TMyThread = class(TThread)
protected
procedure Execute; override;
end;
ÔÚExecuteÖеĴúÂ룬ÓÐÒ»¸ö¼¼ÊõÒªµã£¬Èç¹ûÄãµÄ´úÂëÖ´ÐÐʱ¼äºÜ¶Ì£¬ÏñÕâÑù£¬Sleep(1000)£¬ÄÇûÓйØϵ£»Èç¹ûÊÇÕâÑùSleep (10000)£¬10Ã룬ÄÇôÄã¾Í²»ÄÜÖ±½ÓÕâÑùдÁË£¬Ðë°ÑÕâ10Ãë²ð·Ö³É10¸ö1Ã룬ȻºóÅжÏTerminatedÊôÐÔ£¬ÏñÏÂÃæÕâÑù£º
procedure TMyThread.Execute;
var
i: Integer;
begin
for i := 0 to 9 do
if not Terminated then
Sleep(1000)
else
Break;
end;
ÕâÑùдÓÐʲôºÃ´¦ÄØ£¬ÏëÏëÄãÒª¹Ø±Õ³ÌÐò£¬ÔڹرյÄʱºòµ÷ÓÃMyThread.Free£¬Õâ¸öʱºòÏ̲߳¢Ã»ÓÐÂíÉϽáÊø£¬Ëüµ÷ÓÃWaitFor£¬µÈ´ý ExecuteÖ´ÐÐÍêºó²ÅÄÜÊÍ·Å¡£ÄãµÄ³ÌÐò¾Í±ØÐëµÈ10ÃëÒÔºó²ÅÄܹرգ¬ÊܵÃÁËÂð¡£Èç¹ûÏñÉÏÃæÄÇÑùд£¬ÔÚ³ÌÐò¹Ø±Õʱ£¬µ÷ÓÃFreeÖ®ºó£¬Ëü¶¥¶àÔÙµÈÒ»Ãë¾Í»á¹Ø±Õ¡£ÎªÊ²Ã´£¿´ð°¸µÃÈ¥Ïß³ÌÀàµÄDestroyÖÐÕÒ£¬Ëü»áÏȵ÷ÓÃTerminate·½·¨£¬ÔÚÕâ¸ö·½·¨ÀïÃæËü°ÑTerminatedÉèΪTrue£¨½ö´Ë¶øÒÑ£¬ºÜ¶àÈËÒÔΪÊǽáÊøỊ̈߳¬Æäʵ²»ÊÇ£©¡£Çë¼ÇסÕâÒ»ÇÐÊÇÔÚÖ÷Ïß³ÌÖвÙ×÷µÄ£¬ËùÒÔºÍExecuteÊDz¢ÐÐÖ´Ðеġ£¼ÈÈ»TerminatedÊôÐÔÒÑΪ Ture£¬ÄÇôÔÚExecuteÖÐÅжÏÖ®ºó£¬µ±È»¾ÍBreakÁË£¬ExecuteÖ´ÐÐÍê±Ï£¬Ïß³ÌÀàÒ²Õý³£ÊÍ·Å¡£
»òÕßÓÐÈË˵£¬TThread¿ÉÒÔÉèFreeOnTerminateÊôÐÔΪTrue£¬Ïß³ÌÀà¾ÍÄÜ×Ô¶¯ÊÍ·Å¡£³ý·ÇÄãµÄÏß³ÌÖ´ÐеÄÈÎÎñºÜ¼òµ¥£¬²»È»£¬»¹ÊDz»ÒªÈ¥Àí»áÕâ¸öÊôÐÔ£¬Ò»ÇÐÓÉÄãÀ´²Ù×÷£¬²ÅÄÜʹÏ̸߳üÁé»îÇ¿´ó¡£
½ÓÏÂÀ´µÄÎÊÌâÊÇÈçºÎʹ¹¤×÷Ï̺߳ÍÖ÷Ï̺߳ܺõÄͨÐÅ£¬ºÜ¶àʱºòÖ÷Ïß³Ì
Ïà¹ØÎĵµ£º
procedure TForm1.Button1Click(Sender: TObject);
Var
Num: Integer;
Begin
Try
Num:=StrToInt(Edit1.Text);
Edit2.Text:=IntToStr(Num*Num);
Except
On EConvertError Do ShowMessage(Edit1.Text+'ÎÞ·¨×ª³ÉÕûÊý!');
......
delphiÖÐWebbrowserÎÊÌâÊÕ¼¯
»ñµÃÍøÒ³ÖбäÁ¿Öµ htmÖÐ<script> var currID=123</script> ³ÌÐòÖпÉÒÔÕâôµ÷Óà id := Form1.WebBrowser1.OleObject.Document.script.currID ÖµµÃ˵Ã÷µÄÊÇ,±äÁ¿¿ÉÒÔÊÇjavascript¶¨ÒåµÄ,Ò²¿ÉÒÔÊÇvbs ......
ListView1.Items Ϊ±ê×¼ TlistitemsÀà
ListView1.Items
(1)¸³Öµ
with ListView1.Items.Add do
begin
Caption:=caption; //Ìí¼ÓµÚÒ»Ïî
SubItems.add(aaaaa); //Ìí¼ÓºóÃæÊý¾Ý
SubItems.add(1234);
SubItems.add(1234);
end; //Ò»¶¨ÒªÊ¹ÓÃWITH½á¹¹.
(2)È¡Öµ
listview1.Items.Item[i].Caption È¡µÃijÌõÊý¾Ý±êÌâ
l ......
DelphiµÄTCanvasÒÔ¼°ÅÉÉúÀàÌṩÁËÏÔʾTGraphicͼÏñµÄ·½·¨Draw£¬ÆäʵÕâ¸ö·½·¨±¾Éí²¢Ã»ÓÐÏÔʾͼÏñµÄ¹¦ÄÜ£¬Ö»ÊÇ·´¹ýÀ´µ÷ÓÃÁËÒ»ÏÂTGraphicµÄDraw·½·¨¡£TGraphic±¾ÉíÊǸö³éÏóÀ࣬ÆäDraw·½·¨Ò²ÊǸö´¿Ðé·½·¨£¬ËùÒÔTGraphicµÄËùÓÐÅÉÉúÀà±ØÐëÌṩһ¸ö¾ßÌåµÄDraw·½·¨¡£TGraphicµÄÖ÷ÒªÅÉÉúÀàTBitmapÒ²ÓÐÒ»¸öDraw·½· ......
×ܽáÒ»ÏÂSQLÓï¾äÖÐÒýºÅ(')¡¢quotedstr()¡¢('')¡¢format()ÔÚSQLÓï¾äÖеÄÓ÷¨ÒÔ¼°SQLÓï¾äÖÐÈÕÆÚ¸ñʽµÄ±íʾ(#)¡¢('')
ÔÚDelphiÖнøÐÐ×Ö·û±äÁ¿Á¬½ÓÏà¼Óʱµ¥ÒýºÅÓÃ('''),ÓÖÒýºÅÓÃ('''')±íʾ
Ê×Ïȶ¨Òå±äÁ¿
var
AnInt:integer=123;//ΪÁË·½±ãÔڴ˶¼¸øËüÃǸ³³õÖµ¡£ËäÈ»¿ÉÄÜÔÚÒý¸³³õÖµÔÚijЩÇé¿öϲ»¶Ô
AnIntStr:string='456'; ......