![]() |
#52
dzy2006-06-23 10:53
-----------------------------------------------------------------------------
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 $0008 Reference to a dynamically allocated UNICODE string. varDispatch $0009 Reference to an OLE automation object (an IDispatch interface pointer). VarError $000A Operating system error code. varBoolean $000B 16-bit boolean (type WordBool). varVariant $000C Variant (used only with variant arrays). varUnknown $000D Reference to an unknown OLE object (an IUnknown interface pointer). varByte $0011 8-bit unsigned integer (type Byte). VarString $0100 Reference to a dynamically-allocated long string (type AnsiString). varTypeMask $0FFF Bit mask for extracting type code. This constant is a mask that can be combined with the VType field using a bit-wise AND.. varArray $2000 Bit indicating variant array. This constant is a mask that can be combined with the VType field using a bit-wise AND to determine if the variant contains a single value or an array of values. VarByRef $4000 This constant can be AND'd with Variant.VType to determine if the variant contains a pointer to the indicated data instead of containing the data itself. 范例 var V1, V2, V3, V4, V5: Variant; I: Integer; D: Double; S: string; begin V1 := 1; { Integer value } V2 := 1234.5678; { Real value } V3 := 'Hello world'; { String value } V4 := '1000'; { String value } V5 := V1 +V2 +V4; { Real value 2235.5678 } I := V1; { I = 1 } D := V2; { D = 1234.5678 } S := V3; { S = 'Hello world' } I := V4; { I = 1000 } S := V5; { S = '2235.5678' } end; ----------------------------------------------------------------------------- VarArrayOf 建立一个简单的一维variant array ----------------------------------------------------------------------------- Unit System 函数原型 function VarArrayOf(const Values: array of Variant): Variant; 范例 var A:Variant; begin A:=VarArrayOf([1 ,10 ,'Hello ,10000]); S:=A[1]+' '+IntToStr(A[2]); Label1.Caption:=S; end; |
虽然有点多
但看看对你绝对有好处,希望你支持!
abs(x) 绝对值
arctan(x) 反正切
cos(x) 传回馀弦函数值
exp(x) e的x次幂
frac(x) 取小数部分
int(x) 取整
ln(x) 自然对数
sin(x) 传回正弦函数值
sqr(x) x*x
sqrt(x) 平方根
其它
pred(x) pred('D')='C', pred(true)=1;
succ(x) succ('Y')='Z', succ(pred(x))=x
ord(x) 求x在字符集中的序号,如ord('A')=65
chr(x) chr(65)='A'
round(x) 四舍五入
trunc(x) trunc(4.8)=4,trunc('-3.6')=-3
upcase(x) upcase('a')='A'
hi(I) hi($2A30)=$2A
lo(I) lo($2A30)=$30
random(n) 产生[0,n)间的随机整数
sizeof(name) 求出某类型或变量在内存中占用的字节数
swap(num) swap($3621)=$2136
================================
Arithmetic routines 数学运算
================================
Abs 绝对值
---------------------------------------------------------
Unit System
函数原型 function Abs(X);
说明 X为整数or实数.
范例
var
r: Real;
i: Integer;
begin
r := Abs(-2.3); { 2.3 }
i := Abs(-157); { 157 }
end;
[此贴子已经被作者于2006-6-23 11:53:05编辑过]