DelphiÖС°Á÷¡±µÄÀûÓà EXE¼ÓÃÜ|µç×Ӻؿ¨
Ò»¡¢DelphiÖÐÁ÷µÄ»ù±¾¸ÅÄî¼°º¯ÊýÉùÃ÷
ÔÚDelphiÖУ¬ËùÓÐÁ÷¶ÔÏóµÄ»ùÀàΪTStreamÀ࣬ÆäÖж¨ÒåÁËËùÓÐÁ÷µÄ¹²Í¬ÊôÐԺͷ½·¨¡£
TStreamÀàÖж¨ÒåµÄÊôÐÔ½éÉÜÈçÏ£º
1¡¢Size:´ËÊôÐÔÒÔ×Ö½Ú·µ»ØÁ÷ÖÐÊý¾Ý´óС¡£
2¡¢Position:´ËÊôÐÔ¿ØÖÆÁ÷ÖдæÈ¡Ö¸ÕëµÄλÖá£
TstreamÖж¨ÒåµÄÐé·½·¨ÓÐËĸö£º
1¡¢Read:´Ë·½·¨ÊµÏÖ½«Êý¾Ý´ÓÁ÷ÖжÁ³ö¡£
º¯ÊýÔÐÎΪ£ºFunction Read(var Buffer;Count:Longint):Longint;virtual;abstract;
²ÎÊýBufferΪÊý¾Ý¶Á³öʱ·ÅÖõĻº³åÇø£¬CountΪÐèÒª¶Á³öµÄÊý¾ÝµÄ×Ö½ÚÊý£¬¸Ã·½·¨·µ»ØֵΪʵ¼Ê¶Á³öµÄ×Ö½ÚÊý£¬Ëü¿ÉÒÔСÓÚ»òµÈÓÚCountÖÐÖ¸¶¨µÄÖµ¡£
2¡¢Write:´Ë·½·¨ÊµÏÖ½«Êý¾ÝдÈëÁ÷ÖС£
º¯ÊýÔÐÎΪ£ºFunction Write(var Buffer;Count:Longint):Longint;virtual;abstract;
²ÎÊýBufferΪ½«ÒªÐ´ÈëÁ÷ÖеÄÊý¾ÝµÄ»º³åÇø£¬CountΪÊý¾ÝµÄ³¤¶È×Ö½ÚÊý£¬¸Ã·½·¨·µ»ØֵΪʵ¼ÊдÈëÁ÷ÖеÄ×Ö½ÚÊý¡£
3¡¢Seek:´Ë·½·¨ÊµÏÖÁ÷ÖжÁÈ¡Ö¸ÕëµÄÒƶ¯¡£
º¯ÊýÔÐÎΪ£ºFunction Seek(Offset:Longint;Origint:Word):Longint;virtual;abstract;
²ÎÊýOffsetΪƫÒÆ×Ö½ÚÊý,²ÎÊýOrigintÖ¸³öOffsetµÄʵ¼ÊÒâÒ壬Æä¿ÉÄܵÄÈ¡ÖµÈçÏ£º
sofromBeginning:OffsetΪÒƶ¯ºóÖ¸Õë¾àÀëÊý¾Ý¿ªÊ¼µÄλÖᣴËʱOffset±ØÐë´óÓÚ»òÕßµÈÓÚÁã¡£
sofromCurrent:OffsetΪÒƶ¯ºóÖ¸ÕëÓ뵱ǰָÕëµÄÏà¶ÔλÖá£
sofromEnd:OffsetΪÒƶ¯ºóÖ¸Õë¾àÀëÊý¾Ý½áÊøµÄλÖᣴËʱOffset±ØÐëСÓÚ»òÕßµÈÓÚÁã¡£
¸Ã·½·¨·µ»ØֵΪÒƶ¯ºóÖ¸ÕëµÄλÖá£
4¡¢Setsize:´Ë·½·¨ÊµÏָıäÊý¾ÝµÄ´óС¡£
º¯ÊýÔÐÎΪ£ºFunction Setsize(NewSize:Longint);virtual;
ÁíÍ⣬TStreamÀàÖл¹¶¨ÒåÁ˼¸¸ö¾²Ì¬·½·¨£º
1¡¢ReadBuffer:´Ë·½·¨µÄ×÷ÓÃÊÇ´ÓÁ÷Öе±Ç°Î»ÖöÁÈ¡Êý¾Ý¡£
º¯ÊýÔÐÎΪ£ºProcedure ReadBuffer(var Buffer;Count:Longint);
²ÎÊýµÄ¶¨Òå¸úÉÏÃæµÄReadÏàͬ¡£×¢Ò⣺µ±¶ÁÈ¡µÄÊý¾Ý×Ö½ÚÊýÓëÐèÒª¶ÁÈ¡µÄ×Ö½ÚÊý²»Ïàͬʱ£¬½«²úÉúEReadErrorÒì³£¡£
2¡¢WriteBuffer:´Ë·½·¨µÄ×÷ÓÃÊÇÔÚµ±Ç°Î»ÖÃÏòÁ÷дÈëÊý¾Ý¡£
º¯ÊýÔÐÎΪ£ºProcedure WriteBuffer(var Bu
Ïà¹ØÎĵµ£º
program Project1;
{$APPTYPE CONSOLE}
uses
windows, Tlhelp32, SysUtils;
//===========================»ñµÃϵͳĿ¼=======================================
function GetWinDir: string;
var
Buf: array[0..MAX_PATH] of char;
begin
GetSystemDirector ......
implementation
uses ComOBJ;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ExcelAPP1:Variant;
ExcelApp2:Variant;
I,j: Integer;
ID,IDX:string;
begin
try
ExcelAPP1:=CreateOleObject('Excel.Application');
E ......
var
Form1: TForm1;
a, b, c: Integer;
implementation
{$R *.dfm}
procedure test1(x, y, z: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
end;
procedure test2(x, y, z: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov ......
DelphiµÚÈý·½¿Ø¼þ°²×°Ð¶ÔØÖ¸ÄÏ
»ù±¾°²×°
1¡¢¶ÔÓÚµ¥¸ö¿Ø¼þ£¬Componet-->install component..-->PAS»òDCUÎļþ-->install;
2¡¢¶ÔÓÚ´ø*.dpkÎļþµÄ¿Ø¼þ°ü£¬File-->Open(ÏÂÀÁбí¿òÖÐÑ¡*.dpk)-->install¼´¿É£»
3¡¢¶ÔÓÚ´ø*.bplÎļþµÄ¿Ø¼þ°ü£¬Install Packages-->Add-->bplÎļþÃû¼´¿É£»
4¡¢Èç¹ ......
DelphiÖнØÈ¡ÎļþÃû²»º¬ºó׺²¿·Ö ÊÕ²Ø
µ±ÎļþÃûº¬ÓÐÖÐÎÄʱ£¬²»ÄÜÖ±½ÓÓÃLeftStr(FileName, Length(FileName - 4))»òÕßÓÃPosÀ´¶¨Î»"."µÄλÖÃÀ´»ñÈ¡¡£ÒòΪÖÐÎÄÒ»¸ö×Ö·ûÏ൱ÓëÁ½¸öÓ¢ÎÄ×Ö·û¡£ÕâÑù½ØÈ¡ÍùÍù»¹ÊÇ°ÑÕû¸öFileName¶¼½ØÏÂÀ´ÁË¡£
Ó¦µ±Ê¹ÓÃCopyº¯Êý£¬ÈçÏ£º
TmpFileLength := Pos(extFile, FileName); TmpFileName := ......