打印本文 打印本文 关闭窗口 关闭窗口
DELPHI常用函数集及简要范例
作者:武汉SEO闵涛  文章来源:敏韬网  点击数19885  更新时间:2009/4/23 18:30:33  文章录入:mintao  责任编辑:mintao
bsp;   else
    MessageDlg(''''Directory removed'''', mtInformation, [mbOk], 
     0);
   end;
-----------------------------------------------------------------------------
ChDir    改变目前目录.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure ChDir(S: string);
范例  begin
     {$I-}
     { Change to directory specified in Edit1 }
     ChDir(Edit1.Text);
     if IOResult <> 0 then
    MessageDlg(''''Cannot find directory'''', mtWarning,[mbOk], 
     0);
   end;

==============================================
 Memory-management routines 记忆体管理常式
==============================================
AllocMem   配置记忆体.
-----------------------------------------------------------------------------
Unit  SysUtils
函数原型 function AllocMem(Size: Cardinal): Pointer;
说明  FreeMem释放记忆体.
-----------------------------------------------------------------------------
GetHeapStatus 传回目前Heap区的记忆体配置状态.
-----------------------------------------------------------------------------
Unit  System
函数原型 function GetHeapStatus: THeapStatus;
-----------------------------------------------------------------------------
GetMemoryManager 传回目前Heap区的记忆体配置 的进入点.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure GetMemoryManager(var MemMgr: 
    TMemoryManager);
EXample
var

  GetMemCount: Integer;
  FreeMemCount: Integer;
  ReallocMemCount: Integer;
  OldMemMgr: TMemoryManager;

function NewGetMem(Size: Integer): Pointer;
begin
  Inc(GetMemCount);
  Result := OldMemMgr.GetMem(Size);
end;

function NewFreeMem(P: Pointer): Integer;
begin
  Inc(FreeMemCount);
  Result := OldMemMgr.FreeMem(P);
end;

function NewReallocMem(P: Pointer; Size: Integer): Pointer;
begin

  Inc(ReallocMemCount);
  Result := OldMemMgr.ReallocMem(P, Size);
end;

const
  NewMemMgr: TMemoryManager = (
  GetMem: NewGetMem;
  FreeMem: NewFreeMem;
  ReallocMem: NewReallocMem);

procedure SetNewMemMgr;
begin
  GetMemoryManager(OldMemMgr);
  SetMemoryManager(NewMemMgr);
end;
## GetMemoryManager, SetMemoryManager Example
-----------------------------------------------------------------------------
ReAllocMem  重新配置记忆体.
-----------------------------------------------------------------------------
Unit  Systems
函数原型 procedure ReallocMem(var P: Pointer; Size: Integer);
-----------------------------------------------------------------------------
SetMemoryManager 设定目前Heap区的记忆体配置 的进入点.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure SetMemoryManager(const MemMgr: 
    TMemoryManager);

   type
     THeapStatus = record
    TotalAddrSpace: Cardinal;s
    TotalUncommitted: Cardinal;
    TotalCommitted: Cardinal;
    TotalAllocated: Cardinal;
    TotalFree: Cardinal;
    FreeSmall: Cardinal;
    FreeBig: Cardinal;
    Unused: Cardinal;
    Overhead: Cardinal;
    HeapErrorCode: Cardinal;
     end;

   type
     PMemoryManager = ^TMemoryManager;
     TMemoryManager = record
    GetMem: function(Size: Integer): Pointer;
    FreeMem: function(P: Pointer): Integer;
    ReallocMem: function(P: Pointer; Size: Integer): Pointer;
     end;
Example
var

  GetMemCount: Integer;
  FreeMemCount: Integer;
  ReallocMemCount: Integer;
  OldMemMgr: TMemoryManager;

function NewGetMem(Size: Integer): Pointer;
begin
  Inc(GetMemCount);
  Result := OldMemMgr.GetMem(Size);
end;

function NewFreeMem(P: Pointer): Integer;
begin
  Inc(FreeMemCount);
  Result := OldMemMgr.FreeMem(P);
end;

function NewReallocMem(P: Pointer; Size: Integer): Pointer;
begin

  Inc(ReallocMemCount);
  Result := OldMemMgr.ReallocMem(P, Size);
end;

const
  NewMemMgr: TMemoryManager = (
  GetMem: NewGetMem;
  FreeMem: NewFreeMem;
  ReallocMem: NewReallocMem);

procedure SetNewMemMgr;
begin
  GetMemoryManager(OldMemMgr);
  SetMemoryManager(NewMemMgr);
end;
##GetMemoryManager, SetMemoryManager Example

======================================
 Miscellaneous routines 其他常式
======================================
Exclude   删除一组元素中的一个元素.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure Exclude(var S: set of T;I:T);
说明  删除S中的I元素.
-----------------------------------------------------------------------------
FillChar   填入元素.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure FillChar(var X; Count: Integer; value);
说明  以value填入X中Count个.

范例 Example
var
  S: array[0..79] of char;
begin
  { Set to all spaces }
  FillChar(S, SizeOf(S), Ord('''' ''''));
  MessageDlg(S, mtInformation, [mbOk], 0);
end;
-----------------------------------------------------------------------------
Hi     传回高位元数字.
-----------------------------------------------------------------------------
Unit  System
函数原型 function Hi(X): Byte;
范例  var B: Byte;
   begin
     B := Hi($1234);  { $12 }
   end;
-----------------------------------------------------------------------------
Include   加入一个元素到一组元素.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure Include(var S: set of T; I:T);
说明  加入I元素到S中.
-----------------------------------------------------------------------------
Lo     传回高位元数字.
-----------------------------------------------------------------------------
Unit  System
函数原型 function Lo(X): Byte;
范例  var B: Byte;
   begin
     B := Lo($1234);  { $34 }
   end;
-----------------------------------------------------------------------------
Move    从来源变数拷贝n个Bytes到目的变数.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure Move(var Source, Dest; Count: Integer);
范例  var
     A: array[1..4] of Char;
     B: Integer;
   begin
     Move(A, B, SizeOf(B));
    { SizeOf = safety! }
   end;
-----------------------------------------------------------------------------
ParamCount  直接由执行档後加上传入变数的个数.(arj.exe a dr.arj d:*.*)
-----------------------------------------------------------------------------
Unit  System
函数原型 function ParamCount: Integer;
说明  如上例则传回3
Example
var

  I: Integer;
  ListItem: string;
begin
  for I := 0 to IBQuery1.ParamCount - 1 do
  begin
    ListItem := ListBox1.Items[I];
    case IBQuery1.Params[I].DataType of
      ftString:
        IBQuery1.Params[I].AsString := ListItem;
&n

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]  ...  下一页 >> 

打印本文 打印本文 关闭窗口 关闭窗口