Ключевые слова
В данном справочнике описаны ключевые слова DelphiScript, используемые в системе скриптов Altium Designer. Система скриптов поддерживает язык DelphiScript, который очень похож на язык программирования Embarcadero Delphi™. Основное отличие заключается в том, что DelphiScript является языком скриптов без типов.
В данном разделе приведены общие ключевые слова DelphiScript с подробной информацией и примерами. Дополнительную информацию о ключевых словах, таких как процедуры обработки файлов Delphi, математические операции и работа со строками, см. в разделах«Функции» и «Справочник Embarcadero Delphi».
И
Оператор « And
Оператор « And
Var I, J : Integer Begin I := $F0; J := $8F; ShowMessage(IntToStr(I and J)); End;
Var S : String; Begin S := ''; If (Length(S) > 0) and (S[1\] = 'X') Then Delete(S,1,1); End;
Ключевое слово «Or»
ИЛИ ключевое слово
Массив
Array [index range];
Язык DelphiScript является языком без типов, поэтому необходимо указать размер или диапазон массива. Тип элементов, которые может содержать массив, можно определить, но это не обязательно. Объявление Open array
var x : array [1..2];
Begin
Begin
statement
End;
Ключевое слово begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
Ключевое слово «End»
Break
Break;
Оператор « BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
Ключевое слово while
Ключевое слово «Continue»
Ключевое слово «Do»
Повторить ключевое слово
Case
Case expression Of
Value range : Expression;
Else Expression;
End;
Операторы « Case
Во многих ситуациях сложный набор операторов « IfCasecasecaseCaseelseCase Of
Case Char Of '+' : Text := 'Plus sign'; '-' : Text := 'Minus sign'; '*', '/': Text := 'Multiplication or division'; '0'..'9': Text := 'Number'; 'a'..'z': Text := 'Lowercase character'; 'A'..'Z': Text := 'Uppercase character'; Else Text := 'Unknown character'; End;
Case UserName Of Jack', 'Joe' : IsAdministrator := true; 'Fred' : IsAdministrator := false; Else Raise('Unknown User'); End;
Ключевое слово «Of»
Продолжить
Continue
Оператор ` ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Ключевое слово break
Ключевое слово `While`
Ключевое слово «Continue»
Ключевое слово «Do»
Ключевое слово «Repeat»
Const
Const
Name = Expression;
Ключевое слово « Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
Попытка изменить значение параметра b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
Оператор Div
Оператор Mod
Оператор Div
Do
-
операторFor variable := expression1 to expression2 do -
утверждениеWhile expression do -
оператор.With expression do
Ключевое слово « DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
Ключевое слово «for»
К ключевому слову
Ключевое слово While
С ключевым словом
До ключевого слова
До
For variable := expression1 DownTo expression2 Do statement.
Используйте оператор « DownToFor
Ключевое слово «For»
Ключевое слово «To»
Ключевое слово «Do»
Else
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
Ключевое слово « Elseelseifelsetry-exceptcase
Если ключевое слово
Then — ключевое слово
Ключевое слово Try
Ключевое слово Case
Конец
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
Ключевое слово « EndCase
Ключевое слово «Begin»
Ключевое слово «Case»
Ключевое слово Try
Except
Try statements Except statements End;
Используйте блоки « Try-ExceptOnRaiseExcept
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
Ключевое слово End
Ключевое слово `Finally`
Ключевое слово Try
Finally
Try statements... Finally statements... End;
Ключевое слово « finallytry-finallyfinallytrytry-finally
Ключевое слово `end`
Ключевое слово `Raise`
Ключевое слово `Try`
Для
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
Цикл for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Ключевое слово «Do»
Ключевое слово DownTo
Ключевое слово Repeat
До ключевого слова
Пока ключевое слово
С ключевым словом
Перейти
subroutine header; forward;
Директива ` Forwardforward
Функция
Function name (parameters) : return type;
Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
Оператор « goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Ключевое слово «Label»
Если
-
if condition then statement; -
if condition then statement1 else statement2;
Условие для ключевого слова « IfElse
If A > B Then ShowMessage('X>Y и A > B'); Else ShowMessage('X>Y и A <=B'); End;</code></wrap></pre> <p><wrap><strong>См. также</strong></wrap><br> <a href="#And">Ключевое слово «And»</a><br> <a href="#Begin">Ключевое слово «Begin»</a><br> <a href="#Or">Ключевое слово «Or»</a><br> <a href="#Then">Ключевое слово Then</a><br> <a href="#Else">Ключевое слово Else</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>Интерфейс</h3> <p><wrap><strong>Объявление</strong></wrap><br> <wrap><code>Интерфейс<br> // Строка глобально уникального идентификатора.<br> Методы<br> Свойства<br> Конец;</code></wrap> </p> <p><wrap><strong>Описание</strong></wrap><br> Ключевое слово <wrap><code>interface</code></wrap> обеспечивает доступ к существующему объекту в памяти и вызывает методы этого объекта. Интерфейс может состоять только из свойств и методов — без данных. Поскольку интерфейсы не могут содержать данных, их свойства должны осуществлять запись в методы и чтение из них. Что наиболее важно, интерфейсы не имеют реализации, так как они лишь определяют договор с существующим объектом в памяти.Интерфейс можно рассматривать как точку взаимодействия с существующим объектом в памяти компьютера, который предоставляет возможность чтения и записи данных через свойства интерфейса. Интерфейс запрашивает данные у связанного с ним объекта.
DelphiScript — язык без типов, поэтому вы не можете определять новые типы, такие как новые записи, массивы или классы, а также связанные с ними интерфейсы.
Метка
Declaration
label digits, identifier, ...;
Description
Ключевое слово «» объявляет одну или несколько меток. Метка может представлять собой строку из цифр длиной до четырёх знаков или идентификатор. Метку можно использовать в том же блоке для обозначения оператора в качестве адресата оператора « label». goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Ключевое слово GotoMod
Declaration
Integer expression mod integer expression
Description
Оператор «» выполняет операцию по модулю над целыми числами или вычисляет остаток от деления. Результатом выражения « mod» является « A mod B». A - (A div B) * B
See also
Функция «Div»Nil
Declaration
const nil = pointer(0);
Description
Ключевое словопредставляет собой специальное значение указателя, которое гарантированно не совпадает с другими и не указывает ни на что. nilNot
Declaration
not boolean expressionnot integer expression
Description
Оператор `` выполняет отрицание. Если операнд имеет тип «булево значение», отрицание представляет собой логическое отрицание. ` not` и ` Not False = True`. Если операнд является целым числом, оператор ` not true = false` выполняет побитовое отрицание каждого бита в целочисленном значении — то есть операцию дополнения до 1. notКлючевое слово
Declaration
case expression of
selector: expression1
...
end
Description
Ключевое слово «» используется в операторе « Of». case
See also
Оператор caseИли
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
Оператор «» выполняет логическое «ИЛИ», если операнды имеют тип «boolean», или побитовое «ИЛИ», если операнды являются целыми числами. Логическое «ИЛИ» равно «false» только в том случае, если оба операнда равны «false»; в противном случае оно равно «true», если хотя бы один операнд равен «true». or
See also
Ключевое слово «And»
Ключевое слово «Not»
Ключевое слово «Shl»
Ключевое слово «Shr»
Ключевое слово XorПроцедура
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
Ключевое слово «» объявляет подпрограмму, не имеющую типа возвращаемого значения. Переменные, объявленные внутри процедуры, недоступны за пределами этой процедуры. Обратите внимание, что это ключевое слово можно использовать, но оно игнорируется системой сценариев. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Ключевое слово functionПрограмма
Declaration
Program Name;
declarations...
Block
Description
Ключевое слово «» обозначает начало скрипта. Расширение файла скрипта — program. Обратите внимание, что это ключевое слово можно использовать, но система скриптов его игнорирует. *.pas
See also
Ключевое слово «function»Raise
Declaration
Raise statement;
Description
Ключевое слово «» связано с ключевым словом « raise». Ключевое слово « Try» можно использовать без параметров, чтобы повторно вызвать последнее исключение. Его также можно использовать со строковым параметром, чтобы вызвать исключение с использованием конкретного сообщения. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));Обратите внимание, что ключевое слово «
» не поддерживается в DelphiScript, поэтому объекты « On» нельзя использовать в скриптах. ExceptionПовтор
Declaration
repeat
statements;
until boolean expression
Description
Операторы внутри блока «» выполняются повторно до тех пор, пока булево выражение не станет истинным. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Ключевое слово UntilРезультат
Declaration
Var result : Function return type;
Description
Каждая функция в скрипте должна использовать ключевое слово «» для возврата результирующего значения. Тип переменной соответствует типу возвращаемого значения функции. Result
See also
Ключевое слово «function»Shl
Declaration
value shl bits
Description
Оператор «» выполняет сдвиг целого значения влево на shlбитовых позиций. Освободившиеся биты заполняются нулями справа. Bits
See also
Ключевое слово «And»
Ключевое слово Not
Ключевое слово «Or»
Ключевое слово Shr
Ключевое слово XORShr
Declaration
value shr bits
Description
Оператор «» выполняет сдвиг целого значения вправо н shr-битовых позиций. Освободившиеся биты заполняются нулями слева. Bits
See also
Ключевое слово And
Ключевое слово Not
Ключевое слово «Or»
Ключевое слово Shl
Ключевое слово XORСтрока
Declaration
type string;type Name = string[Constant]
Description
Ключевое слово «» обозначает тип «строка». stringДалее
Declaration
If expression then statement»
Description
Ключевое слово «» является частью оператора « Then». « If
» «See also » «Для
Declaration
For variable := expression1 to expression2 do statement
Description
Ключевое слово `` является частью цикла ` to`, который выполняется по восходящему счету. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;
See also
Ключевое слово Downto
Ключевое слово «For»Попробуйте
Declaration
Try statements finally statements end;Try statements except statements end;
Description
Ключевое слово «» вводит оператор « try» или « try-except». Эти два оператора связаны между собой, но служат разным целям. try-finally
Try Finally
Операторы в блоке «» всегда выполняются, независимо от того, как управление покидает блок «try» — по исключению, с помощью «Exit» или «Break». Используйте блок « finally» для освобождения временных объектов и других ресурсов, а также для выполнения операций очистки. Как правило, в подпрограмме достаточно одного оператора « try-finally». try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
Используйте оператор «» для обработки исключительных случаев, например, чтобы перехватить конкретные исключения и выполнить с ними полезные действия, такие как добавление их в журнал ошибок или создание удобного диалогового окна. Поскольку ключевое слово « try-except» не поддерживается в DelphiScript, используйте оператор « On» внутри блока « Raise». Except
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Ключевое слово `Raise`Тип
Declaration
Type Name = type declaration ...
Description
Ключевое слово «» объявляет тип переменной. Поскольку DelphiScript является языком без типов, объявлять переменные конкретного типа не обязательно, однако это можно сделать для удобства чтения скриптов. Все переменные в скрипте всегда имеют тип Variant. Основным ограничением при написании скриптов является невозможность объявлять записи или классы. TypeПреобразование типов в скриптах игнорируется, поэтому типы в объявлении переменных игнорируются и могут быть пропущены. Таким образом, следующие объявления являются корректными:
Example:
var a : integer;
var b : integer;
var c, d;Типы параметров в объявлении процедур/функций игнорируются и могут быть опущены. Например, следующий код является корректным:
Function sum(a, b) : integer; Begin Result := a + b; End;В целом, варианты можно использовать для хранения данных любого типа и выполнения многочисленных операций и преобразований типов. Вариант проходит проверку типов и вычисляется во время выполнения. Компилятор не выдает предупреждений о возможных ошибках в коде, которые можно обнаружить только в ходе тщательного тестирования. В целом фрагменты кода, использующие варианты, можно считать интерпретируемым кодом, поскольку многие операции не могут быть разрешены до момента выполнения. Это может повлиять на скорость работы кода.
Example: Var V Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
See also
Ключевое слово VarUnit
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.Ключевое слово «
» вводит единицу — базовый модуль сценария. Обратите внимание, что это ключевое слово можно использовать, но система сценариев его игнорирует. unit
See also
Ключевое слово «function»
Ключевое слово «Program»До
Declaration
Repeat
Statements;
Until boolean expression
Description
Ключевое слово «» обозначает конец блока « until». Операторы внутри блока « Repeat-Until» выполняются повторно до тех пор, пока булево выражение не станет истинным. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Ключевое слово «Repeat»Использование
Declaration
Uses Unit Name, ...;
Description
Ключевое слово «» перечисляет имена модулей, которые импортируются в окружающий модуль. Объявление « uses» является необязательным, поскольку система сценариев поддерживает модули, импортированные в Altium Designer. Вы можете включить объявление «uses» для удобства чтения. usesВсе модули, хранящиеся в одном проекте, могут обращаться к глобальным переменным из любого из этих модулей. Учитывайте это при объявлении переменных в модулях одного проекта.
API-интерфейсы Altium Designer (Client, PCB, Schematic и WorkSpace Manager), а также модули SysUtils, Classes и другие модули Delphi импортируются и доступны для использования в скриптах — поэтому нет особой необходимости объявлять эти модули в скриптах.
See also Более подробную информацию об API Altium Designer см. в документации«Использование API Altium Designer ».
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
Все переменные в скрипте всегда имеют тип Variant. Приведение типов игнорируется. Типы в объявлениях переменных игнорируются и могут неуказываться
, поэтому следующие объявления являются корректными:
Var a : integer;
Var b : integer;
Var c, d;Типы параметров в объявлениях процедур/функций игнорируются и могут не указываться. Например, следующий код является корректным:
Function sum(a, b) : integer; Begin Result := a + b; End;В целом, варианты можно использовать для хранения данных любого типа и выполнения многочисленных операций и преобразований типов. Вариант проходит проверку типов и вычисляется во время выполнения. Компилятор не выдает предупреждений о возможных ошибках в коде, которые можно обнаружить только с помощью тщательного тестирования. В целом фрагменты кода, использующие варианты, можно считать интерпретируемым кодом, поскольку многие операции не могут быть разрешены до момента выполнения. Это может повлиять на скорость работы кода.
Объявление переменной типа «вариант»:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
тип элементов массива игнорируется и может быть опущен, поэтому следующие объявления эквивалентны:
Var x : array [1..2] of double;
Var x : array [1..2];
Illegal array example:
Type
TVertices = Array [1..50] Of TLocation;
Var
NewVertices : TVertices;
Legal array example:
Var
NewVertices : Array [1..50] of TLocation;В то время как
Declaration
while expression do statement
Description
оператор `` повторно выполняет оператор до тех пор, пока выражение имеет значение «истина». while
See also
Ключевое слово break
Ключевое слово «Continue»
Ключевое слово «Do»
Ключевое слово DownTo
Ключевое слово «For»
Ключевое слово «Repeat»
К ключевому слову
С ключевым словомС
Declaration
with expression do statement
Description
Оператор `` добавляет ссылку на запись, объект, класс или интерфейс в область видимости для разрешения имен символов. With
Normal version example: Form.Canvas.Pen.Width := 2; Form.Canvas.Pen.Color := clSilver;
With version example: With Form.Canvas.Pen do Begin Width := 2; Color := clSilver; End;
See also
Ключевое слово «do»Xor
Declaration
- логическое выражение XOR логическое выражение
integer expression Xor integer expression
Description
Оператор «» выполняет операцию «исключающее ИЛИ» над своими операндами. Если операнды имеют тип «boolean», он возвращает результат типа «boolean» — «true», если операнды различаются, и «false», если они совпадают. xorЦелочисленный оператор «
» действует на каждый бит операндов, устанавливая результат в « xor», если соответствующие биты в обоих операндах различны, и в «0», если биты операндов совпадают. Если один операнд меньше другого, меньший операнд дополняется « 1» в крайних левых битах. 0
See also
Ключевое слово
Не ключевое слово
Ключевое слово «Or»
Ключевое слово Shl
Ключевое слово Shr