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

¸ÄÔìDelphiµÄTStringHash³É±È½ÏͨÓõĹþÏ£±í

ÓÐʱºòÎÒÃÇÐèÒª¿ÉÒÔ¸ßËÙ¼ìË÷µÄÁÐ±í£¬×ÔÈ»»áÏëµ½¹þÏ£±í£¬Æ½Ê±ÎÒÃÇ¿ÉÄÜÏëµ½ÓÃIniFilesµ¥ÔªÀïµÄTHashedStringList£¬µ« THashedStringListÿ´ÎÐÂÔöÒ»¸öItemºó¶¼ÐèҪˢÐÂÒ»±é£¬Êý¾Ý¶àÁË¿ÉÄÜ»áÓеãÂý£¬¸Ð¾õ²»Ì«ºÃ£¬¶øTStringHashÔòÖ»ÄÜ´æ IntegerÐ͵Ä(ËäÈ»ÎÒÃÇ¿ÉÒ԰ѱðµÄ¶«Î÷Ç¿ÖÆ×ª³ÉÕûÐÍ´æ½øÈ¥£¬µ«¸Ð¾õ²»Ì«ºÃ)¡£TStringHashÒѾ­ÊµÏÖÁ˹þÏ£±íµÄÈ«²¿¹¦ÄÜ£¬ÎÒÃÇÖ»ÐèÒª¸ÄһϠ¾Í¿ÉÒÔΪ×Ô¼ºËùÓÃÁË¡£
ÎÒÖ÷Òª×öÁËÏÂÃæÒ»Ð©Ð޸ģº
1.ΪÄܸüͨÓÃһЩ£¬°Ñ´æ´¢µÄÖµ¸ÄΪPointerÀàÐÍ;
2.ÐÂÔöÁËFindKey·½·¨ÓÃÓÚÅжϱíÖÐÊÇ·ñ´æÔÚij¸öKeyÁË;
3.ÐÂÔöÁËStartEnumºÍEnumValue·½·¨£¬ÓÃÓÚ±éÀúÕû¸ö¹þÏ£±í£¬±ÈÈ磺
var aItem:TIntfItem;
begin
FList.StartEnum;
while FList.EnumValue(Pointer(aItem)) do
begin
      if aItem.Lifecycle=ilSys then
      aItem.Free;
end;
end;
4.ÐÂÔöÁËOnDeletionʼþ£¬¹¦ÄܺÍTtreeViewµÄOnDeletionÒ»Ñù£¬É¾³ýItemʱ´¥·¢£¬¿ÉÒÔÔÚÕâÀïÊÍ·ÅЩ¶«Î÷£¬±ÈÈ磺
procedure TIntfFactory.OnDeletion(var Value: Pointer);
begin
if assigned(Value) then
begin
    TIntfItem(Value).Free;
    Value:=nil;
end;
end;
ÏÂÃæÊÇÐ޸ĺóµÄ´úÂ룺
unit HashList;
interface
Type
PPHashItem = ^PHashItem;
PHashItem = ^THashItem;
THashItem = record
    Next: PHashItem;
    Key: string;
    Value: Pointer;
end;
TDeletionEvent=Procedure(var Value:Pointer) of Object;
THashList = class
private
    FEnumIndex:Cardinal;
    FCurrItem:PHashItem;
    Buckets: array of PHashItem;
    FOnDeletion: TDeletionEvent;
    procedure DoDeletion(var Value:Pointer);
protected
    function Find(const Key: string): PPHashItem;
    function HashOf(const Key: string): Cardinal; virtual;
public
    constructor Create(Size: Cardinal = 256);
    destructor Destroy; override;
    procedure Add(const Key: string; Value: Pointer);
    procedure Clear;
   


Ïà¹ØÎĵµ£º

delphi ¶ÁÈ¡¼ôÕ³°åÄÚµÄhtml¸ñʽÊý¾Ý

¸ù¾Ý¼ôÌù°åµÄÔ­Àí£¬ÔÚ»ñÈ¡¼ôÌù°åÄÚÈÝ֮ǰ£¬±ØÐëÖ¸¶¨Òª»ñÈ¡ÄÚÈݵĸñʽ¡£ÓÉÓÚ¼ôÌù°åÖеÄÊý¾Ý¿ÉÄÜ´æÔÚ¶àÖÖ¸ñʽ£¬ËùÒÔÓбØÒª¶Ô¼ôÌù°åµÄ¸ñʽÀàÐÍÏÈ×öһЩÁ˽⡣WдÏÂÁËÒÔϵIJâÊÔ´úÂ룺
procedure TForm1.Button3Click(Sender: TObject);
var
  i: integer;
  Buffer: PChar;
  s: string;
begin
  M ......

Delphi callµ÷ÓÃÀý×Ó

ÔÚȺÀï¿´µ½ÓÐÈË·¢Á˸ö±ðÈË·¢¸øËûµÄ
ÎÒ¿´ÁËдµÄ±È½ÏÉú¶¯ ÔÚÕâת¸ø´ó¼Ò¿´¿´
ºÃµÄ ʰȡÎïÌ庯ÊýдºÃÁË Ï²½ÊÇÈçºÎ½«´úÂë×¢Èëµ½ÓÎÏ·½ø³ÌÖÐÖ´ÐÐ??
1) С͵¿ªÃÅ
PHND:= OpenProcess (PROCESS_ALL_ACCESS, False, PID);µÃµ½ÓÎÏ·´°¿Ú¾ä±ú»ñµÃȨÏÞ
2)С͵ÔÚ·¿¼ä¸ã¸ö·Å×÷°¸·½°¸µÄµØ·½
TAdd := VirtualAllocEx(PHND, nil, 4096, ......

Óà delphi ´ò¿ªÍøÒ³

uses ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
//ÓÃIE´ò¿ª
  ShellExecute(Handle, 'open', 'IExplore.EXE', 'about:blank', nil, SW_SHOWNORMAL);
//Óûðºü´ò¿ª
  ShellExecute(Handle, 'open', 'firefox.exe', 'about:blank', nil, SW_SHOWNORMAL);
//ÓÃĬÈÏä¯ÀÀÆ÷´ò¿ª
&nbs ......

Delphi²Ù×÷XMLµÄ¼¼ÇÉ

  Delphi²Ù×÷XMLÊǺܷ½±ãµÄ£¬Ö÷ÒªÓÐÁ½ÖÖ·½·¨£»
     1.ÓÃTClientDataSet²Ù×÷XML£»TClientDataSetÊǸöºÃ¶«Î÷£¬ÓÃËü²Ù×÷XMLÊǺܼòµ¥µÄÊ£¬²»¹ýȱµãÊÇÖ»ÄܲÙ×÷¹Ì¶¨¸ñʽµÄ XML£¬ËüÊʺϲÙ×÷±í½á¹¹µÄÊý¾Ý£¬Èç¹ûÄãÐèÒª°ÑÊý¾Ý±íµ¼³ö³ÉXMLÄÇÓÃTClientDataSetÊǸöºÃÖ÷Ò⣬±ÈÈçÏÂÃæÊÇÒ»¸öÊý¾Ý¼¯µ¼³ö³ÉXMLµÄ· ......

Delphi²Ù×÷XML

  Delphi²Ù×÷XMLÊǺܷ½±ãµÄ£¬Ö÷ÒªÓÐÁ½ÖÖ·½·¨£»
     1.ÓÃTClientDataSet²Ù×÷XML£»TClientDataSetÊǸöºÃ¶«Î÷£¬ÓÃËü²Ù×÷XMLÊǺܼòµ¥µÄÊ£¬²»¹ýȱµãÊÇÖ»ÄܲÙ×÷¹Ì¶¨¸ñʽµÄ XML£¬ËüÊʺϲÙ×÷±í½á¹¹µÄÊý¾Ý£¬Èç¹ûÄãÐèÒª°ÑÊý¾Ý±íµ¼³ö³ÉXMLÄÇÓÃTClientDataSetÊǸöºÃÖ÷Ò⣬±ÈÈçÏÂÃæÊÇÒ»¸öÊý¾Ý¼¯µ¼³ö³ÉXMLµÄ· ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ