Słowa kluczowe
Niniejszy dokument opisuje słowa kluczowe języka DelphiScript wykorzystywane w systemie skryptowym programu Altium Designer. System skryptowy obsługuje język DelphiScript, który jest bardzo podobny do języka programowania Embarcadero Delphi™. Główna różnica polega na tym, że DelphiScript jest językiem skryptowym bez typów.
W tej sekcji przedstawiono popularne słowa kluczowe języka DelphiScript wraz ze szczegółowymi informacjami i przykładami. Więcej informacji na temat słów kluczowych, takich jak pliki Delphi, procedury matematyczne i procedury obsługi ciągów znaków, można znaleźćw sekcji „Funkcje” oraz w podręczniku „Embarcadero Delphi Reference”.
Oraz
Operator „ And
Operator „ 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;
Słowo kluczowe „or”
XOR słowo kluczowe
Tablica
Array [index range];
Język DelphiScript jest językiem beztypowym, dlatego należy określić rozmiar lub zakres tablicy. Nadal można zdefiniować typ elementów, które może zawierać tablica, ale nie jest to konieczne. Deklaracja typu Open array
var x : array [1..2];
Begin
Begin
statement
End;
Słowo kluczowe begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
Słowo kluczowe „End”
Break
Break;
Instrukcja „ BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
Słowo kluczowe „While”
Słowo kluczowe „Continue”
Słowo kluczowe „Do”
Powtórz słowo kluczowe
Przypadek
Case expression Of
Value range : Expression;
Else Expression;
End;
Instrukcje „ Case
W wielu sytuacjach złożony zestaw instrukcji „ 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;
Słowo kluczowe „Of”
Kontynuuj
Continue
Instrukcja ` ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Słowo kluczowe „break”
Słowo kluczowe „While”
Słowo kluczowe „Continue”
Słowo kluczowe „Do”
Słowo kluczowe „Repeat”
Const
Const
Name = Expression;
Słowo kluczowe „ Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
Próba zmiany wartości parametru typu b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
Operator Div
Operator Mod
Operator Div
Do
-
instrukcjaFor variable := expression1 to expression2 do -
oświadczenieWhile expression do -
instrukcja.With expression do
Słowo kluczowe „ DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
Słowo kluczowe „for”
Słowo kluczowe „For”
Słowo kluczowe While
Z słowem kluczowym
Aż do słowa kluczowego
W dół do
For variable := expression1 DownTo expression2 Do statement.
Użyj funkcji ` DownToFor
Dla słowa kluczowego
Słowo kluczowe „To”
Wykonaj słowo kluczowe
Else
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
Słowo kluczowe „ Elseelseifelsetry-exceptcase
Jeśli słowo kluczowe
Then słowo kluczowe
Słowo kluczowe Try
Słowo kluczowe „Case”
Koniec
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
Słowo kluczowe „ EndCase
Słowo kluczowe „Begin”
Słowo kluczowe „Case”
Słowo kluczowe „Try”
Except
Try statements Except statements End;
Bloki typu „ Try-ExceptOnRaiseExcept
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
Słowo kluczowe „End”
Słowo kluczowe „Finally”
Słowo kluczowe `Try`
„Finally”
Try statements... Finally statements... End;
Słowo kluczowe „ finallytry-finallyfinallytrytry-finally
Słowo kluczowe „end”
Słowo kluczowe `Raise`
Słowo kluczowe `Try`
Dla
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
Pętla typu „ for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Słowo kluczowe „do”
Słowo kluczowe DownTo
Słowo kluczowe „Repeat”
Do słowa kluczowego
Podczas gdy słowo kluczowe
Z słowem kluczowym
Przekierowanie
subroutine header; forward;
Dyrektywa ` Forwardforward
Funkcja
Function name (parameters) : return type;
Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
Instrukcja ` goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Słowo kluczowe „label”
Jeśli
-
if condition then statement; -
if condition then statement1 else statement2;
Warunkiem dla słowa kluczowego „ IfElse
If A > B Then ShowMessage('X>Y i A > B'); Else ShowMessage('X>Y i A <=B'); End;</code></wrap></pre> <p><wrap><strong>Zobacz też</strong></wrap><br> <a href="#And">Słowo kluczowe „And”</a><br> <a href="#Begin">Słowo kluczowe „Begin”</a><br> <a href="#Or">Słowo kluczowe „Or”</a><br> <a href="#Then">Słowo kluczowe Then</a><br> <a href="#Else">Słowo kluczowe Else</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>Interfejs</h3> <p><wrap><strong>Deklaracja</strong></wrap><br> <wrap><code>Interfejs<br> // Ciąg znaków będący globalnie unikalnym identyfikatorem.<br> Metody<br> Właściwości<br> Koniec;</code></wrap> </p> <p><wrap><strong>Opis</strong></wrap><br> Słowo kluczowe <wrap><code>interfejs</code></wrap> umożliwia dostęp do istniejącego obiektu w pamięci i wywołuje metody tego obiektu. Interfejs może składać się wyłącznie z właściwości i metod — nie zawiera danych. Ponieważ interfejsy nie mogą zawierać danych, ich właściwości muszą odczytywać i zapisywać dane za pośrednictwem metod. Co najważniejsze, interfejsy nie mają implementacji, ponieważ definiują jedynie umowę dotyczącą istniejącego obiektu w pamięci.Interfejs można traktować jako punkt kontaktowy z istniejącym obiektem w pamięci komputera, który umożliwia odczyt i zapis danych za pośrednictwem właściwości interfejsu. Interfejs żąda danych od powiązanego z nim obiektu.
DelphiScript jest językiem beztypowym, dlatego nie można definiować nowych typów, takich jak nowe rekordy, tablice czy klasy, a także powiązanych z nimi interfejsów.
Etykieta
Declaration
label digits, identifier, ...;
Description
Słowo kluczowe „” deklaruje jedną lub więcej etykiet. Etykieta może być ciągiem cyfr składającym się z maksymalnie czterech cyfr lub identyfikatorem. Etykieta może być użyta w tym samym bloku do identyfikacji instrukcji jako celu instrukcji „ label”. goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Słowo kluczowe GotoMod
Declaration
Integer expression mod integer expression
Description
Operator „” wykonuje operację modułową na liczbach całkowitych lub oblicza resztę z dzielenia. Wynikiem operacji „ mod” jest „ A mod B”. A - (A div B) * B
See also
Funkcja `div`Nil
Declaration
const nil = pointer(0);
Description
Słowo kluczowe `` jest specjalną wartością wskaźnika, która z gwarancją jest niepowtarzalna i nie wskazuje na żadną wartość. nilNie
Declaration
not boolean expressionnot integer expression
Description
Operator „” wykonuje negację. Jeśli operand jest typu logicznego, negacja jest negacją logiczną. notoraz Not False = True. Jeśli operand jest liczbą całkowitą, operator „ not true = false” wykonuje negację bitową każdego bitu w wartości całkowitej — czyli operację uzupełnienia do zer. notSłowo kluczowe
Declaration
case expression of
selector: expression1
...
end
Description
Słowo kluczowe „” jest używane w instrukcji „ Of”. case
See also
Instrukcja caseLub
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
Operator „” wykonuje operację logicznego „Or”, jeśli operandy są typu boolowskiego, lub operację bitowego „Or”, jeśli operandy są liczbami całkowitymi. Logiczne „Or” jest fałszywe tylko wtedy, gdy oba operandy są fałszywe; w przeciwnym razie jest prawdziwe, gdy co najmniej jeden operand jest prawdziwy. or
See also
Słowo kluczowe „And”
Słowo kluczowe „Not”
Słowo kluczowe „Shl”
Słowo kluczowe „Shr”
Słowo kluczowe „Xor”Procedura
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
Słowo kluczowe „” służy do deklarowania podprogramu, który nie ma typu zwracanego. Zmienne zadeklarowane wewnątrz procedury nie są dostępne poza nią. Należy pamiętać, że słowo kluczowe to może być używane, ale jest ignorowane przez system skryptowy. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Słowo kluczowe `function`Program
Declaration
Program Name;
declarations...
Block
Description
Słowo kluczowe „” rozpoczyna skrypt. Rozszerzenie pliku skryptu to „ program”. Należy pamiętać, że słowo kluczowe to może być użyte, ale jest ignorowane przez system skryptowy. *.pas
See also
Słowo kluczowe „function”Raise
Declaration
Raise statement;
Description
Słowo kluczowe `` jest powiązane ze słowem kluczowym ` raise`. Słowo kluczowe ` Try` można użyć bez parametrów, aby ponownie wygenerować ostatni wyjątek. Można je również użyć z parametrem typu ciąg znaków, aby wygenerować wyjątek z określonym komunikatem. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));Należy pamiętać, że słowo kluczowe „
” nie jest obsługiwane w DelphiScript, więc obiekty typu „ On” nie mogą być używane w skryptach. ExceptionPowtórzenie
Declaration
repeat
statements;
until boolean expression
Description
Instrukcje znajdujące się w bloku `` są wykonywane wielokrotnie, dopóki wyrażenie logiczne nie będzie miało wartości prawdziwej. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Słowo kluczowe „Until”Wynik
Declaration
Var result : Function return type;
Description
Każda funkcja w skrypcie musi używać słowa kluczowego „”, aby zwrócić wartość wynikową. Typ zmiennej jest typem zwracanym przez funkcję. Result
See also
Słowo kluczowe „function”Shl
Declaration
value shl bits
Description
Operatorpowoduje przesunięcie wartości całkowitej w lewo o shly bitów. Zwolnione bity są wypełniane z prawej strony zerami. Bits
See also
Słowo kluczowe „And”
Słowo kluczowe „Not”
Słowo kluczowe „Or”
Słowo kluczowe „Shr”
Słowo kluczowe XORShr
Declaration
value shr bits
Description
Operator „” powoduje przesunięcie wartości całkowitej w prawo o shre pozycji bitowych. Zwolnione bity są wypełniane z lewej strony zerami. Bits
See also
Słowo kluczowe „And”
Słowo kluczowe „Not”
Słowo kluczowe „Or”
Słowo kluczowe Shl
Słowo kluczowe XORCiąg znaków
Declaration
type string;type Name = string[Constant]
Description
Słowo kluczowe „” oznacza typ ciągu znaków. stringNastępnie
Declaration
If expression then statement
Description
Słowo kluczowe „” stanowi część instrukcji „ Then”. If
See also
Słowo kluczowe „if”Do
Declaration
For variable := expression1 to expression2 do statement
Description
Słowo kluczowe `` jest częścią pętli ` to`, która zlicza w górę. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;
See also
Słowo kluczowe „Downto”
Słowo kluczowe „For”Spróbuj
Declaration
Try statements finally statements end;Try statements except statements end;
Description
Słowo kluczowe „” wprowadza instrukcję „ try” lub „ try-except”. Te dwie instrukcje są ze sobą powiązane, ale służą różnym celom. try-finally
Try Finally
Instrukcje w bloku „” są zawsze wykonywane, niezależnie od tego, w jaki sposób kontrola opuszcza blok „try” — poprzez wyjątek, instrukcję „Exit” czy „Break”. Bloku „ finally” należy używać do zwalniania obiektów tymczasowych i innych zasobów oraz do wykonywania czynności porządkujących. Zazwyczaj w podprogramie nie jest potrzebna więcej niż jedna instrukcja „ try-finally”. try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
Użyj instrukcji `` do obsługi sytuacji wyjątkowych, na przykład w celu przechwycenia określonych wyjątków i wykonania z nimi użytecznych czynności, takich jak dodanie ich do dziennika błędów lub wyświetlenie przyjaznego okna dialogowego. Ponieważ słowo kluczowe ` try-except` nie jest obsługiwane w DelphiScript, użyj instrukcji ` On` wewnątrz bloku ` Raise`. Except
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Słowo kluczowe `Raise`Typ
Declaration
Type Name = type declaration ...
Description
Słowo kluczowe „” służy do deklarowania typu zmiennej. Ponieważ DelphiScript jest językiem beztypowym, nie ma konieczności deklarowania zmiennych jako konkretnego typu, jednak można to zrobić w celu zwiększenia czytelności skryptów. Wszystkie zmienne w skrypcie są zawsze typu Variant. Głównym ograniczeniem przy pisaniu skryptów jest brak możliwości deklarowania rekordów lub klas. TypeW skryptach ignorowane jest rzutowanie typów, więc typy w deklaracjach zmiennych są pomijane i można je pominąć. Dlatego następujące deklaracje są poprawne:
Example:
var a : integer;
var b : integer;
var c, d;Typy parametrów w deklaracji procedury/funkcji są ignorowane i można je pominąć. Na przykład poniższy kod jest poprawny:
Function sum(a, b) : integer; Begin Result := a + b; End;Ogólnie rzecz biorąc, warianty mogą być używane do przechowywania dowolnego typu danych oraz wykonywania licznych operacji i konwersji typów. Variant jest sprawdzany pod kątem typu i obliczany w czasie wykonywania. Kompilator nie ostrzega o możliwych błędach w kodzie, które można wykryć jedynie poprzez szeroko zakrojone testy. Ogólnie rzecz biorąc, fragmenty kodu wykorzystujące warianty można uznać za kod interpretowany, ponieważ wiele operacji nie może zostać rozstrzygniętych przed czasem wykonywania. Może to wpływać na szybkość działania kodu.
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
Słowo kluczowe `var`Jednostka
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.Słowo kluczowe „
” wprowadza jednostkę, która stanowi podstawowy moduł skryptu. Należy pamiętać, że słowo to może być używane, ale jest ignorowane przez system skryptowy. unit
See also
Słowo kluczowe „function”
Słowo kluczowe „Program”Do
Declaration
Repeat
Statements;
Until boolean expression
Description
Słowo kluczowe „” oznacza koniec bloku „ until”. Instrukcje znajdujące się wewnątrz bloku „ Repeat-Until” są wykonywane wielokrotnie, dopóki wyrażenie logiczne nie będzie prawdziwe. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Słowo kluczowe „Repeat”Zastosowanie
Declaration
Uses Unit Name, ...;
Description
Słowo kluczowe „” zawiera listę nazw modułów importowanych do modułu nadrzędnego. Deklaracja „ uses” jest opcjonalna, ponieważ system skryptowy obsługuje moduły importowane w programie Altium Designer. Deklarację „uses” można jednak umieścić w celu zwiększenia czytelności kodu. usesWszystkie jednostki przechowywane w ramach tego samego projektu mają dostęp do zmiennych globalnych z dowolnej z tych jednostek. Należy o tym pamiętać podczas deklarowania zmiennych w jednostkach w ramach tego samego projektu.
Interfejsy API programu Altium Designer (Client, PCB, Schematic i WorkSpace Manager) oraz moduły SysUtils, Classes i inne moduły języka Delphi są importowane i dostępne do wykorzystania w skryptach — nie ma więc konkretnej potrzeby deklarowania tych modułów w skryptach.
See also Aby uzyskać bardziej szczegółowe informacje na temat interfejsu API programu Altium Designer, zapoznaj się z dokumentacją„Korzystanie z interfejsu API programu Altium Designer ”.
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
Wszystkie zmienne w skrypcie są zawsze typu Variant. Rzutowanie typów jest ignorowane. Typy w deklaracjach zmiennych są ignorowane imożna je pominąć
, więc poniższe deklaracje są poprawne:
Var a : integer;
Var b : integer;
Var c, d;Typy parametrów w deklaracjach procedur/funkcji są ignorowane i można je pominąć. Na przykład poniższy kod jest poprawny:
Function sum(a, b) : integer; Begin Result := a + b; End;Ogólnie rzecz biorąc, warianty mogą być używane do przechowywania dowolnego typu danych oraz wykonywania licznych operacji i konwersji typów. Wariant jest sprawdzany pod kątem typu i obliczany w czasie wykonywania. Kompilator nie ostrzega o możliwych błędach w kodzie, które można wykryć jedynie poprzez szeroko zakrojone testy. Ogólnie rzecz biorąc, fragmenty kodu wykorzystujące warianty można uznać za kod interpretowany, ponieważ wiele operacji nie może zostać rozstrzygniętych przed czasem wykonywania. Może to wpływać na szybkość działania kodu.
Deklaracja zmiennej typu wariant:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
typ elementów tablicy jest ignorowany i można go pominąć, więc poniższe deklaracje są równoważne:
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;Natomiast
Declaration
while expression do statement
Description
instrukcja `` wielokrotnie wykonuje instrukcję, dopóki wyrażenie jest prawdziwe. while
See also
Słowo kluczowe „break”
Słowo kluczowe „Continue”
Słowo kluczowe „Do”
Słowo kluczowe „DownTo”
Słowo kluczowe „For”
Słowo kluczowe „Repeat”
Do słowa kluczowego
Z słowem kluczowymZ
Declaration
with expression do statement
Description
Instrukcja `` dodaje odwołanie do rekordu, obiektu, klasy lub interfejsu do zakresu służącego do rozpoznawania nazw symboli. 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
Słowo kluczowe „do”Xor
Declaration
- wyrażenie logiczne XOR wyrażenie logiczne
integer expression Xor integer expression
Description
operator wykonuje operację „wykluczające OR” na swoich operandach. Jeśli operandy są typu boolowskiego, zwraca wynik boolowski — true, jeśli operandy są różne, oraz false, jeśli są takie same. xor
a całkowitoliczbowa działa na każdym bicie swoich operandów, ustawiając bit wyniku na wartość „ xor”, jeśli odpowiadające mu bity w obu operandach są różne, oraz na 0, jeśli oba operandy mają identyczne bity. Jeśli jeden z operandów jest mniejszy od drugiego, mniejszy operand jest rozszerzany o wartości „ 1” w skrajnych lewych bitach. 0
See also
Słowo kluczowe „And”
Nie jest to słowo kluczowe
Słowo kluczowe „Or”
Słowo kluczowe Shl
Słowo kluczowe „Shr”