Delphi 키워드 상세 설명 (2)
//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;
inherited //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);
// :
Inherited;
initialization //initialization ,
// , .
//initialization OLE .
initialization
ActiveX.OleInitialize(nil);
finalization
ActiveX.OleUninitialize;
inline //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;
interface //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;
is //Is , , "As" .
var
Comp: TComponent;
begin
...
if Comp Is TEdit then
(Comp as TEdit).Text := 'Edit';
end;
label //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;
library //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.
message //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 , .
mod //Mod , . Mod , .
var
a,b,c: Integer;
begin
a := 20; b := 3;
c := a mod b; {2}
end;
name //Name ,
// , Name , .
// , , Name .
function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer;
stdcall; external 'user32.dll' name 'MessageBoxA';
near //Near , .
// dll . .
function Add(a,b: Integer): Integer; near;
// Demo.exe, , :
function Add(a,b: Integer): Integer; stdcall; external 'Demo.exe';
nil //Nil , .
while Node <> nil do
begin
ListBox1.Items.Add(Node.Text);
Node := Node.GetNext;
end;
nodefault //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
not //Not , . :
if a > b then
// :
if not(a < b) then
//Not Boolean
procedure Button1Click(Sender: TObject);
begin
StatusBar1.Visible := not StatusBar1.Visible;
end;
object //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 , .
of //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;
on //On , , .
try
i := StrToInt(s);
except
on E: exception do
ShowMessage(E.Message);
end;
or // 、
if (a>0) or (b>0) then
// 、
var
a,b,c: Integer;
begin
c := (a or b);
end;
// Or , Or ,
// 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 .
out //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;
overload //Overload , ,
// , , .
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 .
// , .
override //Override Virtual Dynamic .
// , .
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 ,
// , Reintroduce .
package //Package .
// BPL , Delphi , .
package DATAX;
requires
rtl,
clx;
contains
MyUnit in 'C:\MyProject\MyUnit.pas';
end.
packed //Packed , .
type
TPerson = packed Record
PName: string[32];
PAge: Integer;
end;
MyArray: packed array of PChar;
pascal //Pascal ,
// Pascal , ,
// . .
function X(i: Integer): Integer; Pascal;
begin
Result := i * 2;
end;
private //Private , Private .
procedure //Procedure
procedure X(i: Integer);
//
type
TProc = procedure(i: Integer) of object;
// , , , .
program //Program . exe ,
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
property //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;
protected //Protected , Protected .
public //Public , Public .
published //Published .
// Published RTTI
// Published .
raise //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;
read //Read .
private
fValue: Integer;
published
property Value: Integer read fValue;
// Value fValue .
readonly //ReadOnly .
property ReadOnly;
// ReadOnly True , , .
record //Record ,
// , .
type
TPerson = record
PName: string[32];
PAge: Integer;
end;
register //Register , . .
function Add(a,b: Integer): Integer; Register; Register
// IDE .
procedure Register;
begin
RegisterComponents('Sample', [TDemo]);
end;
reintroduce //Reintroduce , ,
// , , 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;
repeat //repeat repeat ,
// , .repeat Until .
i := 0;
repeat
sum := sum + i;
Inc(i);
until(i >= 100);
requires //Requires Package . Requires , .
package DATAX;
requires
rtl,
clx;
end.
resourcestring //ResourceString , .
ResourceString
CreateError = 'Cannot create file %s';
OpenError = 'Cannot open file %s';
LineTooLong = 'Line too long';
ProductName = 'Borland Rocks';
SomeResourceString = SomeTrueConstant;
safecall //Safecall , COM .
// , Safecall COM .
procedure X(s: WideString); safecall;
// :
procedure X(s: PAnsiString);
set //Set , , in .
type
TCol = (cA,cB,cC);
TCols = set of TCol;
//
var
Cols: Tcols;
begin
Cols := Cols + [cA,cB];
end;
shl //SHL , 2
var
x: Integer;
begin
X := 2 shl 3; {16}
end;
shr //SHR , 2
var
x: Integer;
begin
X := 16 shr 2; {4}
end;
stdcall //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 , , .
stored //Stored , True, .
property Value: string read fValue write fValue stored True;
string //String , .
var
Str: string;
then //Then If , If , Then .
var
a,b: Integer;
begin
if a > b then
WriteLn('a')
else
WriteLn('b');
end;
threadvar //Threadvar ,
// Threadvar , .
threadvar S: AnsiString;
S := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
S := '';
//S := ''; S .
to //To For , .
for i := 10 to 100 do
ListBox1.Items.Add(IntToStr(i));
// For , To , DownTo .
try //try , , try , .
try
i := StrToInt(s);
except
ShowMessage('Error');
end;
type //Type , Type , .
type
TDemo = class
end;
//type .
type
TCol = (cA,cB,cC);
TInt = Integer;
unit //Unit , Unit...Interface...implementation...end.
Unit Unit1;
Interface
uses Classes;
implementation
end.
// Unit .
until //Until repeat ,
// , .Until repeat .
i := 0;
repeat
sum := sum + i;
Inc(i);
until(i >= 100);
uses //Uses , .
//Uses .
Interface
uses Classes;
Implemention
uses frmAbout;
var //var , var .
var
i: Integer;
s: string;
//var
function X(var i: Integer): Integer;
// i , , .
varargs //varArgs , Cdecl , .
function printf(Format: PChar): Integer; cdecl; varargs;
// C++ Printf , .
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 다 중 스 레 드 메커니즘 의 스 레 드 생 성target 을 실행 대상 으로 지정 한 name 을 이름 으로 하고 group 에서 참조 하 는 스 레 드 그룹의 일원 으로 새 Thread 대상 을 할당 합 니 다. 이 스 레 드 가 독립 된 Runnable 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.