资源描述:
《《zmud命令指南》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Delphi关键字详解【转】 2010-08-0714:14:29
2、 分类: Delphi
3、字号 订阅absolute//它使得你能够创建一个新变量,并且该变量的起始地址与另一个变量相同.varStr:string[32];StrLen:ByteabsoluteStr;//这个声明指定了变量StrLen起始地址与Str相同.//由于字符串的第0个位置保存了字符串的长度,所以StrLen的值即字符串长度.beginStr:='abc';Edit1.Text:=IntToStr(StrLen);end;ab
4、stract//它允许你创建抽象的方法,包括有抽象方法的类称为抽象类.//Abstract关键字必须与Virtual或Dynamic关键字同时使用,因为抽象方法必须被覆盖式实现.//抽象类不能实例化,抽象方法不能包含方法体.typeTDemo=classprivateprotectedprocedureX;virtual;abstract;publicconstructorCreate;destructorDestroy;override;publishedend;and//一、表示逻辑与if(a>0)an
5、d(b>0)then//二、表示位运算vara,b,c:Integer;beginc:=(aandb);end;//使用And表示逻辑时,And左右的表达式必须用小括号括起,以避免以生条件的冲突.//例如:ifa>0andb>0then//编译器可能会理解为:ifa>(0andb)>0then//或:if(a>0)and(b>0)then//但是实际编译时,编译器会产生一个冲突,报告错误.//并且第一种可能包含了a>b>c的形式,这在Delphi中不被支持.//所以使用And运算符时必须使用括号,以区分左右
6、的条件.//表示位运算时也必须加上括号,将And以及左右参数括起.array//Array用于表示数组,任何的对象都能被声明成数组.数组分为静态和动态的2种.//静态数组varArr1:array[1..10]ofInteger;//动态数组,由于声明时不知其元素个数,所以必须在后期用SetLength方法设置数组的大小varArr2:arrayofInteger;//数组作为参数时,不能传入数组的大小,只能传入数组名,然后用Length方法获取数组的元素个数functionX(A:arrayofInteg
7、er):Integer;vari:Integer;beginResult:=0;fori:=0toLength(A)-1doResult:=Result+A[i];end;as//As用于将一个对象转换为另一个对象procedureBtnClick(Sender:TObject);begin(SenderasTButton).Caption:='Clicked';end;//对于对象填充接口的转换,必须用As进行(HTTPRIOasIExp).GetConnection;//As不能用于数据类型的转换,下面
8、的代码是错误的:vari:Integer;s:string;begins:=(iasstring);end;//正确写法是:s:=string(i);asm//Asm关键字用于插入汇编代码,使用汇编代码时,必须使用asm...end;的结构,而非begin...end;functionIntToHex(Value:Integer;Digits:Integer):string;asmCMPEDX,32JBE@A1xorEDX,EDX@A1:PUSHESIMOVESI,ESPSUBESP,32PUSHECXMO
9、VECX,16CALLCvtIntMOVEDX,ESIPOPEAXCALLSystem.@LStrFromPCharLenADDESP,32POPESIend;assembler//Assembler关键字用于支持早期的汇编,如80386等.//它和Asm的区别:Asm允许使用Win32汇编,而Assembler只允许80x86汇编,它不允许Invoke语句的出现.functionIntToHex(AValue:Int64):string;assembler;automated//Automated访问区分
10、符用于描述一个自动类型的成员,它能够使程序的版本向下兼容.//ComObj单元内的成员及其实例不能使用Automated访问区分符.typeTDemo=classautomatedStr:WideString;end;//在程序的下一个版本中,将Str做了修改,变成typeTDemo=classautomatedStr:AnsiString;end//则新版本的Str变量能够接受旧版本的WideString型数据