Delphi Open Tools API dz̽
savetime2k@yahoo.com 2004.1.28
http://savetime.delphibbs.com
½ñÌ쿪ʼѧϰԪ¼þ±à¼Æ÷£¬¸Ð¾õ±ÈÊôÐÔ±à¼Æ÷¼òµ¥Ðí¶à£¬µ«»¹ÊÇÓöµ½ÁËһЩÒÉÎÊ¡£Èç¹ûÄãÄܽâ´ðÎÄÖмǼµÄÎÊÌ⣬Çë¸æËßÎҴ𰸣¬Ð»Ð»£¡
Ŀ ¼
===============================================================================
¡Ñ TBaseComponentEditor class
¡Ñ IComponentEditor interface
¡Ñ TComponentEditor class
¡Ñ TComponentEditor.ExecuteVerb ·½·¨
¡Ñ TComponentEditor.PrepareItem ·½·¨
¡Ñ TComponentEditor.Edit ·½·¨
¡Ñ TComponentEditor.IsInInlined ·½·¨
¡Ñ TDefaultEditor class
¡Ñ TSelectionEditor class
===============================================================================
±¾ÎÄÅŰæ¸ñʽΪ£º
ÕýÎÄÓÉ´°¿Ú×Ô¶¯»»ÐУ»ËùÓдúÂëÒÔ 80 ×Ö·ûΪ±ß½ç£»ÖÐÓ¢ÎÄ×Ö·ûÒÔ¿Õ¸ñ·û·Ö¸ô¡£
(×÷Õß±£Áô¶Ô±¾ÎĵÄËùÓÐȨÀû£¬Î´¾×÷ÕßͬÒâÇëÎðÔÚÔÚÈκι«¹²Ã½Ìå×ªÔØ¡£)
Õý ÎÄ
===============================================================================
¡Ñ TBaseComponentEditor class
===============================================================================
TBaseComponentEditor ÊÇËùÓÐÔª¼þ±à¼Æ÷µÄ»ùÀ࣬ËüµÄ¹¹Ô캯ÊýÓÉ Delphi IDE ÔÚÑ¡ÖÐÒ»¸öÔª¼þʱ±» IDE µ÷Óá£ËùÓеÄÔª¼þ±à¼Æ÷±ØÐëʵÏÖ TBaseComponentEditor.Create º¯ÊýºÍ IComponentEdiotr ½Ó¿Ú¡£Ôª¼þ±à¼Æ÷µÄ¹¹Ô캯ÊýÖд«È뵱ǰѡÖеÄÔª¼þºÍ IDesigner ½Ó¿Ú¡£
{ DesignIntf.pas }
TBaseComponentEditor = class(TInterfacedObject)
public
constructor Create(AComponent: TComponent; ADesigner: IDesigner); virtual;
end;
(* ΪʲôҪÒÔ TInterfacedObject Ϊ»ùÀàÄØ£¿)
===============================================================================
¡Ñ IComponentEditor interface
===============================================================================
IComponentEditor ¶¨ÒåÁËÔª¼þ±à¼Æ÷ÐèҪʵÏֵĽӿڣº
IComponentEditor = interface
['{ECACBA34-DCDF-4BE2-A645-E4404BC06106}']
procedure Edit;
Ë«»÷Ôª¼þʱ´¥·¢
procedure ExecuteVerb(Index: Integer);
Ö´ÐÐÒ»¸ö×Ô
Ïà¹ØÎĵµ£º
function ValidatePID(const APID: string): string;
{ÄÚ²¿º¯Êý,È¡Éí·ÝÖ¤ºÅУÑéλ,×îºóһλ,¶Ô18λÓÐЧ}
function GetVerifyBit(sIdentityNum: string): Char;
var
nNum: Integer;
begin
Result := #0;
nNum := StrToInt(sIdentityNum[1]) * 7 +
  ......
ÀûÓÃWindows APIº¯ÊýWritePrivateProfileString ºÍGetPrivateProfileString¿É¶Ô.INIÎļþ½øÐжÁд²Ù×÷¡£Æäʵ£¬¶Ô.INIÎļþµÄ¶ÁдÍêÈ«¿ÉÒÔÀûÓÃDelphiµÄÄÚÖú¯ÊýÀ´ÊµÏÖ¡£ÏÂÃæ¾Í½éÉÜһЩ¶Ô.INIÎļþ¶ÁдʱÏà¹ØµÄÀ༰ÆäÊôÐÔ·½·¨¡£
1¡¢TIniFile¶ÔÏó
ÒÔDelphiÖУ¬¶¨ÒåÁËÒ»¸öTIniFile¶ÔÏ󣬽«.INIÎļþ·â×°ÔÚÆäÖУ¬²¢ÌṩһЩ·½·¨£ ......
Ãû³Æ ÀàÐÍ ËµÃ÷
abort º¯Êý ÒýÆð·ÅÆúµÄÒâÍâ´¦Àí
abs º¯Êý ¾ø¶ÔÖµº¯Êý
addexitproc º¯Êý ½«Ò»¹ý³ÌÌí¼Óµ½ÔËÐÐʱ¿âµÄ½áÊø¹ý³Ì±íÖÐ
addr º¯Êý ·µ»ØÖ¸¶¨¶ÔÏóµÄµØÖ·
adjustlinebreaks º¯Êý ½«¸ø¶¨×Ö·û´®µÄÐзָô·ûµ÷ÕûΪcr/lfÐòÁÐ
align Êô ......
{ º¯Êý : RESULTSTRING = HexToBin(HEXSTRING)
{ Ä¿µÄ : °ÑÊ®Áù½øÖÆ×Ö·û´®×ª»»Îª¶þ½øÖÆ×Ö·û´®
{
{===============================================================}
{ º¯Êý : RESULTINTEGER = HexCharToInt(HEXCHAR)
{ Ä¿µÄ : ת»»Ò»¸öÊ®Áù½øÖÆ×Ö·ûΪÕûÊý
{==================================================== ......
Ò»¸öºÜ¼òµ¥µÄÎÊÌ⣬µ«ÎÒÆ¾ÎÒѧϰC++/VCÒ»Äê¶à£¬½Ó´¥DelphiµÄʱ¼äÒ²²»¶ÌÁË£¬µ«ÈÔȻд²»³öÀ´¡£
±¾À´ÒÔΪ£¬²»¾ÍÊǽ«Form1.ShowºÍForm1.Hideô£¬µ«È´¾ÍÊÇ´ïµ½²»µ½×Ô¼ºÏëÒªµÄ½á¹û
Õâ¸öÎÊÌâµ¹²»ÓÃ×÷ÉîÈëÑо¿ÁË£¬µ½ÊÇÈÃÎÒ·¢ÏÖ£¬DelphiÒ²²»ÊÇÐÅÊÖÕªÀ´£¬Ê²Ã´¶¼ÊÇÄÇôÈÝÒ׵ģ¬ÒÔΪ×Ô¼ºÓеã¶ùVCµÄµ××Ó£¬¾ÍС¿´ÁËDelphi¡£
×î½üÒ»¶Îʱ ......