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

Delphi ¾¿¾¹²úÉúÁ˼¸¸öString¶ÔÏóµÄÎÊÌâ

¼¼Êõ½»Á÷,DH½²½â. Õâ¸öÊÇÔÚCSDNÉÏÃæ¿´¼ûµÄÎÊÌâ.ÎÒ˵˵×Ô¼ºµÄÏë·¨. procedure TForm1.btn1Click(Sender: TObject);
var
Str:String;
begin
Str:='abc' ;

Str:=str+'d';

str:=copy(Str,1,3);

str:=UpperCase(str);
end;
ÎÊÌâ1´ð°¸:2010ÏÂ
Unit4.pas.29: begin
005144E0 55 push ebp
005144E1 8BEC mov ebp,esp
005144E3 6A00 push $00
005144E5 6A00 push $00
005144E7 33C0 xor eax,eax
005144E9 55 push ebp
005144EA 6856455100 push $00514556
005144EF 64FF30 push dword ptr fs:[eax]
005144F2 648920 mov fs:[eax],esp
Unit4.pas.30: Str:='abc' ;
005144F5 8D45FC lea eax,[ebp-$04]
005144F8 BA70455100 mov edx,$00514570 //Õâ¿éÄÚ´æÖдæ·ÅµÄÊÇ abc ×Ö·û´®¶ÔÏó
005144FD E8E631EFFF call @UStrLAsg //¸ú½øÕâ¸öº¯Êý,ÓÉÓÚabc¿é´¦±¾À´¾ÍÊÇUnicodeµÄ,ËùÒÔ²»ÐèҪת»»,Ö»ÊÇÒýÓôÎÊý¼ÓÒ»,Ò²¾ÍÊÇÕâÀïÊÇ ±àÒëÆ÷Ò»¿ªÊ¼¾Í²úÉúÁËÒ»¸ö abc ×Ö·û´®¶ÔÏó
Unit4.pas.32: Str:=str+'d';
00514502 8D45FC lea eax,[ebp-$04]
00514505 BA84455100 mov edx,$00514584 //ÀàËÆÕâÀïÊÇÒ»¸ö'd'µÄ×Ö·û´®¶ÔÏó,×ܹ²³öÏÖ2¸öÁË
0051450A E8A935EFFF call @UStrCat //»á¶Ôµ÷ÓÃUStrSetLength,eaxÊÇabcµØÖ·,edxÊÇ4,Ò²¾ÍÊÇÏȸøabcÀ©ÈÝ,¶øÕâ¸öº¯ÊýÀïÃæµ÷ÓÃÁËNewUnicodeString,»áвúÉúÒ»¸öabc×Ö·û´®¶ÔÏó¿Õ¼ä,È»ºóÔÚÕâ¸ö¶ÔÏó¿Õ¼äÉÏÓÃmov°ÑdÒÆµ½abcÉÏÈ¥,ÐγÉabcd,µ½ÏÖÔÚ³öÏÖÁË3¸ö×Ö·û´®¶ÔÏóÁË.
Unit4.pas.34: str:=copy(Str,1,3);
0051450F 8D45FC lea eax,[ebp-$04] //´ÓÕâÒ»¾äÎÒÃÇÒ²¿ÉÒÔ¿´¼û¾Ö²¿±äÁ¿µÄÖ¸ÕëÒ²¸Ä±äλÖÃÁË
00514512 50 push eax
00514513 B903000000 mov ecx,$00000003
00514518 BA01000000 mov edx,$00000001
0051451D 8B45FC mov eax,[ebp-$04]
00514520 E8BF38EFFF call @UStrCopy //ÏÈÔö¼ÓÒ»´Î±»¸´ÖÆ×Ö·û´®µÄÒýÓôÎÊý,È»ºóÔÚUStrfromPWCharLenÖе÷ÓÃNewUnicodeStringÉêÇëÒ»¸ö¿Õ¼äΪ3µÄ×Ö·û´®¶ÔÏó,µØÖ·$00F2e02c,µÚ4¸öÁËÓ´,×îºóÉèÖ̼̮«Òƺó,ÓÃMovº¯Êý½«abcÒÆµ½Õâ¸ö¿Õ¼äÈ¥
Unit4.pas.36: str:=UpperCase(str);
00514525 8D55F8 lea edx,[ebp-$08] //Õâ¸öµØÖ·ÀïÃæÊÇʲô?Ó¦¸ÃÊÇ·


Ïà¹ØÎĵµ£º

DELPHI³£Óÿì½Ý¼ü(ת)

£®pas ---- pascalµÄËõд, µ¥ÔªÔ­Ê¼³Ìʽµµ£¨ unit source files £©
£®dpr ---- ר°¸µµ ( project files )
£®dpk ---- °ü¹üԭʼ³Ìʽµµ/×é¼þ°ü ( package source files )
£®dfm ---- ±íµ¥µµ (¼Ç¼formµÄÄÚÈÝ,³ýÈ¥Õâ¸öÄÚÈݾ͵ÈÓÚɾ³ýÁËformÕâ¸ö±íµ¥)
£®dcu ---- ÊDZàÒëºÃµÄµ¥ÔªÎļþ.ÈôÖ»ÓÐÒ»¸ödcuÎļþ,Ôò²»ÄÜ¿´µ½Ô´´úÂë. ......

Delphi 7 µÄÒ»¸öÆæ¹ÖµÄBug

½üÀ´·¢ÏÖÒ»¸öDelphiĪÃûÆäÃîµÄbug£¬µ±Ê¹ÓÃSetOptionalParamʱ£¬²»ÄÜʹÓÃÒ»Á¬´®Êý×ÖµÄ×Ö·û´®£¬Èç'101'£¬×¢Ò⣬ÊÇ´øÒýºÅµÄ¡£ÔÚSaveToFileʱ£¬¾Í»á³öÏÖ'Invalid field type'µÄÒì³££¬ÕæÊǰÙ˼²»µÃÆä½â£¡Á¬'001'ÕâÖÖ´®Ò²²»ÐУ¬È¥µôÒýºÅ£¬Ö±½Ó°´Êý×Ö¸³Öµ£¬ÔòÕý³£¡£
procedure TForm1.Button1Click(Sender: TObject);
var
  ......

Delphi ¹Ø¼ü×Ö

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

ÔÚDelphi³ÌÐòÖвÙ×÷×¢²á±í(ת)

   32λDelphi³ÌÐòÖпÉÀûÓÃTRegistry¶ÔÏóÀ´´æÈ¡×¢²á±íÎļþÖеÄÐÅÏ¢¡£     
  ¡¡¡¡Ò»¡¢´´½¨ºÍÊÍ·ÅTRegistry¶ÔÏó  
   
  ¡¡¡¡1.´´½¨TRegistry¶ÔÏó¡£ÎªÁ˲Ù×÷×¢²á±í£¬Òª´´½¨Ò»¸öTRegistry¶ÔÏó£ºARegistry   :=   TRegistry.Create£»  
&n ......

Delphi Ìõ¼þÅжÏÄÇЩÊÂ

¼¼Êõ½»Á÷,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.
·´»ã±à³öÀ´»áÊÇ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ