Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

delphiÏ̳߳ء¾×ª¡¿


[code=Delphi(Pascal)]
unit uThreadPool;
{  aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
  Windows,
  Classes;
// ÊÇ·ñ¼Ç¼ÈÕÖ¾
// {$DEFINE NOLOGS}
type
  TCriticalSection = class(TObject)
  protected
    FSection: TRTLCriticalSection;
  public
    constructor Create;
    destructor Destroy; override;
    // ½øÈëÁÙ½çÇø
    procedure Enter;
    // À뿪ÁÙ½çÇø
    procedure Leave;
    // ³¢ÊÔ½øÈë
    function TryEnter: Boolean;
  end;
type
  // ´¢´æÇëÇóÊý¾ÝµÄ»ù±¾Àà
  TWorkItem = class(TObject)
  public
    // ÊÇ·ñÓÐÖØ¸´ÈÎÎñ
    function IsTheSame(DataObj: TWorkItem): Boolean; virtual;
    // Èç¹û NOLOGS ±»¶¨Ò壬Ôò½ûÓá£
    function TextForLog: string; virtual;
  end;
type
  TThreadsPool = class;
  //Ïß³Ì״̬
  TThreadState = (tcsInitializing, tcsWaiting, tcsGetting, tcsProcessing,
    tcsProcessed, tcsTerminating, tcsCheckingDown);
  // ¹¤×÷Ï߳̽öÓÃÓÚÏ̳߳ØÄÚ£¬ ²»ÒªÖ±½Ó´´½¨²¢µ÷ÓÃËü¡£
  TProcessorThread = class(TThread)
  *******
    // ´´½¨Ïß³ÌʱÁÙʱµÄEvent¶ÔÏó, ×èÈûÏß³ÌÖ±µ½³õʼ»¯Íê³É
    hInitFinished: THandle;
    // ³õʼ»¯³ö´íÐÅÏ¢
    sInitError: string;
    // ¼Ç¼ÈÕÖ¾
    procedure WriteLog(const Str: string; Level: Integer = 0);
  protected
    // Ïß³ÌÁÙ½çÇøÍ¬²½¶ÔÏñ
    csProcessingDataObject: TCriticalSection;
    // ƽ¾ù´¦Àíʱ¼ä
    FAverageProcessing: Integer;
    // µÈ´ýÇëÇóµÄƽ¾ùʱ¼ä
    FAverageWaitingTime: Integer;
    // ±¾Ïß³ÌʵÀýµÄÔËÐÐ״̬
    FCurState: TThreadState;
    // ±¾Ïß³ÌʵÀýËù¸½ÊôµÄÏ̳߳Ø
    FPool: TThreadsPool;
    // µ±Ç°´¦ÀíµÄÊý¾Ý¶ÔÏñ¡£
  &


Ïà¹ØÎĵµ£º

Delphi ×é¼þ¿ª·¢½Ì³ÌÖ¸ÄÏ£¨3£©×é¼þ×¢²á

ÔÚÉÏһƪÖУ¬ÎÒÃǼòµ¥µÄʵÏÖÁËÒ»¸ö¶ÔDelphi×ÔÉíµÄTEdit±à¼­¿ò¿Ø¼þµÄÒ»¸öÀ©³ä£¡µ«ÊÇÎÒÃDz¢²»ÄÜÏñDelphi×Ô¼ºµÄTEditÒ»Ñù£¬Äܹ»
ÔÚÉè¼Æ×´Ì¬Ï½øÐÐÉè¼Æ£¬¶øÊǷǵÃÒª×Ô¼ºÊÖ¶¯´´½¨¿Ø¼þ£¬È»ºó²ÅÄÜʹÓá£Õâ¸öËäȻ˵ҲÊÇ×é¼þ£¬µ«ÊÇȴʧȥÁË×é¼þµÄ¿ÉÉè¼ÆµÄ·½±ãÐÔ£¬½ö½ö¿É×÷Ϊһ¸öÀà¿âÀ´Ê¹Óá£
ÏÖÔÚÎÒ¾ÍÀ´½éÉÜһϣ¬ÈçºÎÈÃÕâ¸ö×é¼þ×¢ ......

DelPhiÏÂÓÃCDO·¢ËÍÓÊÏäʵÀý

Ïà¶ÔÓõÚÈý·½¿Ø¼þ£¬CDO·¢ËÍÓʼþ»¹ÊǺܼò½à·½±ãµÄ
×¢£ºCDONTSΪCDOµÄ×Ó¼¯£¬½öÖ§³ÖWinNT/Win2K£¬WinXPÒÔÉÏÇëÓÃCDO;
µ¥ÔªÒýÓÃComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
VCDOMessage:oleVariant;
begin
  vCDOMessage:=CreateOleObject('CDO.Message');
  vcdomessage.from:='MR.F'+'< ......

Delphi ÖÐMd5»ñÈ¡£¨Indy 9£©







ÔÚDelphi×Ô´øµÄIndy¿Ø¼þÖÐÆäʵÊÇÌṩÁËMD2,MD4,MD5¶ÔÏóµÄ£¬ÎÒÃÇ¿ÉÒÔÖ±½ÓʹÓÃËüÃÇÀ´Íê³ÉMD5µÄÇ©ÃûËã·¨¡£¶ø²»ÐèÒªÔÙÈ¥ÕÒÆäËüµÄ
DLL»òÊÇPasÁË¡£
ÔÚUsesµ¥ÔªÖÐÒýÓà IdHashMessageDigest,IdGlobal, IdHash µ¥Ôª£¬ÔÙдÈçÏ´úÂë¼´¿ÉÒÔ´ïµ½MD5µÄʵÏÖ¡£
ʾÀý´úÂë
procedure TForm1.Button1Click(Sen ......

ÈóÌÐòÖ»ÔËÐÐÒ»¸öʵÀý(Delphiƪ)

Windows ÏÂÒ»¸öµäÐ͵ÄÌØÕ÷¾ÍÊǶàÈÎÎñ£¬ÎÒÃÇ¿ÉÒÔͬʱ´ò¿ª¶à¸ö´°¿Ú½øÐвÙ×÷£¬Ò²¿ÉÒÔͬʱÔËÐгÌÐòµÄ¶à¸öʵÀý£¬±ÈÈç¿ÉÒÔ´ò¿ªÐí¶à¸ö×ÊÔ´¹ÜÀíÆ÷½øÐÐÎļþµÄÒÆ¶¯¸´ÖƲÙ×÷¡£µ«ÓÐʱ³öÓÚijÖÖ¿¼ÂÇ£¨±ÈÈ簲ȫÐÔ£©£¬ÎÒÃÇÒª×ö³öһЩÏÞÖÆ£¬ÈóÌÐòÖ»Äܹ»ÔËÐÐÒ»¸öʵÀý¡£ÔÚDelphi±à³ÌÖУ¬±ÊÕß×ܽá³öÁËÒÔϼ¸ÖÖ·½·¨£º
¡¡¡¡Ò»¡¢ ²éÕÒ´°¿Ú·¨
¡¡¡ ......

delphi ½Å±¾ÒýÇæ±È½Ï

TMS Scripter£ºÖ§³ÖPascalºÍVBScriptÁ½ÖÖÓï·¨¡£ÓŵãÊÇÎĵµÆëÈ«¡¢Àý×ÓÆëÈ«£¬½Å±¾¿ÉÖ±½ÓÖ§³ÖDLL£¬¹Ù·½»¹ÌṩÁ˷ḻµÄIDE Debug¹¤¾ß¡¢µ¥Ôªµ¼³öº¯Êý¹¤¾ßµÈ£¬È±µãÊDZàÒëÔËÐнÏÂý¡£for ¿ÕÑ­»·1000Íò´Î£¬ÐèÒª10ÃëÖÓÒÔÉÏ¡£TMS ScripterÊÇÉÌÒµ¹²ÏíÈí¼þ¡£
       FastScript£ºÓùýFastReport±¨±íµÄÍ¬Ñ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ