Schlüsselwörter
Diese Referenz behandelt die DelphiScript-Schlüsselwörter, die für das Skriptsystem in Altium Designer verwendet werden. Das Skriptsystem unterstützt die Sprache DelphiScript, die der Programmiersprache Embarcadero Delphi™ sehr ähnlich ist. Der wesentliche Unterschied besteht darin, dass DelphiScript eine typfreie Skriptsprache ist.
In diesem Abschnitt werden gängige DelphiScript-Schlüsselwörter mit detaillierten Informationen und Beispielen beschrieben. Weitere Informationen zu Schlüsselwörtern, wie z. B. Routinen zur Verarbeitung von Delphi-Dateien, mathematischen Operationen und Zeichenketten, finden Sie unter„Funktionen“ und in der Embarcadero Delphi-Referenz.
Und
Der Operator „ And
“ führt ein logisches bzw. bitweises „Und“ aus.
Der 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;
Schlüsselwort „Or“
XOR-Schlüsselwort
Array
Array [index range];
DelphiScript ist eine typfreie Sprache, daher muss die Größe oder der Bereich eines Arrays angegeben werden. Es kann zwar definiert werden, welche Art von Elementen das Array enthalten kann, dies ist jedoch nicht erforderlich. Die Deklaration „ Open array
var x : array [1..2];
Begin
Begin
statement
End;
Das Schlüsselwort „ begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
Schlüsselwort „End“
Break
Break;
Ein „ BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
While-Schlüsselwort
Schlüsselwort „Continue“
Do-Schlüsselwort
Schlüsselwort wiederholen
Fall
Case expression Of
Value range : Expression;
Else Expression;
End;
Die Anweisungen „ Case
In vielen Situationen lässt sich eine komplexe Reihe von „ If
,
indem man sie durch „ CasecasecaseCaseelseCase 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;
Das Schlüsselwort „Of“
Weiter
Continue
Die Anweisung „ ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Schlüsselwort „Break“
While-Schlüsselwort
Schlüsselwort „Continue“
Schlüsselwort „Do“
Schlüsselwort „Wiederholen“
Const
Const
Name = Expression;
Das Schlüsselwort „ Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
Ein Versuch, den Wert des Parameters „ b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
Der Operator „ Div
Mod-Operator
Div-Operator
Do
-
AnweisungFor variable := expression1 to expression2 do -
AnweisungWhile expression do -
Anweisung.With expression do
Das Schlüsselwort „ DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
Für das Schlüsselwort
Zum Schlüsselwort
Schlüsselwort „While“
Mit dem Schlüsselwort
Bis zum Stichwort
DownTo
For variable := expression1 DownTo expression2 Do statement.
Verwenden Sie „ DownToFor
Für das Schlüsselwort
Schlüsselwort „To“
Schlüsselwort ausführen
Sonst
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
Das Schlüsselwort „ Elseelseifelsetry-exceptcase
Wenn das Schlüsselwort
Dann-Schlüsselwort
Try-Schlüsselwort
Case-Schlüsselwort
Ende
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
Das Schlüsselwort „ EndCase
Schlüsselwort „Begin“
Schlüsselwort „Case“
Schlüsselwort „Try“
„Except“
Try statements Except statements End;
Verwenden Sie „ Try-ExceptOnRaiseExcept
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
Schlüsselwort „End“
Schlüsselwort „Finally“
Schlüsselwort „Try“
„Finally“
Try statements... Finally statements... End;
Das Schlüsselwort „ finallytry-finallyfinallytrytry-finally
Schlüsselwort „End“
Schlüsselwort „Raise“
Schlüsselwort „Try“
Für
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
Eine „ for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Do-Schlüsselwort
Schlüsselwort „DownTo“
Schlüsselwort „Repeat“
Bis zum Schlüsselwort
Während Schlüsselwort
Mit Schlüsselwort
Weiter
subroutine header; forward;
Die Anweisung „ Forwardforward
Funktion
Function name (parameters) : return type;
Eine „ Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
Die Anweisung „ goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Schlüsselwort „Label“
Wenn
-
if condition then statement; -
if condition then statement1 else statement2;
Die Bedingung für das Schlüsselwort „ IfElse
Wenn A > B Dann ShowMessage('X > Y und A > B'); Sonst ShowMessage('X > Y und A <= B'); Ende;</code></wrap></pre> <p><wrap><strong>Siehe auch</strong></wrap><br> <a href="#And">Schlüsselwort „And“</a><br> <a href="#Begin">Schlüsselwort „Begin“</a><br> <a href="#Or">Schlüsselwort „Or“</a><br> <a href="#Then">Schlüsselwort „Then“</a><br> <a href="#Else">Schlüsselwort „Else“</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>Schnittstelle</h3> <p><wrap><strong>Deklaration</strong></wrap><br> <wrap><code>Schnittstelle<br> // Global eindeutige Kennungszeichenfolge.<br> Methoden<br> Eigenschaften<br> Ende;</code></wrap> </p> <p><wrap><strong>Beschreibung</strong></wrap><br> Das Schlüsselwort <wrap><code>interface</code></wrap> ermöglicht den Zugriff auf ein vorhandenes Objekt im Speicher und ruft die Methoden des Objekts auf. Eine Schnittstelle kann nur aus Eigenschaften und Methoden bestehen – keine Daten. Da Schnittstellen keine Daten enthalten können, müssen ihre Eigenschaften über Methoden schreiben und lesen. Vor allem haben Schnittstellen keine Implementierung, da sie lediglich einen Vertrag mit einem vorhandenen Objekt im Speicher definieren.Eine Schnittstelle kann als Kontaktpunkt zu einem vorhandenen Objekt im Speicher des Computers betrachtet werden und bietet die Möglichkeit, Daten über die Eigenschaften der Schnittstelle zu lesen und zu schreiben. Die Schnittstelle fordert Daten von dem ihr zugeordneten Objekt an.
DelphiScript ist eine typlose Sprache, daher können Sie keine neuen Typen wie beispielsweise neue Datensätze, Arrays oder Klassen sowie zugehörige Schnittstellen definieren.
Label
Declaration
label digits, identifier, ...;
Description
Das Schlüsselwort „“ deklariert eine oder mehrere Beschriftungen. Eine Beschriftung kann eine Ziffernfolge mit bis zu vier Ziffern oder ein Bezeichner sein. Eine Beschriftung kann im selben Block verwendet werden, um eine Anweisung als Ziel einer „ label“-Anweisung zu kennzeichnen. goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Schlüsselwort „Goto“Mod
Declaration
Integer expression mod integer expression
Description
Der Operator „“ führt eine ganzzahlige Modulo- oder Restoperation durch. Das Ergebnis von „ mod“ ist „ A mod B“. A - (A div B) * B
See also
Div-FunktionNil
Declaration
const nil = pointer(0);
Description
Das Schlüsselwort „“ ist ein spezieller Zeigerwert, der garantiert eindeutig ist und auf nichts verweist. nilNicht
Declaration
not boolean expressionnot integer expression
Description
Der Operator „“ führt eine Negation durch. Ist der Operand vom Typ „boolean“, handelt es sich um eine logische Negation. notund Not False = True. Ist der Operand eine Ganzzahl, führt der Operator „ not true = false“ eine bitweise Negation jedes Bits im Ganzzahlwert durch – das heißt, eine Komplementoperation. notVon
Declaration
case expression of
selector: expression1
...
end
Description
Das Schlüsselwort „“ wird für die Anweisung „ Of“ verwendet. case
See also
Case-AnweisungOder
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
Der Operator „“ führt ein logisches „Oder“ durch, wenn die Operanden vom Typ „bool“, oder ein bitweises „Oder“, wenn die Operanden Ganzzahlen sind. Ein logisches „Oder“ ist nur dann falsch, wenn beide Operanden falsch sind; andernfalls ist es wahr, wenn mindestens ein Operand wahr ist. or
See also
Schlüsselwort „And“
Schlüsselwort „Not“
Schlüsselwort „Shl“
Schlüsselwort „Shr“
Schlüsselwort „Xor“Vorgehensweise
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
Das Schlüsselwort „“ deklariert eine Subroutine ohne Rückgabetyp. Auf Variablen, die innerhalb einer Prozedur deklariert wurden, kann außerhalb dieser Prozedur nicht zugegriffen werden. Beachten Sie, dass dieses Schlüsselwort zwar verwendet werden kann, vom Skriptsystem jedoch ignoriert wird. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Schlüsselwort „function“Programm
Declaration
Program Name;
declarations...
Block
Description
Das Schlüsselwort „“ leitet ein Skript ein. Die Dateiendung für ein Skript lautet „ program“. Beachten Sie, dass dieses Schlüsselwort zwar verwendet werden kann, vom Skriptsystem jedoch ignoriert wird. *.pas
See also
Schlüsselwort „Function“Raise
Declaration
Raise statement;
Description
Das Schlüsselwort „“ steht in Zusammenhang mit dem Schlüsselwort „ raise“. Das Schlüsselwort „ Try“ kann ohne Parameter verwendet werden, um die letzte Ausnahme erneut auszulösen. Es kann auch mit einem String-Parameter verwendet werden, um eine Ausnahme mit einer bestimmten Meldung auszulösen. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));Beachten Sie, dass das Schlüsselwort „
“ in DelphiScript nicht unterstützt wird, sodass die „ On“-Objekte in Skripten nicht verwendet werden können. ExceptionWiederholung
Declaration
repeat
statements;
until boolean expression
Description
Die Anweisungen innerhalb eines „“-Blocks werden so lange wiederholt ausgeführt, bis der boolesche Ausdruck wahr ist. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Schlüsselwort „Until“Ergebnis
Declaration
Var result : Function return type;
Description
Jede Funktion in einem Skript muss das Schlüsselwort „“ verwenden, um einen Rückgabewert zurückzugeben. Der Variablentyp entspricht dem Rückgabetyp der Funktion. Result
See also
Schlüsselwort „Function“Shl
Declaration
value shl bits
Description
Der Operator „“ führt eine Linksverschiebung eines ganzzahligen Werts um shlBitpositionen durch. Die frei gewordenen Bits werden auf der rechten Seite mit Nullen aufgefüllt. Bits
See also
Schlüsselwort „And“
Schlüsselwort „Not“
Schlüsselwort „Or“
Schlüsselwort „Shr“
XOR-SchlüsselwortShr
Declaration
value shr bits
Description
Der Operator „“ führt eine Rechtsverschiebung eines ganzzahligen Werts um shrBitpositionen durch. Die frei gewordenen Bits werden auf der linken Seite mit Nullen aufgefüllt. Bits
See also
And-Schlüsselwort
Schlüsselwort „Not“
Schlüsselwort „Or“
Schlüsselwort „Shl“
XOR-SchlüsselwortZeichenkette
Declaration
type string;type Name = string[Constant]
Description
Das Schlüsselwort „“ steht für den Typ „String“. stringDann
Declaration
If expression then statement“
Description
Das Schlüsselwort „“ ist Teil einer „ Then“-Anweisung. „ If
“ „See also “ „Zu
Declaration
For variable := expression1 to expression2 do statement
Description
Das Schlüsselwort „“ ist Teil einer „ to“-Schleife, die aufwärts zählt. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;
See also
Schlüsselwort „Downto“
„For“-SchlüsselwortVersuchen
Declaration
Try statements finally statements end;Try statements except statements end;
Description
Das Schlüsselwort „“ leitet eine „ try“-Anweisung oder eine „ try-except“-Anweisung ein. Diese beiden Anweisungen sind miteinander verwandt, dienen jedoch unterschiedlichen Zwecken. try-finally
Try Finally
Die Anweisungen im „“-Block werden immer ausgeführt, unabhängig davon, wie die Steuerung den „try“-Block verlässt – durch eine Ausnahme, „Exit“ oder „Break“. Verwenden Sie den „ finally“-Block, um temporäre Objekte und andere Ressourcen freizugeben und Bereinigungsmaßnahmen durchzuführen. In der Regel benötigen Sie nicht mehr als eine „ try-finally“-Anweisung in einer Subroutine. try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
Verwenden Sie „“, um Ausnahmefälle zu behandeln, beispielsweise um bestimmte Ausnahmen abzufangen und sinnvoll damit umzugehen, wie z. B. sie einem Fehlerprotokoll hinzuzufügen oder ein benutzerfreundliches Dialogfeld zu erstellen. Da das Schlüsselwort „ try-except“ in DelphiScript nicht unterstützt wird, verwenden Sie die Anweisung „ On“ innerhalb des „ Raise“-Blocks. Except
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Schlüsselwort „Raise“Typ
Declaration
Type Name = type declaration ...
Description
Das Schlüsselwort „“ deklariert den Typ einer Variablen. Da DelphiScript eine typfreie Sprache ist, ist es nicht erforderlich, Variablen eines bestimmten Typs zu deklarieren, dies kann jedoch aus Gründen der Lesbarkeit in Skripten erfolgen. Alle Variablen in einem Skript sind immer vom Typ „Variant“. Die größte Einschränkung beim Schreiben von Skripten besteht darin, dass Sie keine Datensätze oder Klassen deklarieren können. TypeTypumwandlungen werden in Skripten ignoriert, daher werden Typangaben in Variablendeklarationen ignoriert und können weggelassen werden. Die folgenden Deklarationen sind daher korrekt:
Example:
var a : integer;
var b : integer;
var c, d;Typangaben bei Parametern in Prozedur-/Funktionsdeklarationen werden ignoriert und können weggelassen werden. Dieser Code ist beispielsweise korrekt:
Function sum(a, b) : integer; Begin Result := a + b; End;Im Allgemeinen können Varianten verwendet werden, um beliebige Datentypen zu speichern und zahlreiche Operationen sowie Typkonvertierungen durchzuführen. Ein Variant wird zur Laufzeit typgeprüft und ausgewertet. Der Compiler warnt nicht vor möglichen Fehlern im Code, die nur durch umfangreiche Tests aufgedeckt werden können. Insgesamt können die Codeabschnitte, die Variants verwenden, als interpretierter Code betrachtet werden, da viele Operationen erst zur Laufzeit aufgelöst werden können. Dies kann sich auf die Geschwindigkeit des Codes auswirken.
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
Schlüsselwort „var“Unit
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.Das Schlüsselwort „
“ definiert eine Einheit, die den Grundbaustein eines Skripts darstellt. Beachten Sie, dass dieses Schlüsselwort zwar verwendet werden kann, vom Skriptsystem jedoch ignoriert wird. unit
See also
Schlüsselwort „Function“
Schlüsselwort „Program“Bis
Declaration
Repeat
Statements;
Until boolean expression
Description
Das Schlüsselwort „“ markiert das Ende des „ until“-Blocks. Die Anweisungen innerhalb eines „ Repeat-Until“-Blocks werden so lange wiederholt ausgeführt, bis der boolesche Ausdruck wahr ist. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Schlüsselwort „Repeat“Verwendung
Declaration
Uses Unit Name, ...;
Description
Das Schlüsselwort „“ listet die Namen der Einheiten auf, die in die umgebende Einheit importiert werden. Die Deklaration „ uses“ ist optional, da das Skriptsystem bereits Einheiten unterstützt, die in Altium Designer importiert werden. Sie können die „uses“-Deklaration aus Gründen der Lesbarkeit einfügen. usesAlle im selben Projekt gespeicherten Einheiten können auf globale Variablen aus jeder dieser Einheiten zugreifen. Beachten Sie dies, wenn Sie Variablen in Einheiten innerhalb desselben Projekts deklarieren.
Die APIs „Client“, „PCB“, „Schematic“ und „WorkSpace Manager“ von Altium Designer sowie die „SysUtils“, „Classes“ und andere Einheiten von Delphi werden importiert und stehen in Skripten zur Verfügung – es besteht also keine besondere Notwendigkeit, diese Einheiten in Skripten zu deklarieren.
See also Ausführlichere Informationen zur Altium Designer-API finden Sie in der Dokumentation„Verwendung der Altium Designer-API “.
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
Alle Variablen in einem Skript sind immer vom Typ „Variant“. Typumwandlungen werden ignoriert. Typangaben bei der Variablendeklaration werden ignoriert undkönnen weggelassen werden
, sodass folgende Deklarationen korrekt sind:
Var a : integer;
Var b : integer;
Var c, d;Typangaben bei der Deklaration von Prozeduren und Funktionen werden ignoriert und können weggelassen werden. Der folgende Code ist beispielsweise korrekt:
Function sum(a, b) : integer; Begin Result := a + b; End;Im Allgemeinen können Varianten verwendet werden, um beliebige Datentypen zu speichern und zahlreiche Operationen sowie Typkonvertierungen durchzuführen. Eine Variante wird zur Laufzeit typgeprüft und ausgewertet. Der Compiler warnt nicht vor möglichen Fehlern im Code, die nur durch umfangreiche Tests aufgedeckt werden können. Insgesamt können die Codeabschnitte, die Varianten verwenden, als interpretierter Code betrachtet werden, da viele Operationen erst zur Laufzeit aufgelöst werden können. Dies kann sich auf die Geschwindigkeit des Codes auswirken.
Deklaration einer Variantenvariablen:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
Der Typ der Array-Elemente wird ignoriert und kann weggelassen werden, sodass diese Deklarationen gleichwertig sind:
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;Während
Declaration
while expression do statement
Description
die Anweisung „“ die Anweisung so lange wiederholt, wie der Ausdruck wahr ist. while
See also
Schlüsselwort „break“
Schlüsselwort „Continue“
Schlüsselwort „Do“
Schlüsselwort „DownTo“
Schlüsselwort „For“
Schlüsselwort „Repeat“
Bis zum Schlüsselwort
Mit SchlüsselwortMit
Declaration
with expression do statement
Description
Die Anweisung „“ fügt dem Gültigkeitsbereich für die Auflösung von Symbolnamen eine Referenz auf einen Datensatz, ein Objekt, eine Klasse oder eine Schnittstelle hinzu. 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-SchlüsselwortXOR
Declaration
- Boolescher Ausdruck XOR Boolescher Ausdruck
integer expression Xor integer expression
Description
Der Operator „“ führt eine Exklusive-Oder-Operation auf seine Operanden durch. Sind die Operanden vom Typ „bool“, gibt er ein boolesches Ergebnis zurück – „true“, wenn die Operanden unterschiedlich sind, und „false“, wenn sie identisch sind. xorEin ganzzahliger „
“-Operator wirkt auf jedes Bit seiner Operanden ein und setzt das Ergebnisbit auf „ xor“, wenn die entsprechenden Bits in beiden Operanden unterschiedlich sind, und auf „0“, wenn beide Operanden identische Bits aufweisen. Ist ein Operand kleiner als der andere, wird der kleinere Operand in den Bits ganz links mit „ 1“ aufgefüllt. 0
See also
Und das Schlüsselwort
Nicht-Schlüsselwort
Oder-Schlüsselwort
Schlüsselwort „Shl“
Schlüsselwort „Shr“