ʹÓÃDelphi±àдÆåÅÆÀàÓÎÏ· »ù´¡Æª(2)
¶ÔÓÚÍøÂçÓÎÏ·À´Ëµ£¬ËüºÍµ¥»ú°æÓÎÏ·×î´óµÄÇø±ð¾ÍÔÚÓÚÍøÂçͨÐŲ¿·Ö¡£¿ÉÒÔ˵£¬ÍøÂçͨÐÅÊǹ¹³ÉÍøÓεÄ×î»ù±¾ÔªËØ¡£ÔÚÕâÀïÎÒ²»ÏëÏêϸµÄÂÛÊöÈçºÎʹÓÃDELPHIÔÚWINDOWSϽøÐÐÍøÂç±à³Ì£¬ÒòΪÕâÊÇÒ»¸ö·Ç³£¸´ÔӵϰÌâ¡£ÕâÀïÎÒÖ»ÊÇÏë˵Ã÷ÔÚÎÒÉè¼ÆµÄÆåÅÆÀàÓÎÏ·ÖÐÈçºÎʵÏÖÓÎÏ·ÍøÂ粿·ÖµÄ¡£
¶ÔÓÚWINDOWSÀ´Ëµ£¬ËüµÄͨÐÅÄ£ÐÍ´ó¸Å·ÖΪ5ÖÖ¡£·Ö±ðÊÇ£º
1£ºSELECTÄ£ÐÍ¡£
2£ºWSAAsynSelectÄ£ÐÍ¡£
3£ºWSAEventSelectÄ£ÐÍ¡£
4£ºIOÖØµþÄ£ÐÍ
5£ºÍê³É¶Ë¿ÚÄ£ÐÍ¡£
¶ÔÓÚÐÔÄÜÀ´Ëµ£¬Íê³É¶Ë¿Ú¿ÉÒÔ¹ÜÀíÉÏÍòÁ¬½Ó£¨ÀíÂÛÁ¬½ÓÊýÁ¿¿ÉÒÔ´ïµ½65535¸ö£©£¬ËùÒÔÎÒÑ¡ÔñËüÀ´×÷ΪÎÒÓÎÏ··þÎñÆ÷µÄͨÐÅÄ£ÐÍ¡£
ÓÉÓÚÓÎÏ·¿Í»§¶ËºÍÓÎÏ··þÎñÆ÷µÄÁ¬½ÓÖ»ÐèÒªÒ»Ìõ¾Í¿ÉÒÔ£¬ËùÒÔÎÒÑ¡ÔñÁËSelectÄ£ÐÍ×÷Ϊ¿Í»§¶ËͨÐÅÄ£ÐÍ¡£
¹ØÓÚÈçºÎ±àдÍê³É¶Ë¿ÚÒÔ¼°ÔÚÍê³É¶Ë¿ÚÖÐÈçºÎ¼ÓÈëÐÄÌø£¬ÈçºÎ±ÜÃâÍøÂçͨÐÅÖеÄÕ³°üÏÖÏóÔÚÎÒÒÔǰµÄBLOGÖÐÒѾÓÐÁËÏêϸµÄ½²½â£¬ÓÉÓÚÆª·ùÌ«¶à£¬ÎÒÕâÀï¾Í²»ÔÚ½«ÆäÌù³ö¡£ÏêϸµÄ¿ÉÒԲο´ÎÒµÄBLOG ¡¶DELPHIÖÐÍê³É¶Ë¿Ú(IOCP)µÄ¼òµ¥·ÖÎö£¨1£©¡·-¡¶ DELPHIÖÐÍê³É¶Ë¿Ú(IOCP)µÄ¼òµ¥·ÖÎö£¨4£©¡·ºÍ¡¶ÍøÂçͨÐÅÖеÄÐÄÌø»úÖÆµÄʵÏÖ£¡¡·
µ«ÊÇÔÚÎÒ×î½üÖØÐ¼ì²é´úÂëµÄʱºò·¢ÏÖÎÒÒÔǰ¹ØÓÚIOCPµÄһЩ´¦Àí·½Ê½²»ºÏÊÊ»òÕßÓÐЩµØ·½ÊÇ´íÎóµÄ£¬ÎÒÒѾÔÚÒÔǰµÄBLOGÌû×ÓÖÐ×öÁËÏà¹ØµÄÐ޸ġ£
ÔÚÕâÀïÎÒÃÇÌÖÂÛÒ»ÏÂÈçºÎʵÏÖ¿Í»§¶ËͨÐÅÄ£ÐÍ(SelectÄ£ÐÍ)¡£¶ÔÓÚÊìÏ¤ÍøÂç±à³ÌµÄ³ÌÐòÔ±À´Ëµ£¬±àдһ¸öSELECTͨÐÅÄ£ÐÍÊÇÒ»¼þºÜ¼òµ¥µÄÊ£¬ÒòΪËüÊÇ5ÖÐͨÐÅÄ£ÐÍÖÐ×î¼òµ¥µÄÒ»ÖÖ¡£
±àдselectÄ£Ð͵ĴúÂëÈçÏ£º
Var
Fsocket£ºTsokcet;
procedure Star;
var
CliAddrIn:TSockAddrIn;
hThread:THandle;
ThreadID,outByte:DWORD;
keep_alive,out_keep_alive:TTimeVal;
iAddrSize,opt,I:Integer;
begin
//¼ÓÔØSOCKET,ÎÒʹÓõÄÊÇ2.2°æÎªÁ˺óÃæ·½±ã¼ÓÈëÐÄÌø
if WSAStartUp($202, wsData) <> 0 then
begin
WSACleanup();
end;
//´´½¨Ò»¸öÌ×½Ó×Ö
Fsocket:=socket(AF_INET,SOCK_STREAM,0);
if Fsocket =SOCKET_ERROR then
begin
closesocket(Fsocket);
end
else
begin
//ÕâÀïÌîÈëʵ¼ÊµÄ·þÎñÆ÷IPµØÖ·ºÍ·þÎñÆ÷¼àÌý¶Ë¿Ú
CliAddrIn.sin_addr.s_addr:=inet_addr(Pchar(‘127.0.0.1’));
Ïà¹ØÎĵµ£º
alter procedure qry_page
@sqlstr nvarchar(4000), --²éѯ×Ö·û´®
@page int, --µÚNÒ³
@pagesize int &n ......
delphi TStringListµÄÓ÷¨
TStringsÊÇÒ»¸ö³éÏóÀ࣬ÔÚʵ¼Ê¿ª·¢ÖУ¬ÊdzýÁË»ù±¾ÀàÐÍÍ⣬ӦÓõÃ×î¶àµÄ¡£
³£¹æµÄÓ÷¨´ó¼Ò¶¼ÖªµÀ£¬ÏÖÔÚÀ´ÌÖÂÛËüµÄһЩ¸ß¼¶µÄÓ÷¨¡£
ÏȰÑÒªÌÖÂ۵öÊôÐÔÁгöÀ´£º
1¡¢CommaText
2¡¢Delimiter & DelimitedText
3¡¢Names & Values & ValuefromIndex
ÏÈ¿´µÚÒ»¸ö£ºCommaText¡£Ôõô ......
VCÉùÃ÷
HANDLE CreateMutex(
¡¡¡¡LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD
¡¡¡¡BOOL bInitialOwner, // initial owner
¡¡¡¡LPCTSTR lpName // object name
¡¡¡¡);
delphiÉùÃ÷£º
function CreateMutex(lpMutexAttributes: PSecurityAttributes; bInitialOwner: BOOL; lpName: PChar): THandle; stdcall;
´´½ ......
DELPHI Ö¸ÕëʹÓÃÓõÄһƪºÃÎÄ ÊÕ²Ø
DelphiÀï×Ô¼º¹ÜÀíÄÚ´æµÄÁ½¶Ôº¯Êý new(),dispose()ºÍgetmem(),freemem()
´ó¼Ò¶¼ÈÏΪ£¬CÓïÑÔÖ®ËùÒÔÇ¿´ó£¬ÒÔ¼°Æä×ÔÓÉÐÔ£¬ºÜ´ó²¿·ÖÌåÏÖÔÚÆäÁé»îµÄÖ¸ÕëÔËÓÃÉÏ¡£Òò´Ë£¬ËµÖ¸ÕëÊÇCÓïÑÔµÄÁé»ê£¬Ò»µã¶¼²»Îª¹ý¡£Í ......
1£¬¹æ·¶¼ò½é
¡¡¡¡±¾¹æ·¶Ö÷Òª¹æ¶¨DelphiÔ´³ÌÐòÔÚÊéд¹ý³ÌÖÐËùÓ¦×ñѵĹæÔò¼°×¢ÒâÊÂÏî¡£±àд¸Ã¹æ·¶µÄÄ¿µÄÊÇʹ¹«Ë¾Èí¼þ¿ª·¢ÈËÔ±µÄÔ´´úÂëÊéдϰ¹ß±£³ÖÒ»Ö¡£ÕâÑù×ö¿ÉÒÔʹÿһ¸ö×éÔ±¶¼¿ÉÒÔÀí½âÆäËü×éÔ±µÄ´úÂ룬ÒÔ±ãÓÚÔ´´úÂëµÄ¶þ´Î¿ª·¢¼ÇÒäϵͳµÄά»¤¡£
2£¬Ò»°ã¸ñʽ¹æ·¶
2.1 Ëõ½ø
¡¡¡¡Ëõ½ø¾ÍÊÇÔÚµ±Ô´³ÌÐòµÄ¼¶¸Ä±äʱΪÔö¼ ......