¹ØÓÚdelphi Moveº¯ÊýµÄÓ÷¨Ïê½â
ʹÓÃdelphi¶àÄê,ǰЩÌìºöÈ»Óöµ½²»»ástringתpbyte,ºÜÊÇʧÂä,´Ëʱ¶ÔÓÚ±à³Ì»ù±¾¹¦µÄÖØÒªÐÔÉîÓÐÌå»á.ÕâÆäÖÐÓõ½MOVEº¯Êý.
ʹÓÃdelphi¶àÄê,ǰЩÌìºöÈ»Óöµ½²»»ástringתpbyte,ºÜÊÇʧÂä,´Ëʱ¶ÔÓÚ±à³Ì»ù±¾¹¦µÄÖØÒªÐÔÉîÓÐÌå»á.ÕâÆäÖÐÓõ½MOVEº¯Êý.
¸ãÁ˺ÃÒ»»á²Å¸ãÃ÷°×ÆäÓ÷¨.ËùÒÔÏëÌù³öÀ´°ïÖúÐèÒª°ïÖúµÄÈË.
var
s:string;
ps:Pchar;
b:pbyte;
len:integer;
begin
s:=edit1.Text; //×Ö·û´®
ps:=pchar(s); //ת³ÉpcharÀàÐÍ,
len:=length(s);//È¡×Ö·û´®³¤¶È,Õ¼ÓöàÉÙ×Ö½Ú
getmem(b,len);//ÉêÇëÄÚ´æ,pchar,pbyteÔÚʹÓÃǰ¶¼±ØÐëÒªÉêÇëÄÚ´æ,ÒòΪËûÃÇÊÇÖ¸Õë.
move(ps^,b^,len);//ÕâÀï ps^Òâ˼ÊÇpcharÖ¸ÏòÄÚ´æÊý¾ÝµÄµÚÒ»¸ö×Ö½ÚµØÖ·,B^ÊDZíʾÉêÇëÄÚ´æµÄµÚÒ»¸ö×Ö½ÚµØÖ·,ÕâÑù¾Í¿ÉÒÔÒ»¸öÒ»¸ö×Ö½ÚµÄÒÆµ½bÀïÈ¥ÁË.
memo1.Text:=pchar(b);//ÏÔʾ.
freemem(b);
end;
ÓÐЩÈËÓöµ½µÄÀ§»óÊÇΪʲô move(s,b,len)²»ÐÐÄØ?ͬÑùÎÒÒ²Óöµ½ÕâÑùµÄÀ§»ó.
¿´ÁËÒ»ÑùmoveµÄº¯ÊýÔ´Âë²ÅÃ÷°×.
procedure Move( const Source; var Dest; count : Integer );
{$IFDEF PUREPASCAL}
var
S, D: PChar;
I: Integer;
begin
S := PChar(@Source);//È¡ÄÚ´æµØÖ·
D := PChar(@Dest);//È¡ÄÚ´æµØÖ·
if S = D then Exit;
if Cardinal(D) > Cardinal(S) then
for I := count-1 downto 0 do
D[I] := S[I]
else
for I := 0 to count-1 do
D[I] := S[I];
end;
Èç¹ûÖ±½Ó´«Èës,
S := PChar(@Source);//È¡ÄÚ´æµØÖ·\
¾ÍÏ൱ÓÚÈ¡µÄ×Ö·û´®SµØÖ·µÄµØÖ·.
Èç¹û´«ÈëµÄÊÇps^
S := PChar(@Source);//È¡ÄÚ´æµØÖ·
¾ÍÏ൱ÓÚÈ¡pchar ËùÖ¸Ïò×Ö·û´®Êµ¼ÊÊý¾ÝµÄµØÖ·.
±¾ÆªÎÄÕÂÀ´Ô´ÓÚ£º¿ª·¢Ñ§Ôº http://edu.codepub.com ÔÎÄÁ´½Ó£ºhttp://edu.codepub.com/2010/0120/19934.php
Ïà¹ØÎĵµ£º
ÓÐЩʱºò,ҪдһЩ³ÌÐò,ÔÚ JAVA ÀïÃæºÃÄÑʵÏÖ, µ«Èç¹ûʹÓÃÆäËü±à³ÌÓïÑÔÈ´ÓֱȽÏÈÝÒ×ʱ,ÎÒÃDz»·Áͨ¹ý JNI À´Èò»Í¬ÓïÑԵijÌÐò¹²Í¬Íê³É.
JNI µÄ½Ì³Ì, ÍøÉÏ C µÄ±È½Ï¶à,Java Ò²ÌṩÁË javah.exe Ϊ C ÓïÑ﵀ JNI ³ÌÐòÉú³ÉÍ·Îļþ, Èç¹ûÄãÊÇÒ»¸ö Delphi ±à³ÌÔ±, ÄÜ·ñÈà JAVA Óë Delphi ³ÌÐò½»»¥ÄØ? ´ð°¸Êǿ϶¨µÄ,½ñÌìÎÒÃǾÍÀ´ ......
ÔÚдc++µÄ½Ó¿Úʱ¿ÉÒÔ½«Á½¸öÏ໥ÒýÓõÄÀà·ÅÔÚÁ½¸ö.hÎļþÖУ¬È»ºó½«Õâ¸ö½Ó¿Ú·Òëµ½delphiʱ£¬·ÅÔÚÁ½¸öÎļþÀï¾Í²»¿ÉÄÜÁË¡£Ö»ÄÜ·ÅÔÚͬһ¸öunitÖС£²¢ÇÒÒª½«ÕâÁ½¸öÀà¶¼·ÅÔÚͬһ¸ötypeÏÂÃæ½øÐж¨Ò壬µ±Ç°ÃæÒ»¸öÀàҪʹÓúóÃæÒ»¸öÀàʱ£¬ÐèÒªÔÚÇ°ÃæÒ»¸öÀàµÄÇ°Ãæ·ÅÖÃÒ»¸öǰÖÃÉùÃ÷£¬²¢ÇÒǰÖÃÉùÃ÷Ö»ÄÜÊÇIVariantMap = class;ÕâÖÖ¸ñʽ¶ø² ......
¼¼Êõ½»Á÷,DH½²½â. ֮ǰÕÕ×ÅÌìÊéÒ¹¶Á,ÓÃDelphiÀ´ÅªÁËÏÂÑ»·Ìå,ÏÖÔÚ¾ÍÀ´ÅªÒ»ÏÂÌõ¼þÅжϰÉ.
Ê×Ïȿ϶¨ÊÇÎÒÃǾ³£¿´¼ûµÄIFÓï¾ä¿©. Var
I: Integer;
Begin
I:= 99;
If (I> 0)And (I< 0) Then
Writeln('I>0')
Else
If (I> 10)And (I< 100) Then
Writeln('I>10 and I100');
End.
·´»ã±à³öÀ´»áÊÇ ......
·½·¨1£º¿ÉдΪº¯Êý£¬ÔÙµ÷ÓÃ
Application.CreateForm(TForm1, Form1);
Form1.ShowModal;
Form1.Free;
·½·¨2£º
Form1:= TForm1.Create(Application);
try
Form1.ShowModal;
finally
  ......
ÈçºÎµ÷ÊÔDLL£¬ÔÚÕâÀï¾Í²»ÔÙ׸ÊöÁË£¬µ«ÊÇ£¬½ñÌì¾ÍÅöµ½ÁËÒ»¸öÌØ±ðÆæ¹ÖµÄÎÊÌ⣬²ÎÊýÉèÖÃÕýÈ·£¬¾ÍÊDz»Äܵ÷ÊÔ£¿£¿ ͨ¹ýÉÏÍø²é×ÊÁÏ£¬·¢ÏÖÁËÎÊÌ⣬עÒ⣺
1£¬ ½«ProjectÖ÷²Ëµ¥µÄProject Options¶Ô»°¿òµÄCompilerÒ³ÃæDebuggingÑ¡ÏîÖÐµÄ Debug informaton¡¢Local symbols¡¢Assertions¸´Ñ¡¿òÑ¡ÖÐ
2£¬½«ToolsÖ÷²Ëµ¥µÄD ......