delphi¶¯Ì¬Êý×éÈçºÎÈ¥µôÒ»¸öÔªËØ
procedure DynArrayDelete(var A;elSize:Longint;index,Count:Integer);
var
len,MaxDelete:Integer;
P:PLongint; //4 ¸ö×ֽڵij¤ÕûÐÎÖ¸Õë
begin
P:=PLongint(A);// È¡µÄ A µÄµØÖ·
if P = nil then
Exit;
len := PLongint(PChar(P) - 4)^; // ±äÁ¿µÄ³¤¶È £¬Æ«ÒÆÁ¿ -4
if index >= len then //Ҫɾ³ýµÄλÖó¬³ö·¶Î§£¬Í˳ö
Exit;
MaxDelete := len - index; // ×î¶àɾ³ýµÄÊýÁ¿
Count := Min(Count, MaxDelete); // È¡µÃÒ»¸ö½ÏСֵ
if Count = 0 then // ²»ÒªÇóɾ³ý
Exit;
Dec(len,Count);// Òƶ¯µ½ÒªÉ¾³ýµÄλÖÃ
MoveMemory(PChar(P)+index*elSize , PChar(P)+(index + Count)*elSize , (len-index)*elSize); //Òƶ¯ÄÚ´æ
Dec(P); //ÒƳö ¡°Êý×鳤¶È¡±Î»ÖÃ
Dec(P); //ÒƳö¡°ÒýÓüÆÊý¡± λÖÃ
//ÖØÐÂÔÙ·ÖÅäµ÷ÕûÄÚ´æ,len еij¤¶È. Sizeof(Longint) * 2 = 2*Dec(P)
ReallocMem(P, len * elSize + Sizeof(Longint) * 2);
Inc(P); // Ö¸ÏòÊý×鳤¶È
P^ := len; // new length
Inc(P); // Ö¸ÏòÊý×éÔªËØ£¬¿ªÊ¼µÄλÖÃ
PLongint(A) := P;
end;
procedure TForm1.Button2Click(Sender: TObject);
type
Ttemp=record
a:integer;
b:string;
c:integer;
end;
var
temps:array of Ttemp;
i: Integer;
begin
setlength(temps,10);
Ïà¹ØÎÊ´ð£º
delphiÄÚÖõļÓÃܽâÃܵ¥ÔªÊÇÄĸö£¿
DelphiÓÐÄÚÖüÓÃܽâÃܵ¥Ôª£¿
delphiÀïÓиö¼ÓÃܺͽâÃܵĵ¥Ôª
ÒýÓÃ
delphiÀïÓиö¼ÓÃܺͽâÃܵĵ¥Ôª
ÊÇÄĸö£¿
windowsµÄapi£¿
±ê×¼¼ÓÃܵÄÔ´´úÂ룬ÍøÉÏ ......
Õâ¸öÊÇÀ¹½Ø°´¼üÏûÏ¢²¢²âÊÔÊÇ·ñΪENTER¼ü¡£
begin
case wParam of
WM_KEYDOWN:
fEatKeystroke := (p.vkCode = VK_RETURN);
& ......
¾ÍÊÇÒ»¸ö·þÎñ¶ËºÍÒ»¸ö¿Í»§¶Ë£¬Àï±ßÓÐһЩ¹²Óõ¥Ôª £¬ÎÒÔÚ ¹¤³ÌµÄSEARCH PATHÀïÉèÖõÄ·¾¶£¬
Àï±ßÓиö½á¹¹Ì壬ÎÒÔÚ·þÎñ¶Ë´ò¿ª£¬¼ÓÁ˳ÉÔ±£¬µ«ÊÇÎÒÔÚ¿Í»§¶ËÆäËûµ¥Ôª·ÃÎʲ»µ½ÎÒмӵģ¬ÎÒÔÚ¿Í»§¶Ë´ò¿ªÄǸöµ¥Ôª£¬È·Êµ¼ÓÁ ......
Çë½Ì¸÷·¸ßÊÖ¡£ÎäÁÖÇ°±²¡£ÎÒ½«B.EXE×ö³É×ÊÔ´Îļþ£¬È»ºó¼Óµ½123.dllÖС£ÓÃA.EXEÀ´µ÷ÓÃ123.dllÖеÄB.EXE
Çë¸÷λǰ±²°ïæָ½ÌÏ¡£A.exeÈçºÎÀ´µ÷ÓÃdllÖеÄexe£¿´úÂëÓÖ¸ÃÈçºÎд£¿
ÎÞÈ˻شð£¿
×ö³É×ÊÔ´Î ......
ÏÖÔÚ×öÁËÒ»¸ö¼òµ¥µÄ³ÌÐò£¬Óõ½ÁËXML×÷Êý¾Ý¿â£¨ÄÚÈÝÓеã¶à£©£¬
Ä¿Ç°ÎÒÊÇ°ÑXMLÄÚÈÝдÔÚDELPHIÀïµÄÒ»¸öConst ±äÁ¿À¿ÉÊÇXMLÄÚÈÝÉÙµÄʱºò£¬Ã»ÓÐÎÊÌ⣬
¶àÁ˾ÍÌáʾ[´íÎó] Unit1.pas(144): Too many local ......