Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

¹ØÓÚ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 ËùÖ¸Ïò×Ö·û´®Êµ¼ÊÊý¾ÝµÄµØÖ·.


Ïà¹ØÎĵµ£º

¡¶delphiѧϰ԰µØ¡·Ö® TreeviewʹÓÃÏê½â

TreeViewÓɽڵ㹹³É,½¨Ê÷ͨ¹ý¶ÔTreeView.itemsÊôÐÔ½øÐвÙ×÷¡£ItemsÊÇÒ»¸öTTreeNodes¶ÔÏó,ÕâÊÇÒ»¸öTTreeNode¼¯¡£
Ò»¡¢Õë¶ÔTTreeNodes,Ò²¾ÍÊÇ TreeView.Items,ÓÐÕâЩÊôÐÔ:
1¡¢count,½Úµã¸öÊý¡£
2¡¢item[index]  ,ͨ¹ýindexµÃµ½½Úµã¡£
¶þ¡¢Õë¶ÔTTreeNodes,Ò²¾ÍÊÇ TreeView.Items,³£ÓõÄÌí¼Ó½ÚµãµÄ²Ù×÷ ......

Delphi ¹Ø¼ü×ÖÏê½â

Delphi ¹Ø¼ü×ÖÏê½â---absolute//ËüʹµÃÄãÄܹ»´´½¨Ò»¸öбäÁ¿, ²¢ÇҸñäÁ¿µÄÆðʼµØÖ·ÓëÁíÒ»¸ö±äÁ¿Ïàͬ.
var
Str: string[32];
StrLen: Byte absolute Str;
//Õâ¸öÉùÃ÷Ö¸¶¨Á˱äÁ¿StrLenÆðʼµØÖ·ÓëStrÏàͬ.
//ÓÉÓÚ×Ö·û´®µÄµÚ0¸öλÖñ£´æÁË×Ö·û´®µÄ³¤¶È, ËùÒÔStrLenµÄÖµ¼´×Ö·û´®³¤¶È.
begin
Str := 'abc';
Edit ......

delphi dll ʵÀý Óë dll´°ÌåʵÀý

delphi dll ʵÀý Óë dll´°ÌåʵÀý
±¾¶¯Ì¬Á´½Ó¿â·½·¨ÓÐ
Min,Max,SynAPP,ShowForm,showmyform
dll¹¤³ÌÎļþ
Library Project1;
uses
  dllUnit1 in 'dllUnit1.pas' {Form1};
function Min(X, Y: Integer): Integer; export;
begin
if X < Y then Min := X else Min := Y;
end;
function Max(X, Y: Integer): ......

delphi Format Type

Format
  typeµÄ¿ÉÄÜÖµÓÐÏÂÁÐÕâЩ£º
  (1) d ÓзûºÅÊ®½øÖÆÊý
        Args±ØÐëÊÇÓзûºÅÕûÐÍÊý¡£Èç¹ûÔÚ¸ñʽ»¯×Ö·û´®Öл¹¼ÓÈëÁË["." prec]£¬ÔòÈç¹ûArgs
        µÄ³¤¶ÈÈç¹ûСÓÚ¸ø³öµÄ¾«¶ÈÊýʱ£¬ÔÚǰ±ßÌî²¹0£»Èç¹û´óÓÚ¾«¶ÈÊý£¬°´Êµ¼Ê³¤¶ ......

delphi×Ö·û´®×ª»»ÎªcharÊý×é

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 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ