Delphi¶¯Ì¬Ê¼þÉîÈë·ÖÎö
Delphi¶¯Ì¬Ê¼þÉîÈë·ÖÎö
2009-2-7
×÷Õß:²»µÃÏÐ
ºËÐÄÌáʾ£º±¾ÊµÑéÖ¤Ã÷ÁËÔÚÀàÖз½·¨µÄµ÷ÓÃʱºò£¬ËùÓеķ½·¨¶¼Òþº¬ÁËÒ»¸öSelf²ÎÊý£¬²¢ÇҸòÎÊý×÷Ϊ¶ÔÏó·½·¨µÄµÚÒ»¸ö²ÎÊý´«µÝ...
Ê×ÏÈ×öÒ»¸ö¿Õ´°Ì壬·ÅÈëÒ»Button¡£
ÔÚimplementationÏÂÃæÉùÃ÷Á½¸ö·½·¨ÈçÏ£º
//Íⲿ·½·¨£¬Ö»ÉùÃ÷Ò»¸ö²ÎÊý£¬´Ëʱ°´ÕÕ±ê×¼µÄ¶ÔÏóÄÚ²¿Ê¼þ·½·¨TNotifyEventÉùÃ÷,´ËÉùÃ÷ÖУ¬SenderÔò¶ÔӦΪ²úÉú¸ÃʼþµÄ¶ÔÏóÖ¸Õë¡£
procedure ExtClick1(Sender: TObject);
begin
{asm
mov eax,[edx+8]
call showmessage
end; }
showmessage(TComponent(Sender).Name);
end;
//Íⲿ·½·¨£¬ÉùÃ÷Á½¸ö²ÎÊý,ÓÃÀ´Ö¤Ã÷£¬¶ÔÏóÔÚµ÷ÓÃʱºò»á´«µÝÒ»¸öSelfÖ¸Õ룬´ËʱÎÒÃǼÙÉèFrmÊÇͨ¹ýÀà¶ÔÏ󴫵ݹýÀ´µÄSelfÖ¸Õ룬¶øSenderΪ²úÉú¸ÃʼþµÄ¶ÔÏóÖ¸Õë
procedure ExtClick(Frm: TObject;Sender: TObject);
begin
{asm
mov eax,[edx+8]
call showmessage
end; }
showmessage(TComponent(Sender).Name);
if Frm is TForm then
TForm(Frm).Close
end;
//È»ºóÔÚ ‘Ö¸¶¨µ÷ÓÃ’°´Å¤Ê¼þÖÐд´úÂ룺
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(TComponent(Sender).Name);
end;
//ºÜÏÔÈ»ÔËÐеÄʱºò£¬µã¸Ã°´Å¤µÃµ½µÄÊÇ·µ»ØÒ»¸ö ÏûÏ¢ÄÚÈÝΪ ‘Button1’µÄ¶Ô»°¿ò£¬ÕâÊǵ÷ÓÃForm1ÀàµÄ¶ÔÏóʼþ´¥·¢µÄ·½·¨¡£
//ÔÚµ÷Óà ‘µ÷ÓÃFormÀàÍⲿ·½·¨´¥·¢Ê¼þ’ ClickʼþÖÐд
procedure TForm1.Button2Click(Sender: TObject);
var
ExtClickEvent: TNotifyEvent;
begin
integer(@ExtClickEvent) := integer(@ExtClick1);
//½«ExtClickEventµØÖ·Ö¸ÕëÖ¸ÏòÍⲿº¯ÊýExtClick1·½·¨µÄµØÖ·
Button1.OnClick := ExtClickEvent;
//½«¸ÃµØÖ·¸³Öµ¸ø Button1µÄOnClickʼþÌæ»»ÒÔÇ°µÄOnClickʼþ
end;
//ÁíÒ»¸ö°´Å¤Ð´´úÂëÈçÏ£º
procedure TForm1.Button3Click(Sender: TObject);
begin
Button1.OnClick := Button1Click;//»¹ÔΪ¶ÔÏóÄÚ´¥·¢Ê¼þº¯Êý
end;
ÔËÐÐÖ®ºó
µãһϠ‘µ÷ÓÃFormÀàÍⲿ·½·¨´¥·¢Ê¼þ’ £¬È»ºóÔڵ㠑ָ¶¨µ÷ÓÃ’°´Å¤£¬
showmessage(TComponent(Sender).Name);·µ»ØµÄÖµÊÇ ‘Form1’£¬´ËʱÊÇ·ñ¾ÍÒѾ˵Ã÷ÁËÆäµÚÒ»¸ö²ÎÊýÊÇ·ñ¾ÍÊÇ´«µÝµÄÒ»¸öSelfÖ¸ÕëÄØ¡£ËùÒÔÔÚµ÷ÓÃButton.ClickʼþµÄʱºò´«µÝ¹ýÀ´µÄµÚÒ»¸ö²ÎÊýΪForm1ÄÚ²¿µÄSelfÖ¸Õ룬
Ïà¹ØÎĵµ£º
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö· ......
OracleÐÔÄÜÓÅ»¯ÓëDelphi´úÂë
¸ÕѧÁ˵ãoracle·½ÃæµÄ֪ʶ£¬¸Ð¾õÒÔǰд´úÂëֻƾϲºÃд£¬ÍêȫûÓÐÉԵÓÉ£¬µ¼ÖÂÔÚÄÚÐÐÈË¿´À´£¬Ð´µÄ¶¼ÊÇÀ¬»ø´úÂ룬ÏÖÔھͰÑѧµ½µÄһЩ¶«Î÷д³öÀ´£¬Ò²ËãÊǸø¸ÕÈëÃŵÄÅóÓÑÒ»µã°ïÖú°É¡£
ÒÔÇ°£¬Ð´Êý¾Ý¿â·ÃÎÊ´úÂ룬¸Ð¾õºÜ¼òµ¥£¬²»¾ÍÊÇsqlÓï¾äÂËùÒÔʲôÓï¾ä¶¼ÊÇÕâÑùд£º
A£º
......
absolute
//ËüʹµÃÄãÄܹ»´´½¨Ò»¸öбäÁ¿, ²¢ÇҸñäÁ¿µÄÆðʼµØÖ·ÓëÁíÒ»¸ö±äÁ¿Ïàͬ.
var
Str: string[32];
StrLen: Byte absolute Str;
//Õâ¸öÉùÃ÷Ö¸¶¨Á˱äÁ¿StrLenÆðʼµØÖ·ÓëStrÏàͬ.
//ÓÉÓÚ×Ö·û´®µÄµÚ0¸öλÖñ£´æÁË×Ö·û´®µÄ³¤¶È, ËùÒÔStrLenµÄÖµ¼´×Ö·û´®³¤¶È.
begin
Str := 'abc';
Ed ......
²Ü×æȨ
¡¡¡¡¹¤¾ßÌõÊdzÌÐòԱϲ»¶²ÉÓõÄ×é¼þ£¬Ëü¾ßÓмòÃ÷Ö±¹ÛµÄÍâÐΣ¬Äܹ»·½±ãÓû§Ö´ÐÐ×î³£ÓõŦÄÜ¡£Èç¹ûÄãʹÓÃdelphi3±à³Ì£¬ÄÇô±¾ÈËÏòÄãÍƼöcoolbar×é¼þ¡£ËüÊÇÒ»ÖÖ¹¦ÄܸüΪ·á¸»µÄ¹¤¾ßÌõ£¬ÓÃËü¿ÉÒÔʹ¶à¸ö´«Í³µÄ¹¤¾ßÌõ¡¢±à¼¿ò¡¢×éºÏÁбí¿ò¡¢Í¼ÏñÉõÖÁ¸ü¶àµÄ×é¼þ¼¯³Éµ½Ò»¸öͳһµÄcoolbarÖУ¬Ê¹µÃÓ¦ÓóÌÐò´°¿Ú¸üΪ½ô´Õ¡¢½çÃæ ......
ÓÐЩʱºò,ҪдһЩ³ÌÐò,ÔÚ JAVA ÀïÃæºÃÄÑʵÏÖ, µ«Èç¹ûʹÓÃÆäËü±à³ÌÓïÑÔÈ´ÓֱȽÏÈÝÒ×ʱ,ÎÒÃDz»·Áͨ¹ý JNI À´Èò»Í¬ÓïÑԵijÌÐò¹²Í¬Íê³É.
JNI µÄ½Ì³Ì, ÍøÉÏ C µÄ±È½Ï¶à,Java Ò²ÌṩÁË javah.exe Ϊ C ÓïÑ﵀ JNI ³ÌÐòÉú³ÉÍ·Îļþ, Èç¹ûÄãÊÇÒ»¸ö Delphi ±à³ÌÔ±, ÄÜ·ñÈà JAVA Óë Delphi ³ÌÐò½»»¥ÄØ? ´ð°¸Êǿ϶¨µÄ,½ñÌìÎÒÃǾÍÀ´ ......