Delphi(pascal)的函数手册_编程必备.doc_第1页
Delphi(pascal)的函数手册_编程必备.doc_第2页
Delphi(pascal)的函数手册_编程必备.doc_第3页
Delphi(pascal)的函数手册_编程必备.doc_第4页
Delphi(pascal)的函数手册_编程必备.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

delphi(pascal)的函数手册 名称 类型 说明 -Abort 函数 引起放弃的意外处理Abs 函数 绝对值函数AddExitProc 函数 将一过程添加到运行时库的结束过程表中Addr 函数 返回指定对象的地址AdjustLineBreaks 函数 将给定字符串的行分隔符调整为CR/LF序列Align 属性 使控件位于窗口某部分Alignment 属性 控件标签的文字位置AllocMem 函数 在堆栈上分配给定大小的块AllowGrayed 属性 允许一个灰度选择AnsiCompareStr 函数 比较字符串(区分大小写)AnsiCompareText 函数 比较字符串(不区分大小写)AnsiLowerCase 函数 将字符转换为小写AnsiUpperCase 函数 将字符转换为大写Append 函数 以附加的方式打开已有的文件ArcTan 函数 余切函数AssignFile 函数 给文件变量赋一外部文件名Assigned 函数 测试函数或过程变量是否为空AutoSize 属性 自动控制标签的大小BackgroundColor 属性 背景色BeginThread 函数 以适当的方式建立用于内存管理的线程BevelInner 属性 控件方框的内框方式BevelOuter 属性 控件方框的外框方式BevelWidth 属性 控件方框的外框宽度BlockRead 函数 读一个或多个记录到变量中BlockWrite 函数 从变量中写一个或多个记录BorderStyle 属性 边界类型BorderWidth 属性 边界宽度Break 命令 终止for、while、repeat循环语句Brush 属性 画刷Caption 属性 标签文字的内容ChangeFileExt 函数 改变文件的后缀ChDir 函数 改变当前目录Checked 属性 确定复选框选中状态Chr 函数 返回指定序数的字符CloseFile 命令 关闭打开的文件Color 属性 标签的颜色Columns 属性 显示的列数CompareStr 函数 比较字符串(区分大小写)Concat 函数 合并字符串Continue 命令 继续for、while、repeat的下一个循环Copy 函数 返回一字符串的子串Cos 函数 余弦函数Ctl3D 属性 是否具有3D效果Cursor 属性 鼠标指针移入后的形状Date 函数 返回当前的日期DateTimeToFileDate 函数 将DELPHI的日期格式转换为DOS的日期格式DateTimeToStr 函数 将日期时间格式转换为字符串DateTimeToString 函数 将日期时间格式转换为字符串DateToStr 函数 将日期格式转换为字符串DayOfWeek 函数 返回星期的数值Dec 函数 递减变量值DecodeDate 函数 将日期格式分解为年月日DecodeTime 函数 将时间格式分解为时、分、秒、毫秒Delete 函数 从字符串中删除子串DeleteFile 命令 删除文件DiskFree 函数 返回剩余磁盘空间的大小DiskSize 函数 返回指定磁盘的容量Dispose 函数 释放动态变量所占的空间DisposeStr 函数 释放字符串在堆栈中的内存空间DitherBackground 属性 使背景色的色彩加重或减少50%DragCursor 属性 当鼠标按下时光标的形状DragMode 属性 按动的作用方式DropDownCount 属性 容许的显示数据项的数目EditMask 属性 编辑模式Enabled 属性 是否使标签呈现打开状态EncodeDate 函数 将年月日合成为日期格式EncodeTime 函数 将时、分、秒、毫秒合成为时间格式EndMargin 属性 末尾边缘Eof 函数 对有类型或无类型文件测试是否到文件尾Eoln 函数 返回文本文件的行结束状态Erase 命令 删除外部文件ExceptAddr 函数 返回引起当前意外的地址Exclude 函数 从集合中删除一些元素ExceptObject 函数 返回当前意外的索引Exit 命令 立即从当前的语句块中退出Exp 函数 指数函数ExpandFileName 函数 返回包含绝对路径的字符串ExtendedSelect 属性 是否允许存在选择模式,True时,MultiSelect才有意义ExtractFileDir 函数 返回驱动器和路径ExtractFileExt 函数 返回文件的后缀ExtractFileName 函数 返回文件名ExtractFilePath 函数 返回指定文件的路径FileAge 函数 返回文件已存在的时间FileClose 命令 关闭指定的文件FileCreate 命令 用指定的文件名建立新文件FileDateToDateTime 函数 将DOS的日期格式转换为DELPHI的日期格式FileExists 函数 检查文件是否存在FileGatAttr 函数 返回文件的属性FileGetDate 函数 返回文件的DOS日期时间标记FileOpen 命令 用指定的存取模式打开指定的文件FilePos 函数 返回文件的当前指针位置FileRead 命令 从指定的文件读取FileSearch 命令 在目录中搜索指定的文件FileSeek 函数 改变文件的指针FileSetAttr 函数 设置文件属性FileSetDate 函数 设置文件的DOS日期时间标记FileSize 函数 返回当前文件的大小FileWrite 函数 对指定的文件做写操作FillChar 函数 用指定的值填充连续字节的数e.gGetMem(R, SizeOf(TMyRecord); FillChar(R, SizeOf(TMyRecord), #0); SetLength(R.S, $FFFF); FreeMem(R); / 不会释放 R.S 内存空间 !FindClose 命令 终止FindFirst/FindNext序列FindFirst 命令 对指定的文件名及属性搜索目录FindNext 命令 返回与文件名及属性匹配的下一入口FloatToDecimal 函数 将浮点数转换为十进制数FloatToStrF 函数 将浮点数转换为字符串FloatToStr 函数 将浮点数转换为字符串FloatToText 函数 将给定的浮点数转换为十进制数FloatToTextFmt 函数 将给定的浮点数转换为十进制数Flush 函数 将缓冲区的内容刷新到输出的文本文件中FmtLoadStr 函数 从程序的资源字符串表中装载字符串FmtStr 函数 格式化一系列的参数,其结果以参数Result返回Font 属性 设置字体Format 函数 格式化一系列的参数并返回Pascal字符串FormatBuf 函数 格式化一系列的参数FormatDateTime 函数 用指定的格式来格式化日期和时间FormatFloat 函数 指定浮点数格式Frac 函数 返回参数的小数部分FreeMem 函数 按给定大小释放动态变量所占的空间GetDir 返回指定驱动器的当前目录GetHeapStatus 返回内存管理器的当前状态GetMem (var P: Pointer; Size: Integer);(建立一指定大小的动态变量)分配一个指定大小的内存块(连续),并将指针指向该处GetMemoryManager 返回内存管理器的入口点Glyph 函数 按钮上的图象Halt 停止程序的执行并返回到操作系统Hi 返回参数的高地址位High 返回参数的上限值Hint 属性 提示信息Int 返回参数的整数部分Include 添加元素到集合中Insert 在字符串中插入子串IntToHex(,) 将整型数转换为十六进制数。两个参数,第二个是返回十六进制数的最小长度IntToStr 将整型数转换为字符串IOResult 返回最新的I/O操作完成状态IsValidIdent 测试字符串是否为有效的标识符Items 属性 默认显示的节点Kind 属性 摆放样式LargeChange 属性 最大改变值Layout 属性 图象布局Length 函数 返回字符串的动态长度Lines 属性 缺省显示内容Ln 函数 自然对数函数Lo 函数 返回参数的低地址位LoadStr 函数 从应用程序的可执行文件中装载字符资源LowerCase 函数 将给定的字符串变为小写Low 函数 返回参数的下限值Max 属性 最大值MaxLength 属性 最大长度Min 属性 最小值MkDir 命令 建立一子目录Move 函数 从源到目标复制字节MultiSelect 属性 允许同时选择几个数据项Name 属性 控件的名字New (var P: Pointer); 为一个指针变量分配内存,会自动计算指针所指数据结构需要空的空间大小(建立新的动态变量并设置一指针变量指向它)NewStr 函数 在堆栈上分配新的字符串Now 函数 返回当前的日期和时间Odd 测试参数是否为奇数OnActivate 事件 焦点移到窗体上时触发OnClick 事件 单击窗体空白区域触发OnDblClick 事件 双击窗体空白区域触发OnCloseQuery 事件 使用者试图关闭窗体触发OnClose 事件 窗体关闭后才触发OnCreate 事件 窗体第一次创建时触发OnDeactivate 事件 用户切换到另一应用程序触发OnDragDrop 事件 鼠标拖放操作结束时触发OnDragOver 事件 有其他控件从他上面移过触发OnMouseDown 事件 按下鼠标键时触发OnMouseUp 事件 释放鼠标键时触发OnMouseMove 事件 移动鼠标时触发OnHide 事件 隐藏窗体时触发OnKeyDown 事件 按下键盘某键时触发OnKeyPress 事件 按下键盘上的单个字符键时触发OnKeyUp 事件 释放键盘上的某键时触发OnPaint 事件 窗体上有新部分暴露出来触发OnResize 事件 重新调整窗体大小触发OnShow 事件 在窗体实际显示之前瞬间触发Ord 返回序数类的序数OutlineStyle 属性 类型OutOfMemoryError 引起OutOfMemory意外PageIndex 属性 页索引Pages 属性 页ParamCount 函数 返回在命令行上传递给程序的参数数量ParamStr 函数 返回指定的命令行参数Pen 属性 画刷设置Pi 函数 返回圆周率PiPicture 属性 显示图象PictureClosed 属性 设置Closed位图PictureLeaf 属性 设置Leaf位图PictureMinus 属性 设置Minus位图PictureOpen 属性 设置Open位图PicturePlus 属性 设置Plus位图Pos 函数 在字符串中搜索子串Pred 函数 返回先前的参数Random 函数 返回一随机函数Randomize 函数 用一随机数初始化内置的随机数生成器Read 函数 对有格式的文件,读一文件组件到变量中;对文本文件,读一个或多个值到一个或多个变量中Readln 函数 执行Read过程,然后跳到文件下一行ReadOnly 属性 只读属性ReAllocMem (var P: Pointer; Size: Integer); 重新分配指定大小内存块,参数P必须是nil或者指向一个由GetMem, AllocMem, 或 ReallocMem分配的内存变量,其分配的内存是连续的,会把前面已有的数据移到新分配的内存中去Rename 函数 重命名外部文件RenameFile 函数 对文件重命名Reset 函数 打开已有的文件Rewrite 函数 建立并打开一新的文件RmDir 函数 删除空的子目录Round 函数 将实数值舍入为整型值RunError 函数 停止程序的执行ScrollBars 属性 滚动条状态Seek 函数 将文件的当前指针移动到指定的组件上SeekEof 函数 返回文件的文件结束状态SeekEoln 函数 返回文件的行结束状态SelectedColor 属性 选中颜色SetMemoryManager 函数 设置内存管理器的入口点SetLength函数 为一个字符串变量分配空间SetTextBuf 函数 给文本文件指定I/O缓冲区Shape 属性 显示的形状ShowException 函数 显示意外消息与地址Sin 函数 正弦函数SizeOf 函数 返回参数所占的字节数SmallChange 属性 最小改变值Sorted 属性 是否允许排序Sqr 函数 平方函数Sqrt 函数 平方根函数StartMargin 属性 开始边缘State 属性 控件当前状态Str 函数 将数值转换为字符串StrAlloc 函数 给以NULL结束的字符串分配最大长度-1的缓冲区StrBufSize 函数 返回存储在由StrAlloc分配的字符缓冲区的最大字符数StrCat 函数 将一字符串附加到另一字符串尾并返回合并的字符串StrComp 函数 比较两个字符串StrCopy 函数 将一个字符串复制到另一个字符串中StrDispose 函数 释放堆栈上的字符串StrECopy 函数 将一字符串复制到另一个字符串并返回结果字符串尾部的指针StrEnd 函数 返回指向字符串尾部的指针Stretch 属性 自动适应控件的大小StrFmt 函数 格式化一系列的参数StrIComp 函数 比较两个字符串(不区分大小写)StringToWideChar 函数 将ANSI字符串转换为UNICODE字符串StrLCat 函数 将一字符串中的字符附加到另一字符串尾并返回合并的字符串StrLComp 函数 以最大长度比较两个字符串StrLCopy 函数 将一个字符串中的字符复制到另一个字符串中StrLen 函数 返回字符串中的字符数StrLFmt 函数 格式化一系列的参数,其结果中包含有指向目标缓冲区的指针StrLIComp 函数 以最大长度比较两个字符串(不区分大小写)StrLower 函数 将字符串中的字符转换为小写StrMove 函数 将一个字符串中的字符复制到另一个字符串中StrNew 函数 在堆栈上分配一个字符串StrPas 函数 将以NULL结束的字符串转换为PASCAL类的字符串StrPCopy 函数 将PASCAL类的字符串复制为以NULL结束的字符串StrPLCopy 函数 从PASCAL类的最大长度字符串复制为以NULL结束的字符串StrPos 函数 返回一个字符串在另一个字符串中首次出现指针StrRScan 函数 返回字符串中最后出现字符的指针StrScan 函数 返回字符串中出现首字符的指针StrToDate 函数 将字符串转换为日期格式StrToDateTime 函数 将字符串转换为日期/时间格式StrToFloat 函数 将给定的字符串转换为浮点数StrToInt 函数 将字符串转换为整型StrToIntDef 函数 将字符串转换为整型或默认值StrToTime 函数 将字符串转换为时间格式StrUpper 函数 将字符串中的字符转换为大写Style 属性 类型选择Suce 函数 返回后继的参数Swap 函数 交换参数的高低地址位Tabs 属性 标记每一项的内容TabIndex 属性 标记索引Text 属性 显示的文本TextToFloat 函数 将字符串(以NULL结束的格式)转换为浮点数Time 函数 返回当前的时间TimeToStr 函数 将时间格式转换为字符串Trim 函数 从给定的字符串中删除前导和尾部的空格及控制字符TrimLeft 函数 从给定的字符串中删除首部的空格及控制字符TrimRight 函数 从给定的字符串中删除尾部的空格及控制字符Trunc 函数 将实型值截取为整型值Truncate 函数 截去当前文件位置后的内容UnSelectedColor 属性 未选中颜色UpCase 将字符转换为大写UpperCase 将给定的字符串变为大写Val 函数 将字符串转换为整型值VarArrayCreate 函数 以给定的界限和维数建立变体数组VarArrayDimCount 函数 返回给定变体的维数VarArrayHighBound 函数 返回给定变体数组维数的上界VarArrayLock 函数 锁定给定的变体数组VarArrayLowBound 函数 返回给定变体数组维数的下界VarArrayOf 函数 返回指定变体的数组元素VarArrayRedim 函数 通过改变上限来调整变体的大小VarArrayUnlock 函数 解锁指定的变体数组VarAsType 函数 将变体转换为指定的类型VarCase 函数 将变体转换为指定的类型并保存他VarClear 函数 清除指定的变体VarCopy 函数 将指定的变体复制为指定的变体VarFormDateTime 函数 返回包含日期时间的变体VarIsArray 函数 测试变体是否为数组VarIsEmpty 函数 测试变体是否为UNASSIGNEDVarIsNull 函数 测试变体是否为NULLVarToDateTime 函数 将给定的变体转换为日期时间VarType 函数 将变体转换为指定的类型并保存他Visible 属性 控件的可见性WantReturns 属性 为True时,按回车键产生一个回车符;为False时,按下Ctrl+Enter才产生回车符Write 命令 对有格式的文件,写一变量到文件组件中;对文本文件,写一个或多个值到文件中Writeln 命令 执行WRITE过程,然后输出一行结束标志WideCharLenToString 函数 将ANSI字符串转换为UNICODE字符串WideCharLenToStrWar 函数 将UNICODE字符串转换为ANSI字符串变量WideCharToString 函数 将UNICODE字符串转换为ANSI字符串WideCharToStrVar 函数 将UNICODE字符串转换为ANSI字符串变量absolute /它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.var Str: string32; StrLen: Byte absolute Str;/这个声明指定了变量StrLen起始地址与Str相同./由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.begin Str := abc; Edit1.Text := IntToStr(StrLen);end;abstract/它允许你创建抽象的方法, 包括有抽象方法的类称为抽象类./Abstract关键字必须与Virtual或Dynamic关键字同时使用, 因为抽象方法必须被覆盖式实现./抽象类不能实例化, 抽象方法不能包含方法体.type TDemo = class private protected procedure X; virtual; abstract; public constructor Create; destructor Destroy; override; published end;and/一、表示逻辑与if (a0) and (b0) then/二、表示位运算 学习视频网 var a,b,c: Integer;begin c := (a and b);end;/使用And表示逻辑时, And左右的表达式必须用小括号括起, 以避免以生条件的冲突./例如:if a0 and b0 then/编译器可能会理解为:if a(0 and b)0 then/或:if (a0) and (b0) then/但是实际编译时, 编译器会产生一个冲突, 报告错误./并且第一种可能包含了abc的形式, 这在Delphi中不被支持./所以使用And运算符时必须使用括号, 以区分左右的条件./表示位运算时也必须加上括号, 将And以及左右参数括起.array/Array用于表示数组, 任何的对象都能被声明成数组.数组分为静态和动态的种./静态数组var Arr1: array 1.10 of Integer;/动态数组, 由于声明时不知其元素个数, 所以必须在后期用SetLength方法设置数组的大小var Arr2: array of Integer;/数组作为参数时, 不能传入数组的大小, 只能传入数组名, 然后用Length方法获取数组的元素个数function X(A: array of Integer): Integer;var i: Integer;begin Result := 0; for i := 0 to Length(A)-1 do Result := Result + Ai;end;as/As用于将一个对象转换为另一个对象procedure BtnClick(Sender:TObject);begin (Sender as TButton).Caption := Clicked;end;/对于对象填充接口的转换, 必须用As进行(HTTPRIO as IExp).GetConnection;/As不能用于数据类型的转换, 下面的代码是错误的:var i: Integer; s: string;begin s := (i as string);end;/正确写法是:s := string(i);asm/Asm关键字用于插入汇编代码, 使用汇编代码时, 必须使用asm.end;的结构, 而非begin.end;function IntToHex(Value: Integer; Digits: Integer): string;asm CMP EDX, 32 JBE A1 xor EDX, EDX A1: PUSH ESI MOV ESI, ESP SUB ESP, 32 PUSH ECX MOV ECX, 16 CALL CvtInt MOV EDX, ESI POP EAX CALL System.LStrFromPCharLen ADD ESP, 32 POP ESIend;assembler/Assembler关键字用于支持早期的汇编, 如80386等./它和Asm的区别:Asm允许使用Win32汇编, 而Assembler只允许80x86汇编, 它不允许Invoke语句的出现.function IntToHex(AValue: Int64): string; assembler;automated/Automated访问区分符用于描述一个自动类型的成员, 它能够使程序的版本向下兼容./ComObj单元内的成员及其实例不能使用Automated访问区分符.type TDemo = class automated Str:WideString; end;/在程序的下一个版本中, 将Str做了修改, 变成type TDemo = class automated Str: AnsiString; end/则新版本的Str变量能够接受旧版本的WideString型数据, 并自动转换成AnsiString./在实际开发中, 如果没有特殊的需要, 一般不用automated访问区分符.begin/begin关键字用于表示一段程序或一个结构的开始, 必须用end关键字来结束.procedure X;begin ShowMessage(A Demo);end;/一般的结构, 如If, For, While等也需要用begin关键字来标出结构起始点for i:=1 to 100 dobegin sum := sum + i; if sum 1000 then Break;end;case/Case语句用于完成条件选择, Case语句的的被选择对象必须是有序类型, 包括整型, 枚举类型, 字符型等./Case语句必须由end结束,如果没有相符合的选择项, 可以加入else来作出通用选择.function GetDays(AYear,AMonth: Integer): Integer;begin case AMonth of 1,3,5,7,8,10,12: Result := 31; 4,6,9,11: Result := 30; 2: begin if IsLeapYear(AYear) then Result:=29 else Result:=28; end; else Result:=0;end;cdecl /Cdecl是函数调用协定的一种, 它规定了从C或C+编写的DLL中调用函数所必须遵守的规则./它可以将C或C+中的数据类型转换为Delphi的./例如C+中的代码:int X(int i) return i*2;/这个函数被编译在Demo.dll中, 用Delphi调用时必须使用:function X(i: Integer): Integer; Cdecl; external Demo.dll;class/Class关键字用于声明或继承一个类, 也可以使类和接口同时继承./另外, Class关键字也能用于声明类通用方法, 使得父类可以从类内访问子类的方法.type ClassDemo = class(TObject) private public constructor Create; end;/如果用class声明方法, 则该方法在类与相关类中都可以使用, 譬如:type ClassA = class private public procedure Y; end;type ClassB = class(ClassA) private public class procedure X; end;/则在使用时ClassA能够直接访问ClassB的X方法procedure ClassA.Y;begin Self.X;end;/此时父类将子类的class方法作为自身的方法进行调用.const/Const关键字用于声明常量, 使用const声明的数据将不能在程序中被改变./也可以用来声明函数参数, 用const指定的参数不允许在函数中改变.const MyFileName = Delphi;const MyInteger = 100;/用Const声明常量不需要指出其数据类型, 系统会自动判断类型, 并作自动调整./函数中可以用const声明不可更改的参数function X(const i: Integer): string;/此时在函数操作过程中, i的值不可改变.constructor/constructor关键字用来声明一个类的构造函数, 当类被实例化时, 首先调用此函数/构造函数一般用Create表示, Create方法能够连带类中存在的CreateWnd方法.type ClassDemo = class(TObject) private fValue: Integer; public constructor Create; end;constructor ClassDemo.Create;begin fValue := 0;end;contains/Contains关键字指出了某个包(Package)是否包含某个文件./用Contains引入的文件必须被添加到包文件中, 它可以避免关键文件的引用丢失.package DATAX; requires rtl, clx; contains Db, DBLocal, DBXpress;end.default/Default关键字用于指出一个属性的默认值/只有有序类型的属性才允许默认值的存在, 否则必须在构造函数中初始化属性值.type ClassDemo = class private fValue: Integer; published property Value: Integer read fValue write fValue default 0; end;/它也可以指出一个类的默认属性property stringsIndex: Integer: string read GetString write PutString; Default;destructor/Destructor用于标识析构函数, 析构函数在类被释放时自动调用./析构函数只允许覆盖, 再不允许重载.析构函数通常用Destroy作为函数名.type ClassDemo = class(TComponent) public destructor Destroy;override; end;/由于TComponent类中也有Destroy方法, 所以要将其重写/但是若要重载析构函数, 则不允许, 下面代码是错误的:destructor Destroy; overload;dispid/DispId关键字被用在DispInterface接口中, 用于指定特定的适配序号./在DispInterface接口中, 适配序号必须是唯一的, /如果不指定DispId, 则系统会自动分配适配序号给接口内每一个方法./可以通过适配序号访问DispInterface接口中的方法.type IStringsDisp = dispinterface EE05DFE2-5549-11D0-9EA9-0020AF3D82DA property ControlDefaultIndex: Integer: Olevariant dispid 0; default; function Count: Integer; dispid 1; property ItemIndex: Integer: Olevariant dispid 2; procedure Remove(Index: Integer); dispid 3; procedure Clear; dispid 4; function Add(Item: Olevariant): Integer; dispid 5; function _NewEnum: IUnknown; dispid -4; end;dispinterface/DispInterface用于声明一个特定的适配器接口, 这个适配器能够接受标准系统接口中传入传出的数据./用DispInterface声明的接口不能被继承, 只能够被引用./DispInterface中方法只能调用, 并且必须被动态绑定./可以通过DispId为接口内方汉分配适配序号./DispInterface仅能用于Windows平台, 如果在Linux下进行开发, 则此关键字会自动被系统屏蔽./通常情况下, 不使用DispInterface./实例请参见DispIddiv/Div用于求两数之整数商.用于Div运算的两个数值必须均为整型, 其运算结果也为整型.var a,b,c:Integer;begin a := 20; b := 3; c := a div b; 6end;do/Do关键字用于For, While, On, With语句, 构成特定的结构/For语句:for i := 1 to 100 do sum:=sum+i;/While语句:while i b then c := aelse c:=b;/Case语句:case Tag Of 1:Result:=1; 2:Result:=2; 3:Result:=3;else Result:=0;end;/On语句(异常处理):try i := StrToInt(s);Excpet on EZeroDivide do Result := 1; on EOverflow do Result := 2;else Result := 0;end;end/End用于结束一个语句块或是一个单元./它可以与begin, Case, Class, Interface, Asm, Unit, Package等相匹配./对于语句块(局部结束), End后必须添加分号./而对于单元或包(全局结束), end后必须添加句号./在If语句中else关键字前的End后不允许添加符号.procedure X;beginwith Button1 dobeginif Button1.ShowHint thenButton1.Caption := HintedelseButton1.Caption := Not Hinted;end;end;/在包内使用End来结束:package DATAX; requires rtl, clx; contains Db, DBLocal, DBXpress;end.except/except关键字用于异常处理, 必须用在try语句内, 如果发生异常, 则执行except后的语句try i := StrToInt(s);except ShowMessage(Error!);end;export/Export标明了函数调用协定, 指出函数可以被输出, 输出的函数能被本地或远程调用./其他程序可以用dll的形式调用程序内的函数.它是向下兼容的.function Add(a,b: Integer): Integer; export;/如果这个程序被编译为Demo.exe, 并且另一个程序需要调用这个函数, 可以使用以下语句function Add(a,b: Integer): Integer; stdcall; external Demo.exe;exports/exports用于输出对象, 它必须被用在接口和实现之间, 可以同时输出多个项, 项与项之间用逗号分开.library Demo;function X(i: Integer): string; stdcall;beginResult:=IntToStr(i);end;exportsX;beginend./如果输出的对象被重载(重载对象必须保证参数类型或个数不同), 则必须给对象起个别名, 并注明参数.library Demo;function X(i: Integer): string; overload; stdcall;beginResult := IntToStr(i);end;function X(s: string): Integer; overload; stdcall;beginResult := StrToInt(s);end;exports X(i: Integer) name x1, X(s: string) name x2;beginend.external/External关键字用于引用一个外部的或是OBJ内的方法.$L Demo.OBJprocedure X(i:Integer);external;/如果是从dll或外部程序中引用, 则可以使用以下代码:function A(FileName: string): string; external Demo.dll;/如果被引用的函数被重载, 则必须另外指出引用的名称.function A(Name: string): string; overload; stdcall; external Demo.dll name A1;function A(Code: Integer): string; overload; stdcall; external Demo.dll name A2;/使用External关键字时, 必须注意大小写, 否则将出现错误.far/Far标明了函数调用协定, 指出函数可以被远程调用./其他程序可以用dll的形式调用程序内的函数.它是向下兼容的.function Add(a,b: Integer): Integer; Far;/如果这个程序被编译为Demo.exe, 并且另一个处于其他计算机的程序需要调用这个函数, 可以使用以下语句:function Add(a,b: Integer): Integer; stdcall; external Demo.exe;file/File关键字指出了文件操作类型, 文件必须被声明为File, /如果在File后追加Of和文件类型, 则文件可以被定义为读写指定类型数据.type TPerson = record PName: string32; PAge: Integer; end;var PFile: file of TPerson;finalization/finalization关键字标识了单元被释放时所要调用的方法, /通常是释放掉单元中不能自动释放的对象, 也可以不用./finalization最常用的情况是对OLE对象做反初始化.initialization ActiveX.OleInitialize(nil);finalization

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论