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»ÒªÈ¥Àí»áÕâ¸öÊôÐÔ£¬Ò»ÇÐÓÉÄãÀ´²Ù×÷£¬²ÅÄÜʹÏ̸߳üÁé»îÇ¿´ó¡£
½ÓÏÂÀ´µÄÎÊÌâÊÇÈçºÎʹ¹¤×÷Ï̺߳ÍÖ÷Ï̺߳ܺõÄͨÐÅ£¬ºÜ¶àʱºòÖ÷Ïß³Ì
Ïà¹ØÎĵµ£º
ÖÆ×÷Ô²½Ç¾ØÐεĴ°Ì壺
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandle;
03.begin
04.hr:=createroundrectrgn(0,0,width,height,20,20);
05.setwindowrgn(handle,hr,true);
06.end;
Èç¹û²»Òª´°ÌåÍâ¿ò£¬ÔòʹÓãº
01.procedure TPortForm.FormCreate(Sender: Tobject);
02.var hr :thandl ......
1.1¡¢¼¤»î
var doc,url:Olevariant ;
begin
url:='about:blank' ;//»òÕßÒ»¸öÓÐʵ¼ÊÒâÒåµÄurl
WebBrowser1.Navigate2(url);//ÕâÑù¾Í¼¤»îÁË£¡
end;
1.2¡¢Ð´HTML´úÂë
var doc:Olevariant ;
s:string;
begin
doc:=WebBrowser1.Document;
doc.clear;//Çå³þÔµÓÉÄÚÈÝ£¬ÒÔ±ãдÐÂÄÚÈÝ
doc.write('<html>');
//ÆäË ......
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 ......
×ܽáÒ»ÏÂSQLÓï¾äÖÐÒýºÅ(')¡¢quotedstr()¡¢('')¡¢format()ÔÚSQLÓï¾äÖеÄÓ÷¨ÒÔ¼°SQLÓï¾äÖÐÈÕÆÚ¸ñʽµÄ±íʾ(#)¡¢('')
ÔÚDelphiÖнøÐÐ×Ö·û±äÁ¿Á¬½ÓÏà¼Óʱµ¥ÒýºÅÓÃ('''),ÓÖÒýºÅÓÃ('''')±íʾ
Ê×Ïȶ¨Òå±äÁ¿
var
AnInt:integer=123;//ΪÁË·½±ãÔڴ˶¼¸øËüÃǸ³³õÖµ¡£ËäÈ»¿ÉÄÜÔÚÒý¸³³õÖµÔÚijЩÇé¿öϲ»¶Ô
AnIntStr:string='456'; ......
CSDNÂÛ̳ÖУ¬¾³£¿´µ½ÓÐ¹Ø½ØÆÁµÄÌù¡£Ëùν½ØÆÁ£¬Ö¸µÄÊÇ»ñÈ¡ÆÁÄ»£¬»òÕ߯ÁÄ»ÉÏij¸ö´°¿ÚÉϵÄÐÅÏ¢£¬²¢½«Æäת»»ÎªÍ¼ÏñµÄ²Ù×÷¡£Îª´Ë£¬Ò²Ð´Á˼¸¸öWindowsÏµē½ØÆÁ”º¯Êý£º
¹ý³Ì¶¨Ò壺
// »ñÈ¡CanvasÓÐÐ§ÇøÓòÄÚµÄͼÏñÊý¾Ý¡£±ØÐëÓÃFreeImageDataÊÍ·ÅÊý¾Ý½á¹¹
// Ó¦µ÷ÓÃImageEmpty¼ì²é·µ»ØÊý¾Ý½ ......