В этой статье подробно представлены названия и использование различных ключевых слов, обычно используемых в Delphi, для справки в процессе программирования. Подробности следующие:
абсолютный:
//Это позволяет вам создать новую переменную, и ее начальный адрес такой же, как у другой переменной.var Str: String[32]: Byte AbsoluteStr;//Это объявление указывает начальный адрес переменной StrLen; и Str Same.//Поскольку 0-я позиция строки хранит длину строки, значение StrLen равно длине строки.beginStr := 'abc';Edit1.Text := IntToStr(StrLen);end;
абстрактный:
//Это позволяет создавать абстрактные методы, включая классы с абстрактными методами, называемыми абстрактными классами. //Ключевое слово «Абстрактное» необходимо использовать вместе с ключевыми словами «Виртуальные» или «Динамические», поскольку абстрактные методы должны быть переопределены. //Абстрактные классы не могут создавать экземпляры, абстрактные методы не могут. содержать тела метода TDemo = класс частной защищенной процедуры виртуальный; открытый конструктор Создать; переопределить;
и:
//1. Выразить логическое И, если (a>0) и (b>0), то //2. Выразить битовую операцию vara,b,c: Integer;beginc := (a и b);end;//Использовать And. При выражении логики выражения вокруг And должны быть заключены в круглые скобки, чтобы избежать конфликта условий.//Например: if a>0 и b>0 then//Компилятор может понимать это как: if a>( 0 и b) >0 тогда//или:если (a>0) и (b>0) then//Но при фактической компиляции компилятор сгенерирует конфликт и сообщит об ошибке.//И первый может включать форму a>b>c, которая находится в Delphi не поддерживается. //Поэтому при использовании оператора And необходимо использовать круглые скобки, чтобы различать левые и правые условия. //При выражении битовых операций также необходимо добавлять круглые скобки, чтобы заключить And, а также левый и правый параметры.
множество:
//Массив используется для представления массивов, и любой объект может быть объявлен как массив. Массивы делятся на два типа: статические и динамические //Статический массив varArr1: array [1..10] of Integer;//Динамический массив. , т.к. количество элементов на момент объявления неизвестно, поэтому размер массива необходимо задать позже с помощью метода SetLength varArr2: array of Integer;//Когда массив используется как параметр, размер. массив не может быть передан. Вы можете передать только имя массива, а затем использовать метод Длина, чтобы получить количество элементов в массиве. function X(A: array of Integer): Integer;vari: Integer;beginResult := 0;for i := 0 to Длина(A)-1 doResult := Result + A[i];end;
как:
//As используется для преобразования одного объекта в другой объект, процедура BtnClick(Sender:TObject);begin (Sender as TButton).Caption := 'Clicked';end;//Для преобразования интерфейса заполнения объекта As должно быть используется (HTTPRIO как IExp).GetConnection;//Поскольку его нельзя использовать для преобразования типов данных, следующий код неверен: vari: Integer;s: string;begins := (i as string);end;//Правильный способ записи: s := string(i);
асм:
//Ключевое слово 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 используется для поддержки ранней сборки, например 80386 и т. д. //Разница между ним и Asm: Asm допускает сборку Win32, тогда как Assembler допускает только сборку 80x86 и не допускает функцию Invoke IntToHex. (AValue: Int64): строка;
автоматизировано:
//Спецификатор автоматического доступа используется для описания автоматически типизированного элемента, который может обеспечить обратную совместимость версии программы //Члены и их экземпляры в модуле ComObj не могут использовать спецификатор автоматического доступа.type TDemo = classautomatic Str:WideString end; //В следующей версии программы Str изменяется и становится typeTDemo = classautomatedStr: AnsiString;end//Новая версия переменной Str может принимать старую версию данных типа WideString, И автоматически преобразуется в AnsiString.//В реальной разработке, если нет особой необходимости, автоматический разделитель доступа обычно не используется.
начинать:
//Ключевое слово Begin используется для обозначения начала программы или структуры и должно заканчиваться процедурой ключевого слова end. Ключевое слово Begin также необходимо использовать, чтобы отметить начальную точку структуры для i:=1. 100 dobeginsum := sum + i; если сумма > 1000, то Break;end;
случай:
//Инструкция Case используется для завершения условного выбора. Выбранный объект инструкции Case должен быть упорядоченного типа, включая целочисленный тип, тип перечисления, символьный тип и т. д. //Инструкция Case должна завершаться концом, если совпадений нет. элемент выбора, иначе можно добавить функцию GetDays(AYear,AMonth: Integer): Integer;begin case AMonth of 1,3,5,7,8,10,12: Результат := 31; 4,6,9,11: Результат: = 30; 2: начало, если IsLeapYear(AYear), то Результат:=29, иначе Результат:=28;
cдекл:
//Cdecl — это тип соглашения о вызове функций, в котором оговариваются правила, которые необходимо соблюдать при вызове функций из DLL, написанной на C или C++. //Он может преобразовывать типы данных C или C++ в Delphi.//Например, код. в C++: int X(int i){ return i*2;}//Эта функция скомпилирована в Demo.dll. При вызове с помощью Delphi вы должны использовать: function. "Demo.dll";
сорт:
//Ключевое слово Class используется для объявления или наследования класса, либо класс и интерфейс могут быть унаследованы одновременно //Кроме того, ключевое слово Class также можно использовать для объявления общих методов класса, чтобы родительский класс может получить доступ к методам подкласса изнутри класса. , например: typeClassA = classprivatepublicprocedure Y;end;typeClassB = class(ClassA)privatepublicclass метод процедуры для вызова.
константа:
//Ключевое слово Const используется для объявления констант. Данные, объявленные с помощью const, не могут быть изменены в программе. //Его также можно использовать для объявления параметров функции. Параметры, указанные с помощью const, не могут быть изменены в функции. = 'Delphi ';const MyInteger = 100;//При объявлении константы с помощью Const вам не нужно указывать ее тип данных. Система автоматически определит тип и произведет автоматические корректировки.//Вы можете использовать const для объявления неизменяемого. параметры в функции function X(const i: Integer): string;//В настоящее время значение i не может быть изменено во время работы функции.
конструктор:
//Ключевое слово конструктора используется для объявления конструктора класса. При создании экземпляра класса сначала вызывается эта функция. //Конструктор обычно представлен Create.Метод Create может быть связан с методом CreateWnd, который существует в. class.type ClassDemo = class( TObject) Private fValue: Integer; открытый конструктор Create; конструктор ClassDemo.Create;beginfValue:= 0;end;
содержит:
//Ключевое слово «Содержит» указывает, содержит ли пакет (Пакет) определенный файл //Файлы, введенные с помощью «Содержит», должны быть добавлены в файл пакета, что позволяет избежать потери ссылок на ключевые файлы. Пакет DATAX требует rtl, clx ; содержит Db, DBLocal, DBXpress;end.
по умолчанию:
//Ключевое слово по умолчанию используется для указания значения свойства по умолчанию //Только свойства упорядоченного типа допускают существование значений по умолчанию, в противном случае значение свойства должно быть инициализировано в конструкторе. type ClassDemo = class Private fValue: Integer опубликованное свойство Value; : Integer read fValue write fValue default 0; end;//Он также может указывать на свойство по умолчанию для свойства класса strings[Index: Integer]: string read GetString write PutString;
деструктор:
//Деструктор используется для идентификации деструктора, который автоматически вызывается при освобождении класса. //Деструктор разрешен только для перезаписи, перегрузка не допускается. Деструктор обычно использует Destroy в качестве имени функции ClassDemo =. class( TComponent) public destructor Destroy;override; end;//Поскольку класс TComponent также имеет метод Destroy, его необходимо переписать//Но если вы хотите перегрузить деструктор, это недопустимо. : деструктор Уничтожить; перегрузить;
диспид:
//Ключевое слово DispId используется в интерфейсе DispInterface для указания конкретного серийного номера адаптации //В интерфейсе DispInterface серийный номер адаптации должен быть уникальным //Если DispId не указан, система автоматически назначит адаптацию. Каждому методу в интерфейсе присваивается серийный номер //Вы можете получить доступ к методам интерфейса DispInterface через серийный номер адаптации IStringsDisp = dispinterface. ['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}'] свойство ControlDefault[Index: Integer]: олевариант dispid 0; функция Count: Integer; dispid 1; свойство Item[Index: Integer]: олевариант dispid 2; Удалить (Индекс: Целое число 3; процедура Очистить; 4; функция Add(Item: Olevariant): Integer; функция _NewEnum: IUnknown -4;
интерфейс интерфейса:
//DispInterface используется для объявления определенного интерфейса адаптера. Этот адаптер может принимать входящие и исходящие данные в стандартном системном интерфейсе. //Интерфейс, объявленный с помощью DispInterface, не может быть унаследован, //на него можно только ссылаться. Вызывается и должен быть динамически привязан //Вы можете использовать DispId для присвоения интерфейсу серийного номера адаптации //DispInterface можно использовать только на платформе Windows. Тогда это ключевое слово будет автоматически заблокировано системой //Обычно DispInterface не используется //Примеры см. в DispId.
div:
//Div используется для нахождения целого частного двух чисел. Оба значения, используемые в операции Div, должны быть целыми числами, и результаты операции также являются целыми числами. var a, b, c: Integer start a; := 20; = 3; c := div {6}end;
делать:
//Ключевое слово Do используется в операторах For, While, On, With для формирования определенной структуры //Инструкция For: for i := от 1 до 100 do sum:=sum+i;//Инструкция While: while i < 100 dobegin sum := sum + i; Inc(i);end;//В операторе (обработка исключений): try i := StrToInt(s);кроме исключения do ShowMessage('Error!');end;//With заявление: с Memo1.Lines dobegin Append('abc'); Append('123');end;
вплоть до:
//Ключевое слово DownTo используется в операторе For, чтобы указать, что переменная цикла уменьшается for i := 100 до 1 doListBox1.Items.Add(IntToStr(i));//В операторе For используется ключевое слово To. чтобы увеличить переменную цикла, используйте ключевое слово DownTo для уменьшения.
динамический:
//Dynamic используется для объявления динамического метода. //Динамические методы можно переопределить и максимально уменьшить размер кода (в отличие от Virtual).procedure X(i: Integer);
еще:
//else используется для указания направления работы программы. Его можно использовать вместе с операторами If, Case и On. Если условие не выполнено, перейдите к оператору else для запуска оператора //If (в операторе If). , никакие точки не допускаются перед else No.):if a > b then := aelsec:=b; // Оператор Case: Case Tag. Of1:Result:=1;2:Result:=2;3:Result:=3;elseResult:=0;end;//В операторе (обработка исключений): tryi := StrToInt(s);Excpeton EZeroDivide do Result: = 1;в EOverflow do Result:= 2;elseResult:= 0;end;
конец:
//Конец используется для завершения блока операторов или модуля. //Он может соответствовать началу, регистру, классу, интерфейсу, Asm, Unit, Package и т. д. //Для блоков операторов (локальный конец) после него необходимо добавить End. Точка с запятой.//Для модулей или пакетов (глобальное завершение) после end необходимо добавить точку.//Не допускается использование символов после End перед ключевым словом else в операторе If. затем Button1.Caption := 'Hinted' else Button1.Caption := 'Not Hinted'; end;end;//Используйте End в пакете для завершения: package DATAX;requiresrtl,clx;contains Db, DBLocal, DBXpress;end.
кроме:
//Ключевое слово «исключение» используется для обработки исключений и должно использоваться в операторе try. Если возникает исключение, выполняется оператор, следующий за исключением. try i := StrToInt(s);кроме ShowMessage('Error!');end;
экспорт:
//Экспорт указывает протокол вызова функции, указывая, что функция может быть экспортирована, а экспортированная функция может вызываться локально или удаленно. //Другие программы могут вызывать функции в программе в форме dll. Функция обратно совместима. Add( a,b: Integer): Integer; Export;//Если эта программа скомпилирована как Demo.exe, и другая программа должна вызвать эту функцию, вы можете использовать следующую функцию оператора Add(a,b: Integer): Целочисленный внешний вызов; «Демо.exe»;
экспорт:
//exports используется для вывода объектов. Он должен использоваться между интерфейсом и реализацией. Одновременно можно выводить несколько элементов, разделенных запятыми. :=IntToStr(i);конец;экспорт X(i: Integer): строка; stdcall;begin Result:= IntToStr(i);end;function X(s: string): Integer;begin Result:= StrToInt(s);end;exportsX (i: Integer) имя 'x1',X(s: string) имя 'x2';beginend.
внешний:
//Ключевое слово external используется для ссылки на внешний объект или метод внутри OBJ.{$L Demo.OBJ}procedure X(i:Integer);external;//Если на него ссылается dll или внешняя программа, его можно использовать Следующий код: function A(FileName: string): string; external 'Demo.dll';//Если указанная функция перегружена, необходимо дополнительно указать указанное имя function A(Name: string): string; stdcall; внешнее имя «Demo.dll» «A1»; функция A (Код: целое число): строка; stdcall; внешнее имя «Demo.dll» «A2»; //При использовании ключевого слова «Внешний» необходимо обратить внимание. к делу, иначе произойдет ошибка.
далеко:
//Far указывает протокол вызова функции, указывая, что функцию можно вызывать удаленно //Другие программы могут вызывать функции в программе в виде dll. Функция Add(a,b: Integer): Integer; Far ;//Если эта программа скомпилирована в Demo.exe, и другая программа на другом компьютере должна вызвать эту функцию, вы можете использовать следующий оператор: function Add(a,b: Integer): Integer external; «Демо.exe»;
файл:
//Ключевое слово File указывает тип операции с файлом. Файл должен быть объявлен как File. //Если после File добавляется Of и тип файла, файл можно определить для чтения и записи указанного типа данных.type TPerson = запись. PName: строка [32]; Page: Integer end;var PFile: файл TPerson;
завершение:
//Ключевое слово финализации определяет метод, который будет вызываться при освобождении модуля. //Обычно оно освобождает объекты в модуле, которые не могут быть освобождены автоматически. //Наиболее часто используемый случай финализации — де. -инициализация объектов OLE. инициализация ActiveX.OleInitialize(nil); финализация ActiveX.OleUninitialize;
окончательно:
//Ключевое слово «finally» указывает последний метод, который должен быть вызван при обработке исключения. //Независимо от того, возникло ли исключение, оператор «finally» всегда выполняется в конце оператора try Node := Node.GetNext; .Text := Node.Text; наконец Node := nil;end;
для:
//Ключевое слово For приводит к структуре цикла For, которая используется для выполнения указанного количества циклов for i := от 1 до 100 dosum := sum + i;//Если переменная цикла уменьшается, вы можете использовать Ключевое слово DownTo для i: = 100 до 1 do Inc(sum);
вперед:
//Ключевое слово Forward используется для прямого определения методов. Определите только объявление метода, а затем реализуйте его позже в программе. //Это улучшает читаемость кода, и тогда все объявления можно объединить. соединить все реализации вместе. function X(i: Integer): Integer; right;procedure Y(s: string); right;...function X;begin Result:= i * 2;end;procedure. Y;beginWriteLn(s);end;//Предварительно объявленным методам Forward не нужно вводить параметры и возвращать значения метода при его реализации, просто используйте имя метода напрямую.
функция:
//Функция используется для объявления функций function Для имени функции вам нужно только указать параметры и тип возвращаемого значения. Конкретное имя функции можно привязать позже.
перейти:
//Инструкция Goto используется для перехода к номеру строки, которая может перейти к любой позиции текущего слоя структуры //Номер строки должен быть объявлен с ключевым словом label в объявлении, //Поскольку оператор Goto приведет к уничтожению. структуру программы, ее не рекомендуется использовать .var a,b: Integer;метка X,Y;begin если a > b, то перейти к X, иначе перейти к Y;X: WriteLn('a > b'); Y: WriteLn('b > a');end;
если:
//Ключевое слово If приводит к условному оператору If, который используется для оценки условия.var a,b: Integer;begin a := b := 3; if a>b then WriteLn('a=' + IntToStr( a )) else WriteLn('b=' + IntToStr(b));end;//Обычная структура оператора If — If...Then...else, а оператор else необязателен.//Если есть есть любой в операторе If. Несколько подинструкций, Затем вы должны использовать структуру Begin...End, чтобы отличить, если a > b thenbegin WriteLn('a>b'); WriteLn('a=' + IntToStr(a)); WriteLn('b=' + IntToStr() б) );Endelse WriteLn('b>a');
выполнение:
//Реализация идентифицирует часть реализации модуля. Базовая структура модуля: ://Unit...Interface...implementation...end.//Тело функции, тело процесса и т. д. должно быть записано после. ключевое слово реализации.//Если на объект ссылаются после реализации, он является закрытым и может использоваться только самим модулем. Реализация использует frmAbout;begin FormAbout.Show;end;//Полный модуль должен иметь реализацию. часть.
реализует:
//Реализация указывает, что свойство унаследовано от интерфейса, и это свойство преобразуется в объект интерфейса. //Динамически привязываем свойства через интерфейс и динамически устанавливаем значение свойства. IMyInterface = интерфейс процедура P1; конец TMyImplclass = процедура класса P1; конец процедуры TMyImplClass (TInterfacedObject, IMyInterface) FMyImplClass: TMyImplClass; FMyImplclass реализует IMyInterface; P1 = МойP1;
в:
//In используется для определения того, содержит ли набор элемент. Определяемое содержимое должно быть одним элементом набора и экземпляром типа TCol = (cA,cB,cC = set of TCol;var); Cols: TCols;begin Cols := [cA,cB]; если cA в Cols, то ShowMessage('cA in Cols') else ShowMessage('cA not in Cols');end;//In также используется в файлах проекта, Используется для определения того, ссылается ли проект на файл. Использует Unit1 в 'Unit1.pas'; //In можно использовать в операторе For для циклического вывода элементов в коллекции. .. for s In sl do Begin ShowMessage(s); end;end;
индекс:
//Индекс используется для идентификации серийного номера в атрибуте, чтобы один и тот же метод атрибута (Get, Set) можно было использовать для работы с разными атрибутами. type TForm1 = class(TForm) Private function GetInfo(const Index: Integer): Longint. ; процедура SetInfo (const Index: Integer; const Value: Longint); публичное свойство iLeft: Longint index 0 чтение GetInfo запись SetInfo; свойство iTop: Longint index 1 чтение GetInfo запись SetInfo; свойство iWidth:Longint index 2 чтение GetInfo запись SetInfo; свойство iHeight:Longint index 3 чтение GetInfo запись SetInfo; end;function TForm1.GetInfo(const Index: Integer): Longint;begin case Index of 0: result := self.Left 1: Результат: = self.Top 2: результат: = self.Width; := self.Height; end;end;//Ключевое слово Index также используется для обозначения нескольких элементов в свойствах, например: свойство Selected[Index: Integer]: Boolean read GetSelected write SetSelected;
унаследовано:
//Inherited используется для вызова метода родительского класса.type TDemo = class(TComponent) public конструктор Create(AOwner: TComponent; end;constructor TDemo.Create(AOwner: TComponent);begin inherited Create(AOwner);end); ; //Если вы вызываете метод с тем же именем, что и он сам, вы также можете опустить имя метода и параметры. Например, унаследовано в приведенном выше примере. Create(AOwner);//можно изменить на:Inherited;
инициализация:
//Ключевое слово инициализации определяет метод, который будет вызываться при загрузке модуля. //Обычно оно используется для инициализации некоторых объектов, которые не могут быть инициализированы автоматически, но в этом нет необходимости. //Наиболее часто используемый случай. инициализация предназначена для инициализации объектов OLE. инициализация OleInitialize(nil); финализация ActiveX.OleUninitialize;
в соответствии:
//Ключевое слово InLine используется в структуре Asm или ассемблера. //Оно используется для указания того, что оператор ассемблера совместим с предыдущими версиями. Оно не влияет на компиляцию программы 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 ДОБАВИТЬ ESP, 16 POP ESIend;
интерфейс:
//Интерфейс идентифицирует интерфейсную часть модуля. Базовая структура модуля: ://Unit...Interface...implementation...end.//Объявления функций, процедур и т. д. должны быть написаны после. Ключевое слово интерфейса./ /Если на объект ссылаются после интерфейса, у объекта нет экземпляра, и при использовании интерфейс должен быть создан. Интерфейс использует frmAbout;var FAbout: TFormAbout;begin FAbout := TFormAbout.Create(Self); Fabout.Show;end;//Полный модуль должен иметь часть интерфейса.//Интерфейс также может использоваться как объявление интерфейса.type IMalloc = интерфейс(IInterface) ['{00000002-0000-0000-C000-000000000046 }'] функция Alloc(Размер: Целое число): Указатель; stdcall; функция Realloc(P: Указатель; Размер: Целое число: указатель; stdcall; процедура Free (P: Pointer); функция GetSize (P: Pointer): Integer; stdcall; функция DidAlloc (P: Pointer): Integer; stdcall;
является:
//Ключевое слово Is используется для оценки объекта. В некоторых случаях оно также может использоваться как «As».var Comp: TComponent;begin ... if Comp Is TEdit then (Comp as TEdit).Text := 'Edit' ;конец;
этикетка:
//Ключевое слово 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 используется для указания того, что проект является библиотекой классов. Библиотека классов после компиляции генерирует файл DLL, который может быть вызван другими программами. Редакторы библиотеки используют EdInit, EdInOut, EdFormat, EdPrint экспортируют InitEditors, DoneEditors; имя выполнено, имя InsertText Insert , имя DeleteSelection Удаление, FormatSelection, имя PrintSelection Печать, SetErrorHandler;begin InitLibrary;конец.
сообщение:
//Ключевое слово Message используется для объявления методов сообщения. //Метод с Message должен указать тип полученного сообщения и передать сообщение в метод по ссылке для обработки.procedure Refresh(var Msg: TMessageRecordtype); Refresh(var Msg: TMessageRecordtype);beginif Chr(Msg.Code) = #13 then...elseinherited;end;//Пользователи могут настраивать сообщения, Пользовательские сообщения также могут быть получены с помощью сообщений и событий-триггеров.
мод:
//Mod используется для нахождения целочисленного модуля двух чисел, то есть остатка. Оба значения, используемые в операции Mod, должны быть целыми числами, и результаты операций также должны быть целыми числами var a. , b, c: Integer; начало a:= 20;= 3; c:= a mod b;
имя:
//Ключевое слово Name используется для указания псевдонима метода. //Для метода, на который можно ссылаться извне, рекомендуется использовать Name для подачи заявки на псевдоним метода, чтобы внешние программы не могли изменить содержимое сущности метода. //При ссылке на метод извне, если у метода есть псевдоним, он должен быть идентифицирован по имени function MessageBox(HWnd: Integer; Text, Caption: PChar; Flags: Integer): Integer; external 'user32; .dll' имя 'MessageBoxA';
около:
// Рядом отмечен протокол вызова функции, указывающий, что функцию можно вызывать локально // Другие программы могут вызывать функции в форме dll. Функция обратно совместима. Add(a,b: Integer): Integer. ; рядом;//Если эта программа скомпилирована в Demo.exe и другая локальная программа должна вызвать эту функцию, вы можете использовать следующий оператор: function Add(a,b: Integer): Integer external; «Демо.exe»;
ноль:
//Nil используется для представления нулевого указателя или объекта без экземпляра, а Node <> nil dobegin ListBox1.Items.Add(Node.Text);
нодефолт:
//Ключевое слово NoDefault указывает, что свойство не допускает значения по умолчанию, которое обычно используется при наследовании. type TClassA = class Private fValue: Integer; Значение опубликованного свойства: Integer read fValue write fValue default 0; TClassA ) опубликованное свойство Value:Integer read fValue write fValue nodefault;//Как видно из приведенного выше примера, Value в TClassA имеет значение по умолчанию 0, //TClassB наследует TClassA, поэтому он также наследует значение по умолчанию. Используйте NoDefault, чтобы удалить здесь значение по умолчанию.
нет:
//Not используется для отрицания, оно инвертирует исходный результат. Например: if a > b then//Это можно записать как: if not (a < b) then//Ключевое слово Not обычно используется для переключения логического значения. процедура атрибута Button1Click (Отправитель: TObject);begin StatusBar1.Visible := not StatusBar1.Visible;end;
объект:
//Объект используется для объявления объекта. Этот объект может быть произвольным и обратно совместим.Объект может быть унаследован только объектом. //Метод объявления объекта такой же, как и метод объявления типа ODemoA =. object end; ODemoB = object(ODemoA) end; //Ключевое слово Object также используется для объявления динамических функций или процедур, например: type TMyFun = function(i: Integer): Integer of Object; ) из object;//Функция или процедура, объявленная объектом, может быть динамически привязана к указанному телу функции или привязана к событию управления.
из:
//Ключ Of используется для формирования указанной структуры с другими ключевыми словами. Of может использоваться с Case, Class, Array, File, Set, Object. //Инструкция Case: Case Tag Of 0: Result := 'a'; : Result := 'b';end;//Оператор класса: тип TDemo = класс TComponent;//Структура массива: var MyInt: массив целых чисел;//Файловая структура: var MyFile: файл Байт; // Оператор Set: type TCol = (cA,cB,cC); TCols = набор TCol; // Структура объекта: type MyFun = function(I: Integer): Integer of Object;
на:
//Ключевое слово On используется для обработки исключений, указания возникшего исключения и получения информации об исключении.
или:
//1. Выразить логическое или, если (a>0) или (b>0), то //2. Выразить битовую операцию vara,b,c: Integer;beginc := (a или b);end;//Использовать Or При выражении логики выражения вокруг Or должны быть заключены в круглые скобки, чтобы избежать конфликтов с условиями. //Если вы используете Or в условном операторе, редактор не знает, что пользователь делает с Or. Например: если a>0 или. б>0 then //Компилятор может понимать это так: if a>(0 или b)>0 then // или if (a>0) или (b>0) then // Но при фактической компиляции компилятор сгенерирует конфликт , сообщите об ошибке //И первый может содержать форму a>b>c, которая не поддерживается в Delphi //Поэтому вы должны использовать круглые скобки при использовании оператора Или, чтобы различать левые и правые условия.//Указывает бит операции Круглые скобки также необходимо добавлять, когда Заключите Or и левый и правый параметры.
вне:
//Ключевое слово Out описывает метод вывода параметров метода. Общая функция может иметь только одно возвращаемое значение. //Используйте Out для возврата нескольких результатов в функции. //Out возвращает значение. возвращает параметры, а var — это адрес параметра, который вводится непосредственно в процедуру. TForm1.Button1Click(Sender: TObject);var i: Integer; s: string;begin i := s := 'xxx'; end;
перегрузка:
//Ключевое слово Overload указывает метод, используемый для перегрузки. Перегрузка означает, что имя метода то же самое, //но количество, тип или порядок параметров различны. Если это условие выполняется, это представляет собой перегрузку функции X(. i: Integer): строка; перегрузка;функция Должны быть соблюдены требования к перегрузке.type TDemo = class(TComponent) public процедура CreateWnd(AOwner: TWinControl); //Как и в приведенном выше примере, метод, принадлежащий подклассу: {Объявление подкласса }//Существует два метода CreateWnd.//Если перегрузка не используется, метод родительского класса может быть переопределен в подклассе.
переопределить:
//Переопределение используется для переопределения метода в форме виртуального или динамического //При переопределении необходимо использовать объявление переопределенного метода, а параметры и тип возвращаемого значения исходного метода не могут быть изменены. Create(AOwner: TComponent); //Override в основном используется для наследования, используя подклассы для переопределения методов родительского класса. //Как и в приведенном выше примере, Метод, принадлежащий подклассу: процедура X; {переопределен из родительского класса}//Метод, принадлежащий родительскому классу: Повторно введите ключевое слово.
упаковка:
//Ключевое слово Package используется для указания того, что проект является библиотекой управления.//Библиотека управления после компиляции генерирует файл BPL, который можно установить в библиотеку управления Delphi, чтобы этот элемент управления можно было использовать в будущем пакете DATAX. ; требуется rtl, clx ; содержит MyUnit в 'C:/MyProject/MyUnit.pas';end.
упаковано:
//Ключевое слово Packed используется для упаковки структурных записей или массивов. После упаковки размер упакованного объекта может быть значительно уменьшен. ПКар;
паскаль:
//Pascal отмечает протокол вызова функции, //указывает, что функция следует за Pascal при вызове, то есть сначала инициализирует все переменные, //избегает ошибок, вызванных асинхронными вызовами потоков. Функция X (i: Integer) обратно совместима. ): Integer;begin Result:= i * 2;end;
частный:
//Private указывает права разграничения доступа к элементам внутри класса. Доступ к элементам, отмеченным параметром Private, возможен только внутри этого класса.
процедура:
//Процедура используется для объявления процедуры Просто укажите параметры, и позднее можно будет привязать конкретное имя процедуры.
программа:
//Ключевое слово Program используется для указания того, что проект является приложением. EXE-файл создается после компиляции библиотеки управления, и программа может быть выполнена напрямую Project1;использует Forms, Unit1 в 'Unit1.pas';{$R. *.res} begin application.initialize;
свойство:
// Ключевое слово свойства используется для объявления свойств. : Intect; (Отправитель: Tobject) Object;
Защищено:
// Защищенные указывает на разрешения на доступ к элементам в классе.
публика:
// Общественность указывает на разрешения на дифференциацию доступа элементов в классе.
Опубликовано:
// Опубликовано, что разрешения доступа элементов в классе. Объектный просмотр.
поднимать:
// Оператор повышения используется для бросания исключений. : string; начинать, если я <0, тогда поднимите Exception.create ('integer не может быть меньше 0'); Strtoint (ы); за исключением E: Exception Do RESE Exception.Create (E.Message); End;
читать:
// РАЗДЕЛАЕТСЯ, КОТОРЫЕ ИЗНАЧЕНИЕ ЧЛЕНЫ ИЛИ МЕТОД, используемый для чтения недвижимости.
readonly:
// Ключевое слово Readonly используется для определения того, является ли объект только для чтения.
записывать:
// Ключевое слово записи используется для объявления записи структуры ; конец ;
зарегистрироваться:
// Протокол вызова функции, указывающий на то, что функция может оставить запись в реестре, когда она называется. Управление регистрации или экспертные инструменты с библиотекой управления или IDE.Procedure Register; Begin RegisterComponents («Образец», [TDEMO]); END;
Вновь:
// Вновь используется для повторного публикации методов, обычно при наследстве. . // Виртуальные или динамические Целое число);
повторить:
// Повторяет ключевое слово, чтобы ввести структуру повторения sum: = sum + i;
требует:
// Требуется ключевое слово указывает на необходимые условия для составления пакета.
Ресурсы:
// Ресурсы используются для объявления строк ресурсов, которые можно использовать в рамках заявленной структуры 'Borland Rocks';
SafeCall:
// safecall - это тип функционального вызова, который предусматривает правила, которые функции, вызванные COM, должны соблюдать. ;
набор:
// Установите ключевое слово, чтобы объявить класс сбора, который позволяет использовать набор операторов, таких как в и т. Д. Тип TCOL = (CA, CB, CC); Во время работы, чтобы добавить или удалить элемент сбора, var cols: tcols; begin cols: = cols + [ca, cb]; end;
SHL:
// SHL означает смещение влево.
SHR:
// SHR означает смещение вправо.
STDCALL:
// STDCALL - это тип функционального вызова, который предусматривает правила, которые могут быть вызваны программой, должны соблюдать Функция вызова Callee: библиотека демонстрация; Integer): Integer;
хранятся:
// хранятся, чтобы указать, можно ли сохранить значение свойства.
нить:
// строка - это тип данных, который представляет string.var Str: String;
затем:
// Затем ключевое слово используется в операторе IF. ); конец;
Threadvar:
// Threadvar идентифицирует переменную, созданную при запуске потока. '; // s: =' ';
к:
// Ключевое слово используется в операторе FO, чтобы указать, что переменная цикла увеличивается. Используется для увеличения слов переменной цикла, используйте ключевое слово Downto для уменьшения.
пытаться:
// Оператор TRY используется для обработки исключений.
тип:
// Тип ключевой слов используется для объявления различных объектов. CA, CB, CC);
единица:
// Единица идентифицирует начало устройства. начало.
до:
// До тех пор, пока ключевое слово используется для определения условия цикла повторного цикла. = sum + i;
используется:
// Использование используется для упоминания внешнего блока и может использовать общественные части устройства.
var:
// VAR Ключевое слово используется для объявления переменной или объекта, а переменная, объявленная VAR, передается значением. (var i: Integer): Integer; // Параметр I в вышеуказанной функции передается ссылкой, его значение можно изменить при выполнении функции, и возвращается в функцию вызова.
Varargs:
// Varargs идентифицирует контрольный параметр, который должен использоваться в сочетании с ключевым словом CDECL, что указывает на то, что вызываемой функции разрешено передавать функцию Код из библиотеки классов C ++ Функция Printf ссылается, а параметры разрешены для передачи с помощью ссылки.
Виртуальный:
// Виртуально используется для объявления виртуального метода.
пока:
// Ключевое слово используется, чтобы ввести операцию по петлю. Inc (i); конец;
с:
// с помощью ключевого слова используется те же объекты для обработки. Append ('def'); Кажется очень избыточным копировать контент в код буфера обмена: form1.memo1.lines.clear; form1.memo1.lines.append ('abc'); form1.memo1.lines.append ('def'); form1.memo1. Lines.savetofile ('c: /demo.txt');
писать:
// Запись используется для идентификации члена или метода, используемого для написания в собственности.
Написать:
// Ключевое слово writeonly используется для определения того, является ли объект только для записи.
XOR:
// xor используется для эксклюзивного или a xor b затем writeln ('a xor b') else writeln ('a not xor b'); end; // xor также используется для расчета исключительного или значения writeln (inttoStr (3 xor 5));