innosetup-compiler-note
Version:
Node wrapper to compile inno setup scripts (.iss)
1,565 lines (1,350 loc) • 42.5 kB
HTML
<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>0) and (b>0) then
//������ʾλ����
var
a,b,c: Integer;
begin
c := (a and b);
end;
//ʹ��And��ʾ��ʱ, And���ҵı���ʽ������С��������, �Ա������������ij�ͻ.
//����:
if a>0 and b>0 then
//���������ܻ�����Ϊ:
if a>(0 and b)>0 then
//��:
if (a>0) and (b>0) then
//����ʵ�ʱ���ʱ, �����������һ����ͻ, �������.
//���ҵ�һ�ֿ��ܰ�����a>b>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 > 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 < 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 > 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 > b then
����goto X
��else
����goto Y;
X:
��WriteLn('a > b');
Y:
��WriteLn('b > 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>b then
����WriteLn('a=' + IntToStr(a))
��else
����WriteLn('b=' + IntToStr(b));
end;
//If����ͨ���ṹ��If...Then...else, else���Ҳ���Բ�Ҫ.
//��If���������ж�������, �������begin...End�ṹ��������.
if a > b then
begin
��WriteLn('a>b');
��WriteLn('a=' + IntToStr(a));
��WriteLn('b=' + IntToStr(b));
End
else
��WriteLn('b>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Щ�����, Ҳ������"As"ʹ��.
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 > b then
����goto X
��else
����goto Y;
X:
��WriteLn('a>b');
Y:
��WriteLn('b>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 <> 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 > b then
//�����:
if not(a < 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>0) or (b>0) then
//������ʾλ����
var
a,b,c: Integer;
begin
c := (a or b);
end;
//ʹ��Or��ʾ��ʱ, Or���ҵı���ʽ������С��������, �Ա������������ij�ͻ
//��������������ʹ�� Or, ��༭����֪���û�ʹ��Or��ʲô
����:
if a>0 or b>0 then
//���������ܻ�����Ϊ:
if a>(0 or b)>0 then
//����
if (a>0) or (b>0) then
//����ʵ�ʱ���ʱ, �����������һ����ͻ, �������
//���ҵ�һ�ֿ��ܰ�����a>b>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 < 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 >= 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 > 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 >= 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 < 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&extra=&page=1">http://mydelphi.5d6d.com/viewthread.php?tid=252&extra=&page=1</a>
<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>