DELPHI¼ÓÃÜ×Ö´®£¨Òì»òÔËËã¼ÓÃÜ£©
Õâ¸ö±¾À´ÎÒÎÒÔÚDELPHIºÐ×Ó¿´µ½µÄ£¬ºóÀ´ÎÒ¶ÔÆä×÷ÁËÒ»µãÐ޸ģ¬ÕâÀïÉÏÈ«²¿´úÂ룬¿ÉÒÔÖ±½ÓÓÃ
Ê×ÏÈÓÐÁ½¸ö×Ô¶¨µÄת»»º¯Êý£º
function myStrToHex(s:string):string; //×Ö´®×ª16½øÖÆ
var
TmpStr:string;
i:integer;
begin
TmpStr:='';
for i:=1 to Length(s)do
TmpStr:=TmpStr+IntToHex(ord(s[i]),2);
Result:=TmpStr;
end;
function myHexToStr(S:string):string; //16½øÖÆ×ª×Ö´®
var
HexS,TmpStr:string;
i:Integer;
a:Byte;
begin
HexS:=s;
if Length(HexS) mod 2=1 then
HexS:=HexS+'0';
TmpStr:='';
for i:=1 to(Length(HexS)div 2)do
begin
a:=StrToInt('$'+HexS[2*i-1]+HexS[2*i]);
TmpStr:=TmpStr+Chr(a);
end;
Result:=TmpStr;
end;
È»ºó¾ÍÊǼÓÃÜ¡¢½âÃܺ¯ÊýÁË£º
{Á½¸öº¯ÊýµÄ²ÎÊýÏàͬ£¬sΪҪ¼ÓÃÜ¡¢½âÃܵÄ×Ö´®£»sKeyΪÃܳ×}
function EncryptStr(const s:string;sKey:string):string; //¼ÓÃÜ
var
i,j:Integer;
HexS,HexsKey,MidS,TmpStr:string;
a,b,c:byte;
begin
HexS:=myStrToHex(s);
HexsKey:=myStrToHex(sKey);
MidS:=HexS;
for i:=1 to(Length(HexsKey)div 2)do
begin
if i<>1 then MidS:=TmpStr;
TmpStr:=''; //ÏÂÃæÒªÓõ½TmpStr£¬ËùÒÔÒªÇå¿Õ
for j:=1 to (Length(MidS)div 2)do
begin
a:=StrToInt('$'+midS[2*j-1]+midS[2*j]);
b:=StrToInt('$'+HexsKey[2*i-1]+HexsKey[2*i]);
c:=a xor b;
tmpstr:=TmpStr+myStrToHex(Chr(c));
end;
end;
Result:=TmpStr;
end;
function DecryptStr(const s:string;sKey:string):string; //½âÃÜ
var
i,j:Integer;
HexS,HexsKey,MidS,TmpStr:string;
a,b,c:Byte;
begin
HexS:=s;
if Length(HexS)mod 2=1 then //¼ì²éÊÇ·ñΪ×Ö·û´®
begin
ShowMessage('ÃÜÎÄ´íÎó£¡');
Exit;
end;
HexsKey:=myStrToHex(sKey);
TmpStr:=HexS;
MidS:=HexS;
for i:=(length(HexsKey) div 2) downto 1 do
begin
if i<>(length(HexsKey) div 2)then
MidS:=TmpStr;
TmpStr:=''; //ÏÂÃæÒªÓõ½TmpStr£¬ËùÒÔÒªÇå¿Õ
for j:=1 to(length(MidS) div 2)do
begin
a:=StrToInt('$'+MidS[2*j-1]+MidS[2*j]);
b:=StrToInt('$'+HexsKey[2*i-1]+HexsKey[2*i]);
Ïà¹ØÎĵµ£º
¸ÅÒª
×ÔÈ¥ÄêCodeGear±»Ó¢°Í¿¨µÏŵ£¨Embarcadero Technologies£©ÊÕ¹ººó£¬´ó¼Ò¶ÔDelphiµÄδÀ´·¢Õ¹·Ç³£¹ØÐÄ¡£½üÈÕ£¬InfoQÖÐÎÄÕ¾ÓÐÐÒ¶ÔDavid I½øÐÐÁ˶À¼Òר·Ã£¬ÒÔÁ˽â¸ü¶à¹ØÓÚDelphiµÄÏà¹ØÐÅÏ¢¡£
¸öÈ˼ò½é
David Intersimone£¨¼ò³ÆDavid I£©£¬Ó¢°Í¿¨µÏŵ¸ºÔ𿪷¢Õß¹ØÏµµÄ¸±×ܲúÍÊ×ϯÐû´«¹Ù£¨Chief Evangelist£©¡£David¸º ......
ÕÐÆ¸ÈËÊý£º 4ÈË
ѧÀúÒªÇó£º ²»ÏÞ
¹¤×÷ÄêÏÞ£º ²»ÏÞ
н×Ê·¶Î§£º ÃæÒé
¹¤×÷µØµã£º ±±¾©Í¨ÖݾſÃÊ÷
Delphi³ÌÐòÔ±ËÄÃûְλҪÇó
񻂗:
1. ÊìÁ·Ê¹ÓÃDELPHI(C,C++, C#µÈ)½øÐпª·¢£»
2. ¾ßÓÐÁ¼ºÃµÄ³ÌÐò±àдϰ¹ß£»
3. ÔúʵµÄ»ù±¾¹¦£¬½á¹¹ÇåÎú¡¢ºÏÀí£»
4. Á¼ºÃµÄÖ´ÐÐÄÜÁ¦£¬½ÏºÃµÄÍê³ÉÔ¤¶¨ÈÎÎñ£»
5. ÉϽøÐÄÇ¿£¬ÄܳԿ ......
ÒýÓÃ×Ô£ºhttp://www.delphifans.com/infoview/Article_6445.html
Delphi ¹Ø¼ü×ÖÏê½â
absolute
//ËüʹµÃÄãÄܹ»´´½¨Ò»¸öбäÁ¿, ²¢ÇҸñäÁ¿µÄÆðʼµØÖ·ÓëÁíÒ»¸ö±äÁ¿Ïàͬ.
var
Str: string[32];
StrLen: Byte absolute Str;
//Õâ¸öÉùÃ÷Ö¸¶¨Á˱äÁ¿StrLenÆðʼµØÖ·ÓëStrÏàͬ.
//ÓÉÓÚ×Ö·û´®µÄµÚ0¸öλ ......
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;
´´½ ......
Ò»¸öÓѺõÄÓû§½çÃæ,±ØÐë¾ßÓÐÏÂÀ²Ëµ¥£¬µ¯³ö²Ëµ¥£¬¹¤¾ßÌõºÍ¿ì½Ý¼ü¡£Í¬ÑùÒ»¸ö¹¦ÄÜ£¬³ÌÐòÔ±¿ÉÄÜÒªÌṩ¼¸ÖÖ²Ù×÷·½Ê½£¬ÈçÎı¾¿½±´£¬²Ëµ¥ÃüÁî&Copy,¿ì½Ý¼üCtrl+C,¹¤¾ßÌõÉϵĿ½±´°´Å¥£¬¶¼ÊdzÌÐòÔ±Ìṩ¸øÓû§µÄ²Ù×÷£¬¿ÉÒÔ´ó´ó·½±ãÁ˲»Í¬²ã´ÎµÄÓû§¡£µ«ÊÇ£¬¶àÔö¼ÓÒ»ÖÖ²Ù×÷·½Ê½£¬¾ÍÒâζ×ÅÔö¼ÓÏìӦʼþµÄ´úÂë£ ......