打印本文 打印本文 关闭窗口 关闭窗口
DELPHI常用函数集及简要范例
作者:武汉SEO闵涛  文章来源:敏韬网  点击数19885  更新时间:2009/4/23 18:30:33  文章录入:mintao  责任编辑:mintao
     Str(-1.4:2:1, T);
     S := S + T + '''' rounds to '''' + IntToStr(Round(-1.4)) + #13#10;
     Str(-1.5:2:1, T);
     S := S + T + '''' rounds to '''' + IntToStr(Round(-1.5));
     MessageDlg(S, mtInformation, [mbOk], 0);
   end;
-----------------------------------------------------------------------------
Trunc    将实数转为整数.(小数直接舍弃)
-----------------------------------------------------------------------------
Unit  System
函数原型 function Trunc(X: Extended): Longint;
 Untyped file routines
var
   S, T: string;
begin
   Str(1.4:2:1, T);
   S := T + '''' Truncs to '''' + IntToStr(Trunc(1.4)) + #13#10;
   Str(1.5:2:1, T);
   S := S + T + '''' Truncs to '''' + IntToStr(Trunc(1.5)) + #13#10;
   Str(-1.4:2:1, T);
   S := S + T + '''' Truncs to '''' + IntToStr(Trunc(-1.4)) + #13#10;
   Str(-1.5:2:1, T);
   S := S + T + '''' Truncs to '''' + IntToStr(Trunc(-1.5));
   MessageDlg(S, mtInformation, [mbOk], 0);
end;
-------------------------
var

   f: file of Integer;
   i,j: Integer;
 begin
   AssignFile(f,''''TEST.INT'''');
   Rewrite(f);
   for i := 1 to 6 do
     Write(f,i);
   Writeln(''''File before truncation:'''');
   Reset(f);
   while not Eof(f) do
   begin
     Read(f,i);
     Writeln(i);
   end;
   Reset(f);
   for i := 1 to 3 do
     Read(f,j); { Read ahead 3 records }
   Truncate(f); { Cut file off here }

   Writeln;
   Writeln(''''File after truncation:'''');
   Reset(f);
   while not Eof(f) do

   begin
     Read(f,i);
     Writeln(i);
   end;
   CloseFile(f);
   Erase(f);
 end;

-----------------------------------------------------------------------------
BlockRead  读取档案至记忆体区块.
-----------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
  FromF, ToF: file;
  NumRead, NumWritten: Integer;
  Buf: array[1..2048] of Char;
begin
  if OpenDialog1.Execute then               { 开档对话盒}
  begin
    AssignFile(FromF, OpenDialog1.FileName);{}
    Reset(FromF, 1); { Record size = 1 }
    if SaveDialog1.Execute then             { Display Save dialog box}
    begin
      AssignFile(ToF, SaveDialog1.FileName);{ Open output file }

      Rewrite(ToF, 1); { Record size = 1 }
      Canvas.TextOut(10, 10, ''''Copying '''' + IntToStr(FileSize(FromF))+''''bytes...'''');
      repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
      until (NumRead = 0) or (NumWritten <> NumRead);
        CloseFile(FromF);
        CloseFile(ToF);
    end;
  end;
end;
##  BlockRead, BlockWrite, SaveDialog Example
-----------------------------------------------------------------------------
BlockWrite  将记忆体区块写入档案.
-----------------------------------------------------------------------------
Unit  System
函数原型 procedure BlockRead(var F: File; var Buf; Count: Integer 
    [; var Result: Integer]);
函数原型 procedure BlockWrite(var f: File; var Buf; Count: Integer 
    [; var Result: Integer]);
范例  var
     FromF, ToF: file;
     NumRead, NumWritten: Integer;
     Buf: array[1..2048] of Char;
   begin
     if OpenDialog1.Execute then
    { Display Open dialog box }
    begin
      AssignFile(FromF, OpenDialog1.FileName);
      Reset(FromF, 1);  { Record size = 1 }
      if SaveDialog1.Execute then
     { Display Save dialog box }
     begin
       AssignFile(ToF, SaveDialog1.FileName);
       { Open output file }
       Rewrite(ToF, 1);  { Record size = 1 }
       Canvas.TextOut(10, 10,''''Copying ''''+
      IntToStr(FileSize(FromF))+ '''' bytes...'''');
       repeat
        BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
        BlockWrite(ToF, Buf, NumRead, NumWritten);
       until (NumRead = 0) or (NumWritten <> 
      NumRead);
       CloseFile(FromF);
       CloseFile(ToF);
     end;
    end;
   end;
======================================
 Variant support routines 鬼牌变数函式
======================================
VarArrayCreate 建立一个variant array.
-----------------------------------------------------------------------------
Unit  System
函数原型 function VarArrayCreate(const Bounds: array of Integer; 
    VarType: Integer): Variant;
范例  procedure TForm1.Button1Click(Sender: TObject);
   var
     A:Variant;
     S:String;
   begin
     A:=VarArrayCreate([0,4],varVariant);
     A[0]:=1;
     A[1]:=1234.5678;
     A[2]:=''''Hello world'''';
     A[3]:=TRUE;
     A[4]:=VarArrayOf([1 ,10 ,100 ,10000]);
     S:=A[4][2];
     S:=A[2]+''''  ''''+S;
     Label1.Caption:=S;
   end;
说明  S:=A[4][2]; Variant可以不用函数来做转换.
   只能单独使用,如为下列则有误.
   S:=A[2]+''''  ''''+A[4][2];

VarType
varEmpty  $0000 The variant is Unassigned.
varNull  $0001 The variant is Null.
varSmallint $0002 16-bit signed integer (type Smallint).
varInteger  $0003 32-bit signed integer (type Integer).
varSingle  $0004 Single-precision floating-point value 
      (type Single).
varDouble $0005 Double-precision floating-point value 
      (type Double).
varCurrency $0006 Currency floating-point value (type Currency).
VarDate  $0007 Date and time value (type TDateTime).
VarOleStr &n

 << 上一页  [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]  ...  下一页 >> 

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