UNPKG

innosetup-compiler-note

Version:
1,565 lines (1,350 loc) 42.5 kB
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Delphi �ؼ������</title> <script type="text/javascript" src="http://www.cnblogs.com/Files/del/del.js"></script> <style> <!-- .k {color: #000080; font-weight: bold } .b {color: #0000FF} .g {color: #008000;} .t {color: #008284} .c1 {color: #008200;} .c2 {color: #008200;} .c3 {color: blue;} .c4 {color: blue;} .c5 {color: #008284;} pre { font-family: 'Courier New', Verdana, Arial; font-size: 14.8px; color: #000000; margin-left: 6; padding: 0px } legend {font-weight: bold; color:#800000; font-family: "Arial"; font-size:16.8px;} fieldset{background-color: #FFFFFF; line-height: 132%; position: font-size:14px; font-family: "Arial";} body { font-size: 14.8;} --> </style> <base target="_blank"> </head> <body> <font size="2" color="#C0C0C0">��ʾ: ���ɽű�����, ���������ɫ.</font> <br> <center style="font-family: Arial Black; font-size: 36px; color:#FF0000; font-weight: bold; border-bottom: 1 solid #FF0000; width: 380px"> Delphi �ؼ������ </center> <br> <fieldset><legend>absolute</legend> <pre class=Delphi> //��ʹ�����ܹ�����һ���±���, ���Ҹñ�������ʼ��ַ����һ��������ͬ. var Str: string[32]; StrLen: Byte absolute Str; //�������ָ���˱���StrLen��ʼ��ַ��Str��ͬ. //�����ַ����ĵ�0��λ�ñ������ַ����ij���, ����StrLen��ֵ���ַ�������. begin Str := 'abc'; Edit1.Text := IntToStr(StrLen); end; </pre></fieldset><br> <fieldset><legend>abstract</legend><pre class=Delphi> //�������㴴������ķ���, �����г��󷽷������Ϊ������. //Abstract�ؼ��ֱ�����Virtual��Dynamic�ؼ���ͬʱʹ��, ��Ϊ���󷽷����뱻����ʽʵ��. //�����಻��ʵ����, ���󷽷����ܰ���������. type TDemo = class private protected procedure X; virtual; abstract; public constructor Create; destructor Destroy; override; published end; </pre></fieldset><br> <fieldset><legend>and</legend><pre class=Delphi> //һ����ʾ�߼��� if (a&gt;0) and (b&gt;0) then //������ʾλ���� var a,b,c: Integer; begin c := (a and b); end; //ʹ��And��ʾ�߼�ʱ, And���ҵı���ʽ������С��������, �Ա������������ij�ͻ. //����: if a&gt;0 and b&gt;0 then //���������ܻ�����Ϊ: if a&gt;(0 and b)&gt;0 then //��: if (a&gt;0) and (b&gt;0) then //����ʵ�ʱ���ʱ, �����������һ����ͻ, �������. //���ҵ�һ�ֿ��ܰ�����a&gt;b&gt;c����ʽ, ����Delphi�в���֧��. //����ʹ��And�����ʱ����ʹ������, ���������ҵ�����. //��ʾλ����ʱҲ�����������, ��And�Լ����Ҳ�������. </pre></fieldset><br> <fieldset><legend>array</legend><pre class=Delphi> //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 + A[i]; end; </pre></fieldset><br> <fieldset><legend>as</legend><pre class=Delphi> //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); </pre></fieldset><br> <fieldset><legend>asm</legend><pre class=Delphi> //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 ESI end; </pre></fieldset><br> <fieldset><legend>assembler</legend><pre class=Delphi> //Assembler�ؼ�������֧�����ڵĻ��, ��80386��. //����Asm������:Asm����ʹ��Win32���, ��Assemblerֻ����80x86���, ��������Invoke���ij���. function IntToHex(AValue: Int64): string; assembler; </pre></fieldset><br> <fieldset><legend>automated</legend><pre class=Delphi> //Automated�������ַ���������һ���Զ����͵ij�Ա, ���ܹ�ʹ����İ汾���¼���. //ComObj��Ԫ�ڵij�Ա����ʵ������ʹ��Automated�������ַ�. type TDemo = class automated Str:WideString; end; //�ڳ������һ���汾��, ��Str�����޸�, ��� type TDemo = class automated Str: AnsiString; end //���°汾��Str�����ܹ����ܾɰ汾��WideString������, ���Զ�ת����AnsiString. //��ʵ�ʿ�����, ���û���������Ҫ, һ�㲻��automated�������ַ�. </pre></fieldset><br> <fieldset><legend>begin</legend><pre class=Delphi> //begin�ؼ������ڱ�ʾһ�γ����һ���ṹ�Ŀ�ʼ, ������end�ؼ���������. procedure X; begin ShowMessage('A Demo'); end; //һ��Ľṹ, ��If, For, While��Ҳ��Ҫ��begin�ؼ���������ṹ��ʼ�� for i:=1 to 100 do begin sum := sum + i; if sum &gt; 1000 then Break; end; </pre></fieldset><br> <fieldset><legend>case</legend><pre class=Delphi> //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; </pre></fieldset><br> <fieldset><legend>cdecl</legend> <pre class=cpp> //Cdecl�Ǻ�������Э����һ��, ���涨�˴�C��C++��д��DLL�е��ú������������صĹ���. //�����Խ�C��C++�е���������ת��ΪDelphi��. //����C++�еĴ���: int X(int i) { return i*2; } </pre> <pre class=Delphi> //���������������Demo.dll��, ��Delphi����ʱ����ʹ��: function X(i: Integer): Integer; Cdecl; external 'Demo.dll'; </pre></fieldset><br> <fieldset><legend>class</legend><pre class=Delphi> //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������Ϊ�����ķ������е���. </pre></fieldset><br> <fieldset><legend>const</legend><pre class=Delphi> //Const�ؼ���������������, ʹ��const���������ݽ������ڳ����б��ı�. //Ҳ��������������������, ��constָ���IJ����������ں����иı�. const MyFileName = 'Delphi'; const MyInteger = 100; //��Const������������Ҫָ������������, ϵͳ���Զ��ж�����, �����Զ�����. //�����п�����const�������ɸ��ĵIJ��� function X(const i: Integer): string; //��ʱ�ں�������������, i��ֵ���ɸı�. </pre></fieldset><br> <fieldset><legend>constructor</legend><pre class=Delphi> //constructor�ؼ�����������һ����Ĺ��캯��, ���౻ʵ����ʱ, ���ȵ��ô˺��� //���캯��һ����Create��ʾ, Create�����ܹ��������д��ڵ�CreateWnd����. type ClassDemo = class(TObject) private fValue: Integer; public constructor Create; end; constructor ClassDemo.Create; begin fValue := 0; end; </pre></fieldset><br> <fieldset><legend>contains</legend><pre class=Delphi> //Contains�ؼ���ָ����ij����(Package)�Ƿ����ij���ļ�. //��Contains������ļ����뱻���ӵ����ļ���, �����Ա���ؼ��ļ������ö�ʧ. package DATAX; requires rtl, clx; contains Db, DBLocal, DBXpress; end. </pre></fieldset><br> <fieldset><legend>default</legend><pre class=Delphi> //Default�ؼ�������ָ��һ�����Ե�Ĭ��ֵ //ֻ���������͵����Բ�����Ĭ��ֵ�Ĵ���, ��������ڹ��캯���г�ʼ������ֵ. type ClassDemo = class private fValue: Integer; published property Value: Integer read fValue write fValue default 0; end; //��Ҳ����ָ��һ�����Ĭ������ property strings[Index: Integer]: string read GetString write PutString; Default; </pre></fieldset><br> <fieldset><legend>destructor</legend><pre class=Delphi> //Destructor���ڱ�ʶ��������, �����������౻�ͷ�ʱ�Զ�����. //��������ֻ��������, �ٲ���������.��������ͨ����Destroy��Ϊ������. type ClassDemo = class(TComponent) public destructor Destroy;override; end; //����TComponent����Ҳ��Destroy����, ����Ҫ������д //������Ҫ������������, ������, ��������Ǵ����: destructor Destroy; overload; </pre></fieldset><br> <fieldset><legend>dispid</legend><pre class=Delphi> //DispId�ؼ��ֱ�����DispInterface�ӿ���, ����ָ���ض����������. //��DispInterface�ӿ���, ������ű�����Ψһ��, //�����ָ��DispId, ��ϵͳ���Զ�����������Ÿ��ӿ���ÿһ������. //����ͨ��������ŷ���DispInterface�ӿ��еķ���. type IStringsDisp = dispinterface ['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}'] property ControlDefault[Index: Integer]: Olevariant dispid 0; default; function Count: Integer; dispid 1; property Item[Index: 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; </pre></fieldset><br> <fieldset><legend>dispinterface</legend><pre class=Delphi> //DispInterface��������һ���ض����������ӿ�, ����������ܹ����ܱ�׼ϵͳ�ӿ��д��봫��������. //��DispInterface�����Ľӿڲ��ܱ��̳�, ֻ�ܹ�������. //DispInterface�з���ֻ�ܵ���, ���ұ��뱻��̬��. //����ͨ��DispIdΪ�ӿ��ڷ��������������. //DispInterface��������Windowsƽ̨, �����Linux�½��п���, ��˹ؼ��ֻ��Զ���ϵͳ����. //ͨ�������, ��ʹ��DispInterface. //ʵ����μ�DispId </pre></fieldset><br> <fieldset><legend>div</legend><pre class=Delphi> //Div����������֮������.����Div�����������ֵ�����Ϊ����, ��������ҲΪ����. var a,b,c:Integer; begin a := 20; b := 3; c := a div b; {6} end; </pre></fieldset><br> <fieldset><legend>do</legend><pre class=Delphi> //Do�ؼ�������For, While, On, With���, �����ض��Ľṹ //For���: for i := 1 to 100 do sum:=sum+i; //While���: while i &lt; 100 do begin ��sum := sum + i; ��Inc(i); end; //On���(�쳣����): try ��i := StrToInt(s); except ��on exception do ShowMessage('Error!'); end; //With���: with Memo1.Lines do begin ��Clear; ��Append('abc'); ��Append('123'); end; </pre></fieldset><br> <fieldset><legend>downto</legend><pre class=Delphi> //DownTo�ؼ�������For���, ָ��ѭ�������ǵݼ���. for i := 100 downto 1 do ListBox1.Items.Add(IntToStr(i)); //��For�����, ѭ������������To�ؼ���, �ݼ���DownTo�ؼ���. </pre></fieldset><br> <fieldset><legend>dynamic</legend><pre class=Delphi> //Dynamic��������һ����̬�ķ���, //��̬�������Ա�����, ���ҿ���ʹ�����С�����ܵļ���(������Virtual). procedure X(i: Integer); dynamic; </pre></fieldset><br> <fieldset><legend>else</legend><pre class=Delphi> //else����������������з���, ��������If, Case��On�������, ������������ʱ, ת��else������ //If���(��If�����, elseǰ�������зֺ�): if a &gt; b then c := a else 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; </pre></fieldset><br> <fieldset><legend>end</legend><pre class=Delphi> //End���ڽ���һ���������һ����Ԫ. //��������begin, Case, Class, Interface, Asm, Unit, Package����ƥ��. //��������(�ֲ�����), End��������ӷֺ�. //�����ڵ�Ԫ���(ȫ�ֽ���), end��������Ӿ��. //��If�����else�ؼ���ǰ��End���������ӷ���. procedure X; begin ��with Button1 do ��begin ����if Button1.ShowHint then ������Button1.Caption := 'Hinted' ����else ������Button1.Caption := 'Not Hinted'; ��end; end; //�ڰ���ʹ��End������: package DATAX; requires rtl, clx; contains Db, DBLocal, DBXpress; end. </pre></fieldset><br> <fieldset><legend>except</legend><pre class=Delphi> //except�ؼ��������쳣����, ��������try�����, ��������쳣, ��ִ��except������ try i := StrToInt(s); except ShowMessage('Error!'); end; </pre></fieldset><br> <fieldset><legend>export</legend><pre class=Delphi> //Export�����˺�������Э��, ָ���������Ա����, ����ĺ����ܱ����ػ�Զ�̵���. //�������������dll����ʽ���ó����ڵĺ���.�������¼��ݵ�. function Add(a,b: Integer): Integer; export; //���������򱻱���ΪDemo.exe, ������һ��������Ҫ�����������, ����ʹ��������� function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe'; </pre></fieldset><br> <fieldset><legend>exports</legend><pre class=Delphi> //exports�����������, �����뱻���ڽӿں�ʵ��֮��, ����ͬʱ��������, ������֮���ö��ŷֿ�. library Demo; function X(i: Integer): string; stdcall; begin ��Result:=IntToStr(i); end; exports ��X; begin end. //�������Ķ�������, �����������������, ��ע������. library Demo; function X(i: Integer): string; overload; stdcall; begin ��Result := IntToStr(i); end; function X(s: string): Integer; overload; stdcall; begin ��Result := StrToInt(s); end; exports X(i: Integer) name 'x1', X(s: string) name 'x2'; begin end. </pre></fieldset><br> <fieldset><legend>external</legend><pre class=Delphi> //External�ؼ�����������һ���ⲿ�Ļ���OBJ�ڵķ���. {$L Demo.OBJ} procedure 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�ؼ���ʱ, ����ע���Сд, ���򽫳��ִ���. </pre></fieldset><br> <fieldset><legend>far</legend><pre class=Delphi> //Far�����˺�������Э��, ָ���������Ա�Զ�̵���. //�������������dll����ʽ���ó����ڵĺ���.�������¼��ݵ�. function Add(a,b: Integer): Integer; Far; //���������򱻱���ΪDemo.exe, ������һ����������������ij�����Ҫ�����������, ����ʹ���������: function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe'; </pre></fieldset><br> <fieldset><legend>file</legend><pre class=Delphi> //File�ؼ���ָ�����ļ���������, �ļ����뱻����ΪFile, //�����File��׷��Of���ļ�����, ���ļ����Ա�����Ϊ��дָ����������. type TPerson = record PName: string[32]; PAge: Integer; end; var PFile: file of TPerson; </pre></fieldset><br> <fieldset><legend>finalization</legend><pre class=Delphi> //finalization�ؼ��ֱ�ʶ�˵�Ԫ���ͷ�ʱ��Ҫ���õķ���, //ͨ�����ͷŵ���Ԫ�в����Զ��ͷŵĶ���, Ҳ���Բ���. //finalization��õ�����Ƕ�OLE����������ʼ��. initialization ActiveX.OleInitialize(nil); finalization ActiveX.OleUninitialize; </pre></fieldset><br> <fieldset><legend>finally</legend><pre class=Delphi> //finally�ؼ���ָ�����쳣������������Ҫ���õķ���, //�����Ƿ����쳣, finally������������try������ʱִ��. try Node := Node.GetNext; Edit1.Text := Node.Text; finally ��Node := nil; end; </pre></fieldset><br> <fieldset><legend>for</legend><pre class=Delphi> //For�ؼ�������Forѭ���ṹ, ������ָ��������ѭ��. for i := 1 to 100 do sum := sum + i; //���ѭ�������ǵݼ���, �������DownTo�ؼ��� for i := 100 downto 1 do Inc(sum); </pre></fieldset><br> <fieldset><legend>forward</legend><pre class=Delphi> //Forward�ؼ������ڷ�����ǰ�ö���.ֻ���巽������, Ȼ���ڳ���ĺ���Է�������ʵ��. //��ô�������ڴ���Ŀɶ���, ���Խ����е���������һ��, Ȼ�����е�ʵ��Ҳ����һ��. function X(i: Integer): Integer; forward; procedure Y(s: string); forward; ... function X; begin Result := i * 2; end; procedure Y; begin WriteLn(s); end; //��Forwardǰ�������ķ�����ʵ��ʱ����Ҫ�����뷽���IJ����ͷ���ֵ, ֱ��ʹ�÷���������. </pre></fieldset><br> <fieldset><legend>function</legend><pre class=Delphi> //Function������������ function X(i: Integer): Integer; //��Ҳ�������ڶ�̬���������� type ��TFun = function(i: Integer): Integer of object; //��̬����ʱ, ����Ҫָ��������, ֻ��Ҫָ�������ͷ������;Ϳ���, ����ĺ����������ں��ڰ�. </pre></fieldset><br> <fieldset><legend>goto</legend><pre class=Delphi> //Goto���������ת�к�, ������ת����ǰ�ṹ��������λ��. //��������������label�ؼ��������к�. //����Goto�����ƻ�����Ľṹ, ���Ƽ�ʹ��. var ��a,b: Integer; label ��X,Y; begin ��if a &gt; b then ����goto X ��else ����goto Y; X: ��WriteLn('a &gt; b'); Y: ��WriteLn('b &gt; a'); end; </pre></fieldset><br> <fieldset><legend>if</legend><pre class=Delphi> //If�ؼ�������If�������, ���ڶ����������ж�. var ��a,b: Integer; begin ��a := 2; b := 3; ��if a&gt;b then ����WriteLn('a=' + IntToStr(a)) ��else ����WriteLn('b=' + IntToStr(b)); end; //If����ͨ���ṹ��If...Then...else, else���Ҳ���Բ�Ҫ. //��If���������ж�������, �������begin...End�ṹ��������. if a &gt; b then begin ��WriteLn('a&gt;b'); ��WriteLn('a=' + IntToStr(a)); ��WriteLn('b=' + IntToStr(b)); End else ��WriteLn('b&gt;a'); </pre></fieldset><br> <fieldset><legend>implementation</legend><pre class=Delphi> //Implementation��ʶ�˵�Ԫ�е�ʵ�ֲ���, ��Ԫ�Ļ����ṹΪ: //Unit...Interface...implementation...end. //������, ������ȱ���д��implementation�ؼ��ֺ�. //�����implementation�����ö���, ������Ƿǹ�����, ���ܹ���Ԫ����ʹ��. implementation uses frmAbout; begin FormAbout.Show; end; //һ�������ĵ�Ԫ����ӵ��implementation����. </pre></fieldset><br> <fieldset><legend>implements</legend><pre class=Delphi> //Implementsָ����һ�����Դӽӿڼ̳�, ��ʱ���Ա�ת���ɽӿڶ���. //ͨ���ӿڶ�̬������, ����̬���趨����ֵ. type ��IMyInterface = interface ����procedure P1; ����procedure P2; ��end; ��TMyImplclass = class ����procedure P1; ����procedure P2; ��end; ��TMyclass = class(TInterfacedObject, IMyInterface) ����FMyImplClass: TMyImplClass; ����property MyImplClass: TMyImplclass read FMyImplclass implements IMyInterface; ����procedure IMyInterface.P1 = MyP1; ����procedure MyP1; ��end; //ͨ��implements������, ������������ʱָ���ӿ��з�����ʵ��, �������е�: procedure IMyInterface.P1 = MyP1; </pre></fieldset><br> <fieldset><legend>in</legend><pre class=Delphi> //In�����ж�һ���������Ƿ����ij��Ԫ��.���жϵ����ݱ����ǵ�������Ԫ�غ�һ�����ϵ�ʵ��. type ��TCol = (cA,cB,cC); ��TCols = set of TCol; var ��Cols: TCols; begin ��Cols := [cA,cB]; ��if cA in Cols then ����ShowMessage('cA in Cols') ��else ����ShowMessage('cA not in Cols'); end; //InҲ���ڹ����ļ���, ���ڱ�ʶij���ļ��Ƿ񱻹���������. Uses ��Unit1 in 'Unit1.pas'; //In���Ա�����For�����, ����ѭ��ȡ��һ�������е�Ԫ��. var ��s: string; ��sl: TStringList; begin ��... ��for s In sl do ��begin ����ShowMessage(s); ��end; end; </pre></fieldset><br> <fieldset><legend>index</legend><pre class=Delphi> //Index�����������б�ʶ���, �Ա�����ͬ�����Է���(Get,Set)�Բ�ͬ�����Խ��в���. type ��TForm1 = class(TForm) ��private ����function GetInfo(const Index: Integer): Longint; ����procedure SetInfo(const Index: Integer; const Value: Longint); ��public ����property iLeft:Longint index 0 read GetInfo write SetInfo; ����property iTop:Longint index 1 read GetInfo write SetInfo; ����property iWidth:Longint index 2 read GetInfo write SetInfo; ����property iHeight:Longint index 3 read GetInfo write SetInfo; ��end; function TForm1.GetInfo(const Index: Integer): Longint; begin ��case Index of ����0: result := self.Left; ����1: Result := self.Top; ����2: result := self.Width; ����3: result := self.Height; ��end; end; //Index�ؼ���Ҳ������������ָ�����Ԫ��, ����: property Selected[Index: Integer]: Boolean read GetSelected write SetSelected; </pre></fieldset><br> <fieldset><legend>inherited</legend><pre class=Delphi> //Inherited���ڵ��ø���ķ���. type ��TDemo = class(TComponent) ��public ����constructor Create(AOwner: TComponent); override; ��end; constructor TDemo.Create(AOwner: TComponent); begin ��inherited Create(AOwner); end; //������õ���������ͬ���ķ���, ��Ҳ����ʡȥ�������Ͳ���.�������е� inherited Create(AOwner); //���Ըij�: Inherited; </pre></fieldset><br> <fieldset><legend>initialization</legend><pre class=Delphi> //initialization�ؼ��ֱ�ʶ�˵�Ԫ������ʱ��Ҫ���õķ���, //ͨ���dz�ʼ��һЩ�����Զ���ʼ���Ķ���, Ҳ���Բ���. //initialization��õ�����Ƕ�OLE��������ʼ��. initialization ActiveX.OleInitialize(nil); finalization ActiveX.OleUninitialize; </pre></fieldset><br> <fieldset><legend>inline</legend><pre class=Delphi> //InLine�ؼ�������Asm��assembler�ṹ��, //����ָ���û����������¼��ݵ�.�����ڳ���ı���û���κ�Ӱ��. function IntToStr(Value: Integer): string; asm ��InLine; PUSH ESI MOV ESI, ESP SUB ESP, 16 xor ECX, ECX PUSH EDX xor EDX, EDX CALL CvtInt MOV EDX, ESI POP EAX CALL System.@LStrFromPCharLen ADD ESP, 16 POP ESI end; </pre></fieldset><br> <fieldset><legend>interface</legend><pre class=Delphi> //Interface��ʶ�˵�Ԫ�еĽӿڲ���, ��Ԫ�Ļ����ṹΪ: //Unit...Interface...implementation...end. //����, ���̵ȵ���������д��Interface�ؼ��ֺ�. //�����Interface�����ö���, �������û��ʵ����, ʹ��ʱ���뱻ʵ����. Interface ��uses frmAbout; var ��FAbout: TFormAbout; begin ��FAbout :�� TFormAbout.Create(Self); ��FAbout.Show; end; //һ�������ĵ�Ԫ����ӵ��Interface����. //InterfaceҲ���������ӿڵ�����. type ��IMalloc = interface(IInterface) ��['{00000002-0000-0000-C000-000000000046}'] ����function Alloc(Size: Integer): Pointer; stdcall; ����function Realloc(P: Pointer; Size: Integer): Pointer; stdcall; ����procedure Free(P: Pointer); stdcall; ����function GetSize(P: Pointer): Integer; stdcall; ����function DidAlloc(P: Pointer): Integer; stdcall; ����procedure HeapMinimize; stdcall; ��end; </pre></fieldset><br> <fieldset><legend>is</legend><pre class=Delphi> //Is�ؼ������ڶ�����ж�, ��ijЩ�����, Ҳ������&quot;As&quot;ʹ��. var ��Comp: TComponent; begin ... ��if Comp Is TEdit then ����(Comp as TEdit).Text := 'Edit'; end; </pre></fieldset><br> <fieldset><legend>label</legend><pre class=Delphi> //label�ؼ������������кű�ǩ, �Ա���Goto����ת��, ���Ƽ�ʹ��. var ��a,b: Integer; label ��X,Y; begin ��if a &gt; b then ����goto X ��else ����goto Y; X: ��WriteLn('a&gt;b'); Y: ��WriteLn('b&gt;a'); end; </pre></fieldset><br> <fieldset><legend>library</legend><pre class=Delphi> //Library�ؼ�������ָ��һ������Ϊ���.�����������DLL�ļ�, �ɱ������������. library Editors; uses EdInit, EdInOut, EdFormat, EdPrint; exports InitEditors, doneEditors name done, InsertText name Insert, DeleteSelection name Delete, FormatSelection, PrintSelection name Print, SetErrorHandler; begin InitLibrary; end. </pre></fieldset><br> <fieldset><legend>message</legend><pre class=Delphi> //Message�ؼ�������������Ϣ����, //����Message�ķ�������ָ�����յ���Ϣ����, ��ͨ�����ý���Ϣ���뷽����, �Ա���д���. procedure Refresh(var Msg: TMessageRecordtype); message ID_REFRESH; procedure Refresh(var Msg: TMessageRecordtype); begin if Chr(Msg.Code) = #13 then ... else inherited; end; //�û������Զ�����Ϣ, �Զ�����ϢҲ�ܹ���Message����, �������¼�. </pre></fieldset><br> <fieldset><legend>mod</legend><pre class=Delphi> //Mod����������֮����ģ, ������.����Mod�����������ֵ�����Ϊ����, ��������ҲΪ����. var ��a,b,c: Integer; begin ��a := 20; b := 3; ��c := a mod b; {2} end; </pre></fieldset><br> <fieldset><legend>name</legend><pre class=Delphi> //Name�ؼ�������ָ�������ı���, //����һ��Ҫ���ⲿ���õķ���, ������Name���뷽������, �Ա����ⲿ����Ķ�������ʵ������. //���ⲿ����һ������ʱ, ����÷����б���, �������Name���б�ʶ. function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer; stdcall; external 'user32.dll' name 'MessageBoxA'; </pre></fieldset><br> <fieldset><legend>near</legend><pre class=Delphi> //Near�����˺�������Э��, ָ���������Ա����ص���. //�������������dll����ʽ���ó����ڵĺ���.�������¼��ݵ�. function Add(a,b: Integer): Integer; near; //���������򱻱���ΪDemo.exe, ������һ�����ڱ��صij�����Ҫ�����������, ����ʹ���������: function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe'; </pre></fieldset><br> <fieldset><legend>nil</legend><pre class=Delphi> //Nil���ڱ�ʾһ����ָ��, ����û��ʵ���Ķ���. while Node &lt;&gt; nil do begin ��ListBox1.Items.Add(Node.Text); ��Node := Node.GetNext; end; </pre></fieldset><br> <fieldset><legend>nodefault</legend><pre class=Delphi> //NoDefault�ؼ���ָ����һ�����Բ�������Ĭ��ֵ, ��ͨ�����ڼ̳���. type ��TClassA = class ��private ����fValue: Integer; ��published ����property Value: Integer read fValue write fValue default 0; ��end; ��TClassB = class(TClassA) ��published ����property Value:Integer read fValue write fValue nodefault; ��end; //��������֪, TClassA�е�Value��Ĭ��ֵ0, //TClassB�̳���TClassA, ����Ҳ�̳�����Ĭ��ֵ, �ڴ���NoDefaultȥ��Ĭ��ֵ </pre></fieldset><br> <fieldset><legend>not</legend><pre class=Delphi> //Not����ȡ��, ������ԭ�ȵĽ��.����: if a &gt; b then //����д��: if not(a &lt; b) then //Not�ؼ���ͨ�������л�Boolean�͵����� procedure Button1Click(Sender: TObject); begin ��StatusBar1.Visible := not StatusBar1.Visible; end; </pre></fieldset><br> <fieldset><legend>object</legend><pre class=Delphi> //Object��������һ������, �����������������, �������¼���.Objectֻ�ܱ�Object���̳�. //��������ķ�����������ķ�������ͬ��. type ��ODemoA = object ��end; ��ODemoB = object(ODemoA) ��end; //Object�ؼ��ֻ�����������̬���������, ����: type ��TMyFun = function(i: Integer): Integer of Object; ��TMyProc = procedure(s: string) of object; //����object�����ĺ�������̿��Ա���̬�İ󶨵�ָ���ĺ�����, ���ǰ󶨵��ؼ����¼���. </pre></fieldset><br> <fieldset><legend>of</legend><pre class=Delphi> //Of�ؼ����ں������ؼ��ֹ���ָ���Ľṹ.Of������Case, Class, Array, File, Set, Object����. //Case���: case Tag Of ��0: Result := 'a'; ��1: Result := 'b'; end; //Class���: type ��TDemo = class of TComponent; //Array�ṹ: var ��MyInt: array of Integer; //File�ṹ: var ��MyFile: file of Byte; //Set���: type ��TCol = (cA,cB,cC); ��TCols = set of TCol; //Object�ṹ: type ��MyFun = function(I: Integer): Integer of Object; </pre></fieldset><br> <fieldset><legend>on</legend><pre class=Delphi> //On�ؼ��������쳣����, ָ���������쳣, ����ȡ�쳣��Ϣ. try ��i := StrToInt(s); except ��on E: exception do ����ShowMessage(E.Message); end; </pre></fieldset><br> <fieldset><legend>or</legend><pre class=Delphi> //һ����ʾ�߼��� if (a&gt;0) or (b&gt;0) then //������ʾλ���� var a,b,c: Integer; begin c := (a or b); end; //ʹ��Or��ʾ�߼�ʱ, Or���ҵı���ʽ������С��������, �Ա������������ij�ͻ //��������������ʹ�� Or, ��༭����֪���û�ʹ��Or��ʲô ����: if a&gt;0 or b&gt;0 then //���������ܻ�����Ϊ: if a&gt;(0 or b)&gt;0 then //���� if (a&gt;0) or (b&gt;0) then //����ʵ�ʱ���ʱ, �����������һ����ͻ, ������� //���ҵ�һ�ֿ��ܰ�����a&gt;b&gt;c����ʽ, ����Delphi�в���֧�� //����ʹ��Or�����ʱ����ʹ������, ���������ҵ�����. //��ʾλ����ʱҲ�����������, ��Or�Լ����Ҳ�������. </pre></fieldset><br> <fieldset><legend>out</legend><pre class=Delphi> //Out�ؼ���˵���˷��������������ʽ, һ��ĺ���ֻ����һ������ֵ, //ʹ��Out������һ�������з��ض�����. //Out��var��ͬ, Out���Է���ֵ����ʽ���в�������, ��var��ֱ������һ�������ĵ�ַ. procedure X(out i: Integer; out s: string); begin ��i := i * 2; ��s := s + 'abc'; end; procedure TForm1.Button1Click(Sender: TObject); var ��i: Integer; ��s: string; begin ��i := 20; ��s := 'xxx'; ��X(i,s); end; </pre></fieldset><br> <fieldset><legend>overload</legend><pre class=Delphi> //Overload�ؼ���ָ�����������صķ���, ���ؼ���������ͬ, //���Dz�������, ���ͻ�˳��ͬ, ����������Ĺ�������. function X(i: Integer): string; overload; function X(s: string): string; overload; //�Ӹ���̳�ʱ, �������ӵ�к͸�����ͬ�ķ���, ��Ҳ������overload��������, //���Ǵ�������Ҳ�����������ص�Ҫ��. type ��TDemo = class(TComponent) ��public ����procedure CreateWnd(AOwner: TWinControl); overload; ��end; //������, ����ӵ�еķ���Ϊ: procedure CreateWnd; {�̳��Ը���} procedure CreateWnd(AOwner: TWinControl); {��������} //������CreateWnd����. //�����ʹ������, ���������п��Ը��Ǹ���ķ���. </pre></fieldset><br> <fieldset><legend>override</legend><pre class=Delphi> //Override���ڸ���һ��Virtual����Dynamic��ʽ�ķ���. //����ʱ�������ñ����Ƿ���������, ���Ҳ������޸�ԭ�����IJ����ͷ�������. procedure Create(AOwner: TComponent); override; //Override�����ڼ̳�, �����า�ǵ�����ķ���. type ��TClassA = class ����procedure X; virtual; ��end; ��TClassB = class(TClassA) ����procedure X; override; ��end; //������, ����ӵ�еķ���Ϊ: procedure X; {�Ӹ��า��} //����ӵ�еķ���Ϊ: procedure X; {������������, δ������} //�������ķ���δ��Virtual��Dynamic����, //�������޸IJ�������Ҫ, �������Reintroduce�ؼ��ֽ��и���. </pre></fieldset><br> <fieldset><legend>package</legend><pre class=Delphi> //Package�ؼ�������ָ��һ������Ϊ�ؼ���. //�ؼ�����������BPL�ļ�, �ɱ���װ��Delphi�Ŀؼ�����, �Ӷ����Ժ�Ŀ�����ʹ�ÿؼ�. package DATAX; requires rtl, clx; contains MyUnit in 'C:\MyProject\MyUnit.pas'; end. </pre></fieldset><br> <fieldset><legend>packed</legend><pre class=Delphi> //Packed�ؼ������ڶԽṹ���¼��������д��, ����󱻴������������������С. type ��TPerson = packed Record ����PName: string[32]; ����PAge: Integer; ��end; ��MyArray: packed array of PChar; </pre></fieldset><br> <fieldset><legend>pascal</legend><pre class=Delphi> //Pascal�����˺�������Э��, //ָ�������ڵ���ʱ��ѭPascalԭ��, ���ȶ����еı������г�ʼ��, //�������첽�̵߳��ö������Ĵ���.�������¼��ݵ�. function X(i: Integer): Integer; Pascal; begin ��Result := i * 2; end; </pre></fieldset><br> <fieldset><legend>private</legend><pre class=Delphi> //Private����������Ԫ�صķ�������Ȩ��, ��Private���ֵ�Ԫ��ֻ�ܱ������ڲ�����. </pre></fieldset><br> <fieldset><legend>procedure</legend><pre class=Delphi> //Procedure������������ procedure X(i: Integer); //��Ҳ�������ڶ�̬���������� type ��TProc = procedure(i: Integer) of object; //��̬����ʱ, ����Ҫָ��������, ֻ��Ҫָ�������Ϳ���, ����Ĺ����������ں��ڰ�. </pre></fieldset><br> <fieldset><legend>program</legend><pre class=Delphi> //Program�ؼ�������ָ��һ������ΪӦ�ó���.�ؼ�����������exe�ļ�, ����ֱ��ִ�� program Project1; uses Forms, Unit1 in 'Unit1.pas' ; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. </pre></fieldset><br> <fieldset><legend>property</legend><pre class=Delphi> //Property�ؼ���������������, ���Է�Ϊ��ʽ���Ժ���ʽ��������, //ֻ��������published�������ַ��µ����Բ�����ʽ����, ����ֱ���ڶ���鿴���в鿴. type ��TDemo = class ��Private ����fValue: Integr; ��Published ����property Value: Integer read fValue write fValue; ��end; //�¼�Ҳ�����Ե�һ��, ������published���ַ�����Property�������� type ��TOnTextChange=procedure (Sender: TObject) of object; ��TDemo = class ��private ����fEvent: TOnTexChange; ��published ����property OntextChange: TOnTextChange read fEvent write fEvent; ��end; </pre></fieldset><br> <fieldset><legend>protected</legend><pre class=Delphi> //Protected����������Ԫ�صķ�������Ȩ��, ��Protected���ֵ�Ԫ��ֻ�ܱ������ڲ������������. </pre></fieldset><br> <fieldset><legend>public</legend><pre class=Delphi> //Public����������Ԫ�صķ�������Ȩ��, ��Public���ֵ�Ԫ���ܹ������ں������κζ������. </pre></fieldset><br> <fieldset><legend>published</legend><pre class=Delphi> //Published����������Ԫ�صķ�������Ȩ��. //��Published���ֵ�Ԫ���ܹ������ں������κ�RTTI������� //ֻ��������Published���ַ��µ����Բ��ܹ���Ϊ��ʽ���Բ��ڶ���鿴������ʾ. </pre></fieldset><br> <fieldset><legend>raise</legend><pre class=Delphi> //Raise��������׳��쳣, //���ϣ��ͨ���ⲿ�������쳣, �������쳣����ʱ���½��쳣�׳�, ����ʹ��Raise���. function GetString(i: Integer): string; begin ��if i &lt; 0 then ����raise exception.Create('Integer Cannot smaller than 0'); ��Result := IntToStr(i); end; //���쳣������, ���������׳��쳣 try ��i := StrToInt(s); except ��on E: exception do ����raise exception.Create(E.Message); end; </pre></fieldset><br> <fieldset><legend>read</legend><pre class=Delphi> //Read���ڱ�ʶ�����ж�ȡ��ʹ�õij�Ա�򷽷�. private ��fValue: Integer; published ��property Value: Integer read fValue; //�����м�����Value���Ե�ֵ��fValue��Ա�϶�ȡ. </pre></fieldset><br> <fieldset><legend>readonly</legend><pre class=Delphi> //ReadOnly�ؼ������ڱ�ʶһ�������Ƿ�ֻ��. property ReadOnly; //��ReadOnly��ΪTrueʱ, �������û��ֶ��޸�����, ֻ��ͨ����������������. </pre></fieldset><br> <fieldset><legend>record</legend><pre class=Delphi> //Record�ؼ�����������һ���ṹ���¼, //һ���ṹ�������Ϊһ������Ҫʵ�����Ķ���, ӵ���Լ��ij�Ա. type ��TPerson = record ����PName: string[32]; ����PAge: Integer; ��end; </pre></fieldset><br> <fieldset><legend>register</legend><pre class=Delphi> //Register�����˺�������Э��, ָ�������ڱ�����ʱ������ע��������¼�¼.�������¼��ݵ�. function Add(a,b: Integer): Integer; Register; Register //�ؼ��ֻ�������ؼ������IDEע��ؼ�����ר�ҹ���. procedure Register; begin ��RegisterComponents('Sample', [TDemo]); end; </pre></fieldset><br> <fieldset><legend>reintroduce</legend><pre class=Delphi> //Reintroduce�������·�������, ͨ�����ڼ̳�ʱ, //���Ҫ���ǵķ����Ǿ�̬����, ������Ҫ�޸ķ����IJ�����, ������Reintroduce�����ط���. //����Virtual��Dynamic����, ����ֱ����Override���и���. type ��TClassA = class ����procedure X; ��end; ��TClassB = class(TClassA) ����procedure X; reintroduce; ��end; ��TClassC = class(TClassB) ����procedure X(i: Integer); reintroduce; ��end; </pre></fieldset><br> <fieldset><legend>repeat</legend><pre class=Delphi> //repeat�ؼ�����������repeatѭ���ṹ, //��ѭ��������ִ��һ��ѭ����, Ȼ���ٶ�ѭ�����������ж�.repeat������Until�ؼ�������ʹ��. i := 0; repeat ��sum := sum + i; ��Inc(i); until(i &gt;= 100); </pre></fieldset><br> <fieldset><legend>requires</legend><pre class=Delphi> //Requires�ؼ���ָ���˱���Packageʱ�ıر�����.��Requires������δ����, �����������. package DATAX; requires rtl, clx; end. </pre></fieldset><br> <fieldset><legend>resourcestring</legend><pre class=Delphi> //ResourceString����������Դ�ַ���, ��Դ�ַ��������ڱ������Ľṹ��ʹ��. ResourceString ��CreateError = 'Cannot create file %s'; ��OpenError = 'Cannot open file %s'; ��LineTooLong = 'Line too long'; ��ProductName = 'Borland Rocks'; ��SomeResourceString = SomeTrueConstant; </pre></fieldset><br> <fieldset><legend>safecall</legend><pre class=Delphi> //Safecall�Ǻ�������Э����һ��, ���涨�˱�COM���õĺ������������غ͹���. //�ڱ���ʱ, Safecall�����ĺ����������COM�ӿڼ��ݵ�. procedure X(s: WideString); safecall; //�ڱ�����Ϊ: procedure X(s: PAnsiString); </pre></fieldset><br> <fieldset><legend>set</legend><pre class=Delphi> //Set�ؼ�����������������, �����������ü��������, ��in�Ƚ��в���. type ��TCol = (cA,cB,cC); ��TCols = set of TCol; //����ʱ����ʹ�üӼ����������ӻ�ɾ��ij������Ԫ�� var ��Cols: Tcols; begin ��Cols := Cols + [cA,cB]; end; </pre></fieldset><br> <fieldset><legend>shl</legend><pre class=Delphi> //SHL��ʾ������λ, ���Ƶ�λ��������2������ var ��x: Integer; begin ��X := 2 shl 3; {16} end; </pre></fieldset><br> <fieldset><legend>shr</legend><pre class=Delphi> //SHL��ʾ������λ, ���Ƶ�λ��������2������ var ��x: Integer; begin ��X := 16 shr 2; {4} end; </pre></fieldset><br> <fieldset><legend>stdcall</legend><pre class=Delphi> //Stdcall�Ǻ�������Э����һ��, ���涨�����ó�����õĺ�����Ӧ���صĹ���. //Stdcall�ؼ��ֱ������������ͱ�����֮���γ����. ����, ����������: Library Demo; function X(i: Integer): Integer; stdcall; begin ��Result := i * 2; end; exports ��X; begin end. //����������: function X(i: Integer): Integer; stdcall; external 'Demo.dll'; //ͬʱ��Ҫע��, ʹ��Stdcall�ؼ���ʱ, ���������Ǵ�Сд���е�, �˴������׳���. </pre></fieldset><br> <fieldset><legend>stored</legend><pre class=Delphi> //Stored����ָ��һ�����Ե�ֵ�Ƿ��ܱ�����, ��ָ����True, ������������ֵ���и�ֵ�����IJ���. property Value: string read fValue write fValue stored True; </pre></fieldset><br> <fieldset><legend>string</legend><pre class=Delphi> //String��һ����������, ���������ַ���. var ��Str: string; </pre></fieldset><br> <fieldset><legend>then</legend><pre class=Delphi> //Then�ؼ�������If�����, ��If��������ʱ, ִ��Then������. var ��a,b: Integer; begin ��if a &gt; b then ����WriteLn('a') ��else ����WriteLn('b'); end; </pre></fieldset><br> <fieldset><legend>threadvar</legend><pre class=Delphi> //Threadvar��ʶ��һ�����߳������������ı���, //�����Threadvar��������, ���ڳ������ǰ�����ֶ��ͷ���ռ�õĿռ�. threadvar S: AnsiString; S := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; S := ''; //S := ''; ���ͷű���S��ռ�õ��ڴ�. </pre></fieldset><br> <fieldset><legend>to</legend><pre class=Delphi> //To�ؼ�������For���, ָ��ѭ�������ǵ�����. for i := 10 to 100 do ��ListBox1.Items.Add(IntToStr(i)); //��For�����, ѭ������������To�ؼ���, �ݼ���DownTo�ؼ���. </pre></fieldset><br> <fieldset><legend>try</legend><pre class=Delphi> //try��������쳣����, �����п��ܷ����쳣�����, ���Է���try�ṹ��, �Ա��������쳣����. try ��i := StrToInt(s); except ��ShowMessage('Error'); end; </pre></fieldset><br> <fieldset><legend>type</legend><pre class=Delphi> //Type�ؼ��������������ֶ���, ��Type�ؼ��������Ķ���, �ڴ���ʱ�����ô���. type ��TDemo = class ��end; //typeҲ��������ö�����ͻ��ǰ����ô��ݵı���. type ��TCol = (cA,cB,cC); ��TInt = Integer; </pre></fieldset><br> <fieldset><legend>unit</legend><pre class=Delphi> //Unit��ʶ�˵�Ԫ�Ŀ�ͷ, ��Ԫ�Ļ����ṹΪ Unit...Interface...implementation...end. Unit Unit1; Interface ��uses Classes; implementation end. //һ�������ĵ�Ԫ����ӵ��Unit��Ϊ��ͷ. </pre></fieldset><br> <fieldset><legend>until</legend><pre class=Delphi> //Until�ؼ��������ж�repeatѭ���ṹ��ѭ������, //���ѭ������Ϊ��, ���˳�ѭ��.Until������repeat�ؼ�������ʹ��. i := 0; repeat ��sum := sum + i; ��Inc(i); until(i &gt;= 100); </pre></fieldset><br> <fieldset><legend>uses</legend><pre class=Delphi> //Uses��������һ���ⲿ�ĵ�Ԫ, �����ܹ�ʹ�øõ�Ԫ�еĹ�������. //Uses���ͨ������һ����Ԫ�Ľӿڻ���ʵ�ֲ���. Interface ��uses Classes; Implemention ��uses frmAbout; </pre></fieldset><br> <fieldset><legend>var</legend><pre class=Delphi> //var�ؼ�����������һ���������Ƕ���, ��var�����ı�����ֵ����. var ��i: Integer; ��s: string; //varҲ�������ڱ�ʶ�����ô��ݵķ������� function X(var i: Integer): Integer; //���������еIJ���i�������ô���, ����ֵ�����ں���ִ��ʱ���ı�, ��������������. </pre></fieldset><br> <fieldset><legend>varargs</legend><pre class=Delphi> //varArgs��ʶ�����ò���, �������Cdecl�ؼ�������, �����������õĺ���ʹ�����ô���. function printf(Format: PChar): Integer; cdecl; varargs; //���������C++�������������Printf����, �����������õķ�ʽ�������. </pre></fieldset><br> <fieldset><legend>virtual</legend><pre class=Delphi> //Virtual��������һ���鷽��, //�鷽�����Ա�����, ���ҿ���ʹ���������ٶȾ����ܵĿ�(������Dynamic). procedure X(i: Integer); virtual; </pre></fieldset><br> <fieldset><legend>while</legend><pre class=Delphi> //While�ؼ�����������Whileѭ�����, ѭ��ǰ�Ƚ���ѭ���������ж�, �������Ϊ����ִ��ѭ��. i := 0; while i &lt; 100 do begin ��sum := sum + i; ��Inc(i); end; </pre></fieldset><br> <fieldset><legend>with</legend><pre class=Delphi> //With�ؼ������ڽ���ͬ�Ķ��󼯺���������, ������ʡȥ��������ظ��Ĵ���, ʹ���뿴��ȥ�ȽϾ���. with Form1.Memo1.Lines do begin ��Clear; ��Append('abc'); ��Append('def'); ��SaveToFile('C:\demo.txt'); end; //������δ��������ʹ��With���, ���Ե÷dz����ิ�����ݵ����������: Form1.Memo1.Lines.Clear; Form1.Memo1.Lines.Append('abc'); Form1.Memo1.Lines.Append('def'); Form1.Memo1.Lines.SaveToFile('C:\demo.txt'); </pre></fieldset><br> <fieldset><legend>write</legend><pre class=Delphi> //Write���ڱ�ʶ������д����ʹ�õij�Ա�򷽷�. private ��fValue: Integer; published ��property Value: Integer write fValue; //�����м�����Value���Ե�ֵд�뵽fValue��Ա��. </pre></fieldset><br> <fieldset><legend>writeonly</legend><pre class=Delphi> //writeonly�ؼ������ڱ�ʶһ�������Ƿ�ֻд. property writeonly; //��writeonly��ΪTrueʱ, �������û���ȡ����, ֻ��ͨ����������������. </pre></fieldset><br> <fieldset><legend>xor</legend><pre class=Delphi> //Xor����ȡ���, ���������������ʱ, ����False, ����ʱ����True. var ��a,b: Integer; begin ��a := 2; b := 3; ��if a xor b then ����WriteLn('a xor b') ��else ����WriteLn('a not xor b'); end; //XorҲ���ڼ������ֵ WriteLn(IntToStr(3 xor 5)); {6} </pre></fieldset><br> <hr color="#FF0000" noshade size="1"><br> ԭ����Դ: <a href="http://mydelphi.5d6d.com/viewthread.php?tid=252&amp;extra=&amp;page=1">http://mydelphi.5d6d.com/viewthread.php?tid=252&extra=&page=1</a> &nbsp;<br> <br> ������������: <a href="http://www.cnblogs.com/del/archive/2008/06/23/1228562.html">http://www.cnblogs.com/del/archive/2008/06/23/1228562.html</a> <p>���ص�ַ: <a href="http://www.cnblogs.com/Files/del/DelphiKey.rar">http://www.cnblogs.com/Files/del/DelphiKey.rar</a></p> <hr color="#FF0000" noshade size="1"><br> </body> </html>