¹ØÓÚdelphi 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 ËùÖ¸Ïò×Ö·û´®Êµ¼ÊÊý¾ÝµÄµØÖ·.
Ïà¹ØÎĵµ£º
Ñо¿ÁËÒ»ÏÂPop3µÄÓʼþ½ÓÊÕÐÒ飬ȻºóËæÊÖдÁËÒ»¸öPop3µÄÓʼþ½ÓÊտؼþ£¡Pop3µÄÓʼþÐÒéʵ¼ÊÉÏÊǺܼòµ¥µÄ£¬ÖªµÀÄǼ¸¸öÃüÁî¾ÍÐÐÁË£¬Óë·þÎñÆ÷Ö®¼ä
µÄ½»»¥ÊÇÒ»ÎÊÒ»´ðµÃ·½Ê½£¬¿ØÖÆÆðÀ´Ò²ÈÝÒ×£¬Ïà¶Ô¶øÑÔÓʼþ¸ñʽµÄ½âÎöµ¹ÊǸü¼ÓÂé·³Ò»µã£¡ÓÚÊÇÒ²±ã˳´ø×Ž«MIMEÓʼþ¸ñʽ¸øÊìϤÁËһϣ¡×ܹé˵À´£¬¹æÂÉÐÔ±È
½ÏÇ¿£¬ÏÈ»ñÈ¡×î´óµÄ¶¥²ã¿ò ......
½«Ô¶³Ì¿ØÖÆÓ¦ÓÃÓÚ½ÌѧÖУ¬ÒѳÉΪĿǰ¼ÆËã»ú»¯½ÌѧµÄÖØÒªÊֶΡ£Ò»¶¨ÓкܶàµÄÍø³æÏëÁ˽âÕâÖÖÍøÂç½Ìѧ·½Ê½µÄ±à³ÌÔÀí°É¡£ÔÚ´ËÎÒÃǾÍÒÔÒ»¸ö¼òµ¥µÄÔ¶³Ì¿ØÖƳÌÐò×÷ΪʾÀý£¬ËµÃ÷ÕâÖÖÍøÂç±à³ÌµÄ»ù±¾ÔÀí¡£±¾³ÌÐòÒÔDelphi±à³ÌΪÀý¡£
¡¡¡¡Æäʵ¸Ã³ÌÐòµÄ¹¤×÷»úÖÆºÜ¼òµ¥£¬Êܿط½ÔËÐÐÒ»¸ö³ÌÐò£¬ÓÃÓÚÕìÌý¶Ë¿Ú²¢½ÓÊÕÊý¾Ý°ü£¬¶øÖ÷¿Ø·½Í¨¹ý¶ ......
ÎÒµÄDelphi¿ª·¢¾Ñé̸
×÷ÕߣºIcebird
--------
¿ª·¢»·¾³
--------
Delphi
7ÊÇÒ»¸öºÜ¾µäµÄ°æ±¾£¬ÔÚWin2000/XPÏÂÍÆ¼ö°²×°Delphi 7À´¿ª·¢Èí¼þ£¬ÔÚVistaÏÂÍÆ¼öʹÓÃDelphi 2007¿ª·¢Èí¼þ¡£°²×°ºÃDelphi
7ºó£¬Ó¦Á¢¼´°²×°Delphi 7 Update Pack 1£¬Delphi
2007Ôò½¨Ò龡Á¿°²×°×îР......
var
arrChar : array [0..4] of Char;
b : Byte;
s : string;
begin
s := 'Test';
Move(Pointer(s)^, arrChar, Length(s)); //string to array of char
ShowMessage(arrChar);
b := Ord(s[1]); //First byte string to one single byte
......
ÏÖÔÚÓ¦ÓÃϵͳÁ÷ÐÐÓÃB/S¿ª·¢£¬Ô缸Äêǰ¿ÉÊÇC/SµÄÌìÏÂÄØ£¬ÎÒÏÖÔÚ×öµÄijº½¿Õ¹«Ë¾»õÔ˽áËãά»¤¹¤×÷£¬Æäϵͳ¾ÍÊÇÀûÓÃDelphi¿ª·¢µÄC/SÓ¦ÓóÌÐò£¡ÔÚÈÕ³£µÄά»¤¹¤×÷ÖУ¬ÄÑÃâÒª¶ÔÒѾ×öºÃµÄCOM+×é¼þ½øÐе÷ÊÔ£¬ÒԲ鿴¾ßÌåµÄ´¦ÀíÂß¼£¡±¾ÎľÍÊǽéÉÜÔÚWindowsXP»·¾³ÏÂÈçºÎÔÚDelphiÖе÷ÊÔCOM+×é¼þ£¡
µÚÒ»²½£º¼Ç¼ÏÂÄãÏ£Íûµ÷ÊÔµÄCOM+×é¼þ ......