¹ØÓÚ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Óʼþ¸ñʽ¸øÊìϤÁËһϣ¡×ܹé˵À´£¬¹æÂÉÐÔ±È
½ÏÇ¿£¬ÏÈ»ñÈ¡×î´óµÄ¶¥²ã¿ò ......
type
TCharStack = class(TStack)
private
function GetTop: Char;
public
function Pop: Char;
function Push(Item: Char): Char;
property Top: Char read GetTop;
end;
const
FindSet = ['(',')'];
implementation
{$R *.dfm}
{ TCharStack }
......
Format
typeµÄ¿ÉÄÜÖµÓÐÏÂÁÐÕâЩ£º
(1) d ÓзûºÅÊ®½øÖÆÊý
Args±ØÐëÊÇÓзûºÅÕûÐÍÊý¡£Èç¹ûÔÚ¸ñʽ»¯×Ö·û´®Öл¹¼ÓÈëÁË["." prec]£¬ÔòÈç¹ûArgs
µÄ³¤¶ÈÈç¹ûСÓÚ¸ø³öµÄ¾«¶ÈÊýʱ£¬ÔÚǰ±ßÌî²¹0£»Èç¹û´óÓÚ¾«¶ÈÊý£¬°´Êµ¼Ê³¤¶ ......
´ËÎÄÊǸù¾Ý°éË®ÀÏ´óµÄʵÀý×öµÄСÐ޸ģ¡
ÒÔÏÂÊǸöÈ˼û½â£¬ÈçÓдíÎóÇëÖ¸Õý:)
ÒªÏë¿ç½ø³Ì·ÃÎÊDBGRID£¬Ã²ËÆÖ»ÄÜÓÃHOOK£¬Ð´Ò»¸öDLLÏë°ì·¨×¢È뵽Ŀ±ê½ø³Ì¡£×¢Èë³É¹¦ºó£¬Ê¹DLLÓëÄ¿±ê½ø³ÌÔÚͬһ½ø³Ì¿Õ¼äÖÐ(ÆäÄÚÓÐһЩϸ½ÚÎÊÌ⣬Çë²Î¼û´úÂë)£¬Õâʱ¿ÉÒÔ·ÃÎÊÄ¿±ê½ø³ÌµÄVCL×é¼þ¡£²¢°ÑVCL×é¼þµÄÊý¾Ýͨ¹ ......
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
......