Parole chiave
La presente guida illustra le parole chiave di DelphiScript utilizzate nel sistema di scripting di Altium Designer. Il sistema di scripting supporta il linguaggio DelphiScript, che è molto simile al linguaggio di programmazione Embarcadero Delphi™. La differenza principale consiste nel fatto che DelphiScript è un linguaggio di scripting senza tipi.
In questa sezione vengono illustrate le parole chiave più comuni di DelphiScript con informazioni dettagliate ed esempi. Per ulteriori informazioni sulle parole chiave, quali le routine relative ai file Delphi, alle operazioni matematiche e alla gestione delle stringhe, consultarela sezione Funzioni e il Manuale di riferimento di Embarcadero Delphi.
E
L’operatore And
L’operatore 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;
Parola chiave "Or"
Xor parola chiave
Array
Array [index range];
Il linguaggio DelphiScript è un linguaggio senza tipi, pertanto è necessario specificare la dimensione o l'intervallo di un array. È comunque possibile definire il tipo di elementi che l'array può contenere, ma non è necessario. La dichiarazione Open array
var x : array [1..2];
Begin
Begin
statement
End;
La parola chiave begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
Parola chiave End
Break
Break;
Un'istruzione ` BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
Parola chiave While
Parola chiave Continue
Parola chiave Do
Ripeti parola chiave
Caso
Case expression Of
Value range : Expression;
Else Expression;
End;
Le istruzioni " Case
In molte situazioni, un insieme complesso di istruzioni " 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;
Parola chiave Of
Continua
Continue
L'istruzione ` ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Parola chiave break
Parola chiave While
Parola chiave Continue
Parola chiave "Do"
Parola chiave "Ripeti"
Const
Const
Name = Expression;
La parola chiave Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
Un tentativo di modificare il valore del parametro b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
L'operatore Div
Operatore Mod
Operatore Div
Do
-
istruzioneFor variable := expression1 to expression2 do -
istruzioneWhile expression do -
istruzione.With expression do
La parola chiave DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
Per la parola chiave
Da parola chiave
Parola chiave While
Con la parola chiave
Fino alla parola chiave
DownTo
For variable := expression1 DownTo expression2 Do statement.
Utilizza " DownToFor
Per la parola chiave
Parola chiave To
Parola chiave "Do"
Altrimenti
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
La parola chiave " Elseelseifelsetry-exceptcase
Se la parola chiave
Then parola chiave
Prova parola chiave
Parola chiave Case
Fine
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
La parola chiave " EndCase
Parola chiave Begin
Parola chiave "Case"
Parola chiave Try
Except
Try statements Except statements End;
Utilizzare i blocchi " Try-ExceptOnRaiseExcept
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
Parola chiave End
Parola chiave Finally
Parola chiave Try
Finally
Try statements... Finally statements... End;
La parola chiave finallytry-finallyfinallytrytry-finally
Parola chiave `end`
Parola chiave `Raise`
Parola chiave Try
Per
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
Un ciclo " for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Parola chiave Do
Parola chiave DownTo
Parola chiave Repeat
A parola chiave
Mentre parola chiave
Con parola chiave
Avanti
subroutine header; forward;
La direttiva ` Forwardforward
Funzione
Function name (parameters) : return type;
Una funzione ( Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
L'istruzione goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Parola chiave Label
Se
-
if condition then statement; -
if condition then statement1 else statement2;
La condizione per la parola chiave IfElse
If A > B Then ShowMessage('X>Y e A > B'); Else ShowMessage('X>Y e A <=B'); End;</code></wrap></pre> <p><wrap><strong>Vedi anche</strong></wrap><br> <a href="#And">Parola chiave And</a><br> <a href="#Begin">Parola chiave Begin</a><br> <a href="#Or">Parola chiave Or</a><br> <a href="#Then">Parola chiave Then</a><br> <a href="#Else">Parola chiave Else</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>Interfaccia</h3> <p><wrap><strong>Dichiarazione</strong></wrap><br> <wrap><code>Interfaccia<br> // Stringa identificativa univoca a livello globale.<br> Metodi<br> Proprietà<br> Fine;</code></wrap> </p> <p><wrap><strong>Descrizione</strong></wrap><br> La parola chiave <wrap><code>interfaccia</code></wrap> consente l'accesso a un oggetto esistente in memoria e richiama i metodi dell'oggetto. Un'interfaccia può essere costituita solo da proprietà e metodi — nessun dato. Poiché le interfacce non possono contenere dati, le loro proprietà devono scrivere e leggere tramite i metodi. Soprattutto, le interfacce non hanno implementazione, poiché definiscono solo un contratto con un oggetto esistente in memoria.Un'interfaccia può essere considerata come un punto di contatto con un oggetto esistente nella memoria del computer e offre la possibilità di leggere/scrivere dati tramite le proprietà dell'interfaccia. L'interfaccia richiede i dati all'oggetto ad essa associato.
DelphiScript è un linguaggio senza tipi; pertanto, non è possibile definire nuovi tipi quali record, array o classi, né le relative interfacce.
Etichetta
Declaration
label digits, identifier, ...;
Description
La parola chiavedichiara una o più etichette. Un’etichetta può essere una stringa numerica composta da un massimo di quattro cifre oppure un identificatore. Un’etichetta può essere utilizzata nello stesso blocco per identificare un’istruzione come destinazione di un’istruzione label. goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Parola chiave GotoMod
Declaration
Integer expression mod integer expression
Description
L'operatore `` esegue un'operazione di modulo intero o di resto. Il risultato di ` mod` è ` A mod B`. A - (A div B) * B
See also
Funzione DivNil
Declaration
const nil = pointer(0);
Description
La parola chiaveè un valore puntatore speciale che è garantito essere distinto e che non punta a nulla. nilNot
Declaration
not boolean expressionnot integer expression
Description
L'operatoreesegue una negazione. Se l'operando è di tipo booleano, il negativo è la negazione logica. note Not False = True. Se l'operando è un numero intero, l'operatore not true = falseesegue una negazione bit per bit di ciascun bit del valore intero, ovvero un'operazione di complemento. notDi
Declaration
case expression of
selector: expression1
...
end
Description
La parola chiaveviene utilizzata per l’istruzione Of. case
See also
Istruzione CaseOr
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
L'operatoreesegue un OR logico se gli operandi sono di tipo booleano, oppure un OR bit a bit se gli operandi sono interi. Un OR logico è falso solo se entrambi gli operandi sono falsi; in caso contrario, è vero quando almeno un operando è vero. or
See also
Parola chiave "And"
Parola chiave Not
Parola chiave Shl
Parola chiave Shr
Parola chiave XorProcedura
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
La parola chiavea una subroutine che non ha un tipo di ritorno. Le variabili dichiarate all'interno di una procedura non sono accessibili al di fuori di essa. Si noti che questa parola chiave può essere utilizzata, ma viene ignorata dal sistema di scripting. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Parola chiave `function`Programma
Declaration
Program Name;
declarations...
Block
Description
La parola chiavea dà inizio a uno script. L'estensione del file per uno script è program. Si noti che questa parola chiave può essere utilizzata, ma viene ignorata dal sistema di scripting. *.pas
See also
Parola chiave "function"Raise
Declaration
Raise statement;
Description
La parola chiaveè correlata alla parola chiave raise. La parola chiave Trypuò essere utilizzata senza parametri per generare nuovamente l'ultima eccezione. Può anche essere utilizzata con un parametro di tipo stringa per generare un'eccezione utilizzando un messaggio specifico. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));Si noti che la parola chiave
non è supportata in DelphiScript, pertanto gli oggetti Onnon possono essere utilizzati negli script. ExceptionRipetizione
Declaration
repeat
statements;
until boolean expression
Description
Le istruzioni all’interno di un blocco `` vengono eseguite ripetutamente finché l’espressione booleana non è vera. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Parola chiave UntilRisultato
Declaration
Var result : Function return type;
Description
Ogni funzione in uno script deve utilizzare la parola chiaveper restituire un valore risultante. Il tipo della variabile corrisponde al tipo di ritorno della funzione. Result
See also
Parola chiave "function"Shl
Declaration
value shl bits
Description
L'operatoreesegue uno spostamento a sinistra di un valore intero di shlposizioni di bit. I bit lasciati liberi vengono riempiti a destra con bit pari a zero. Bits
See also
Parola chiave And
Parola chiave Not
Parola chiave Or
Parola chiave Shr
Parola chiave XorShr
Declaration
value shr bits
Description
L'operatore "" esegue uno spostamento a destra di un valore intero di shre posizioni di bit. I bit lasciati liberi vengono riempiti a sinistra con bit pari a zero. Bits
See also
Parola chiave And
Parola chiave Not
Parola chiave Or
Parola chiave Shl
Parola chiave XorStringa
Declaration
type string;type Name = string[Constant]
Description
La parola chiave "" rappresenta il tipo stringa. stringQuindi
Declaration
If expression then statement
Description
La parola chiavefa parte di un'istruzione Then. If
See also
Se parola chiaveA
Declaration
For variable := expression1 to expression2 do statement
Description
La parola chiavefa parte di un ciclo toche conta in avanti. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;
See also
Parola chiave Downto
Per la parola chiaveProva
Declaration
Try statements finally statements end;Try statements except statements end;
Description
La parola chiaveintroduce un'istruzione tryo un'istruzione try-except. Queste due istruzioni sono correlate ma hanno scopi diversi. try-finally
Try Finally
Le istruzioni contenute nel blocco `` vengono sempre eseguite, indipendentemente dal modo in cui il controllo esce dal blocco `try` (eccezione, `Exit` o `Break`). Utilizzare il blocco ` finally` per liberare oggetti temporanei e altre risorse e per eseguire operazioni di pulizia. In genere non è necessario utilizzare più di un'istruzione ` try-finally` in una subroutine. try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
Utilizzare `` per gestire i casi eccezionali, ad esempio per intercettare eccezioni specifiche e utilizzarle in modo utile, come aggiungerle a un registro degli errori o creare una finestra di dialogo intuitiva. Poiché la parola chiave ` try-except` non è supportata in DelphiScript, utilizzare l’istruzione ` On` all’interno del blocco ` Raise`. Except
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Parola chiave `Raise`Tipo
Declaration
Type Name = type declaration ...
Description
La parola chiave `` dichiara il tipo di una variabile. Poiché DelphiScript è un linguaggio senza tipi, non è necessario dichiarare le variabili di un tipo specifico, ma è possibile farlo per migliorare la leggibilità degli script. Tutte le variabili in uno script sono sempre di tipo `Variant`. La limitazione principale nella scrittura degli script è che non è possibile dichiarare record o classi. TypeIl typecasting viene ignorato negli script, pertanto i tipi nella dichiarazione delle variabili vengono ignorati e possono essere omessi. Queste dichiarazioni sono quindi corrette:
Example:
var a : integer;
var b : integer;
var c, d;I tipi dei parametri nella dichiarazione di procedure/funzioni vengono ignorati e possono essere omessi. Ad esempio, questo codice è corretto:
Function sum(a, b) : integer; Begin Result := a + b; End;In generale, i Variant possono essere utilizzati per memorizzare qualsiasi tipo di dati ed eseguire numerose operazioni e conversioni di tipo. Un variant viene sottoposto a controllo di tipo e calcolato in fase di esecuzione. Il compilatore non segnala eventuali errori nel codice, che possono essere individuati solo tramite test approfonditi. Nel complesso, le parti di codice che utilizzano i variant possono essere considerate codice interpretato, poiché molte operazioni non possono essere risolte fino al momento dell’esecuzione. Ciò può influire sulla velocità del codice.
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
Parola chiave VarUnità
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.La parola chiave
introduce un'unità, che costituisce il modulo di base di uno script. Si noti che questa parola chiave può essere utilizzata, ma viene ignorata dal sistema di scripting. unit
See also
Parola chiave Function
Parola chiave `Program`Fino
a
Declaration
Repeat
Statements;
Until boolean expression
Description
La parola chiave «» segna la fine del blocco « until». Le istruzioni all’interno di un blocco « Repeat-Until» vengono eseguite ripetutamente finché l’espressione booleana non è vera. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Parola chiave `Repeat`Usi
Declaration
Uses Unit Name, ...;
Description
La parola chiaveelenca i nomi delle unità importate nell'unità circostante. La dichiarazione usesè facoltativa poiché il sistema di scripting supporta le unità importate in Altium Designer. È possibile includere la dichiarazione uses per motivi di leggibilità. usesTutte le unità memorizzate all’interno dello stesso progetto possono accedere alle variabili globali da qualsiasi di queste unità. Tenetelo presente quando dichiarate variabili nelle unità all’interno dello stesso progetto.
Le API Client, PCB, Schematic e WorkSpace Manager di Altium Designer, nonché le unità SysUtils, Classes e altre di Delphi, vengono importate e sono disponibili per l’uso negli script; pertanto non è necessario dichiarare specificatamente queste unità negli script.
See also Per informazioni più dettagliate sull’API di Altium Designer, consultare la documentazione "Utilizzo dell’API di Altium Designer ".
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
Tutte le variabili in uno script sono sempre di tipo Variant. Il typecasting viene ignorato. I tipi nella dichiarazione delle variabili vengono ignorati epossono essere omessi
; pertanto, le seguenti dichiarazioni sono corrette:
Var a : integer;
Var b : integer;
Var c, d;I tipi dei parametri nella dichiarazione di procedure/funzioni vengono ignorati e possono essere omessi. Ad esempio, questo codice è corretto:
Function sum(a, b) : integer; Begin Result := a + b; End;In generale, i Variant possono essere utilizzati per memorizzare qualsiasi tipo di dati ed eseguire numerose operazioni e conversioni di tipo. Un Variant viene sottoposto a controllo di tipo e calcolato in fase di esecuzione. Il compilatore non segnala eventuali errori nel codice, che possono essere individuati solo tramite test approfonditi. Nel complesso, le parti di codice che utilizzano i variant possono essere considerate codice interpretato, poiché molte operazioni non possono essere risolte fino al momento dell’esecuzione. Ciò può influire sulla velocità del codice.
Dichiarazione di una variabile variant:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
il tipo degli elementi dell’array viene ignorato e può essere omesso, pertanto queste dichiarazioni sono equivalenti:
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;Mentre
Declaration
while expression do statement
Description
L'istruzione `` esegue ripetutamente l'istruzione finché l'espressione è vera. while
See also
Parola chiave break
Parola chiave Continue
Parola chiave Do
Parola chiave DownTo
Parola chiave For
Parola chiave Repeat
A parola chiave
Con parola chiaveCon
Declaration
with expression do statement
Description
L'istruzione `` aggiunge un riferimento a un record, un oggetto, una classe o un'interfaccia all'ambito per la risoluzione dei nomi dei simboli. 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
Parola chiave «do»Xor
Declaration
- Espressione booleana XOR Espressione booleana
integer expression Xor integer expression
Description
L'operatoreesegue un OR esclusivo sui suoi operandi. Se gli operandi sono di tipo booleano, restituisce un risultato booleano: vero se gli operandi sono diversi e falso se sono uguali. xorUn operand
e intero opera su ciascun bit dei suoi operandi, impostando il bit di risultato su xorse i bit corrispondenti in entrambi gli operandi sono diversi, e su 0 se entrambi gli operandi hanno bit identici. Se un operando è più piccolo dell'altro, l'operando più piccolo viene esteso con 1nei bit più a sinistra. 0
See also
E parola chiave
Non è una parola chiave
Parola chiave Or
Parola chiave Shl
Parola chiave Shr