Parole chiave

 

Questo riferimento descrive le parole chiave DelphiScript utilizzate dal sistema di scripting in Altium Designer. Il sistema di scripting supporta il linguaggio DelphiScript, che è molto simile al linguaggio di programmazione Embarcadero Delphi™. La differenza principale è che DelphiScript è un linguaggio di scripting senza tipi.

Per informazioni più dettagliate sulle differenze tra DelphiScript e il linguaggio di programmazione Delphi, fare riferimento alla pagina Differenze tra DelphiScript e Delphi.

In questa sezione, le parole chiave comuni di DelphiScript sono illustrate con informazioni dettagliate ed esempi. Per ulteriori informazioni sulle parole chiave, come le routine Delphi per file, matematica e gestione delle stringhe, vedere Funzioni e il Riferimento Embarcadero Delphi.

And

Declaration
L'operatore And esegue un AND logico/bit a bit.

Description
L'operatore And esegue un AND logico se gli operatori sono di tipo booleano, oppure un AND bit a bit se gli operatori sono interi.

Example of a boolean And evaluation:

Var
  I, J : Integer
Begin
  I := $F0;
  J := $8F;
  ShowMessage(IntToStr(I and J));
End;

Example of a logical And evaluation:

Var
  S : String;
Begin
  S := '';
  If (Length(S) > 0) and (S[1\] = 'X') Then Delete(S,1,1);
End;

See also
Parola chiave Or
Parola chiave Xor

Array

Declaration
Array [index range];

Description
Il linguaggio DelphiScript è un linguaggio senza tipi, quindi è 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 non è supportata.

Example:

var x : array [1..2]; 

Begin

Declaration
Begin
  statement
End;

Description
La parola chiave begin avvia un blocco nello script. Un blocco è il corpo principale di uno script e può racchiudere un numero qualsiasi di istruzioni; può essere usato ovunque sia richiesta una singola istruzione, ad esempio nel corpo di un'istruzione condizionale o di un ciclo.

Example:

Var
  Test : Integer;
Begin
  Test := Test + 4;
  ShowMessage(IntToStr(Test));
End;

See also
Parola chiave EndBreak

Declaration
Break;

Description
Un Break esce da un ciclo, in modo simile a un'istruzione Goto.

Example:

While Condition Do
Begin
  DoSomething;
  Begin
    If AnotherCondition Then
      Break;
  End;
End;

See also
Parola chiave While
Parola chiave Continue
Parola chiave Do
Parola chiave Repeat

Case

Declaration
Case expression Of
  Value range : Expression;
Else Expression;
End;

Description
Le istruzioni Case selezionano un ramo tra molti possibili, a seconda del valore dell'espressione.

In molte situazioni, un insieme complesso di istruzioni If può essere semplificato sostituendolo con istruzioni Case. Un'istruzione case in un'espressione viene usata per selezionare un valore, un elenco di valori possibili o un intervallo di valori. In un'istruzione case è possibile usare qualsiasi tipo, perché DelphiScript è un linguaggio senza tipi. Le istruzioni Case possono avere un'istruzione else che viene eseguita se nessuna delle etichette corrisponde al valore del selettore (all'interno della condizione Case Of).

Example 1:

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;

Example 2:

Case UserName Of
  Jack', 'Joe' : IsAdministrator := true;
  'Fred' : IsAdministrator := false;
Else
  Raise('Unknown User');
End;

See also
Parola chiave OfContinue

Declaration
Continue

Description
L'istruzione Continue salta il corpo di un ciclo, in modo simile all'istruzione Goto;

Example:

Var
  I := 0; s:= 1;
Begin
  While True Do
  Begin
  S := S \* 2;
  I := I \\+ 1;
  If I <> 4 then continue;
  Break;
End;

See also
Parola chiave Break
Parola chiave While
Parola chiave Continue
Parola chiave Do
Parola chiave Repeat

Const

Declaration
Const
Name = Expression;

Description
La parola chiave Const specifica qualsiasi espressione a valore costante come valore di una costante. Se si tenta di modificare nello script l'espressione che è di tipo const, il sistema di scripting genererà un errore di identificatore non dichiarato.

Example:

Const
  b = 30;
Begin
  ShowMessage(IntTtStr(b));
End;

Un tentativo di modificare il valore del parametro b const genererà un errore, ad esempio:

Const
  b = 30;
Begin
  b := 40;
  ShowMessage(IntToStr(b));
End;

Div

Declaration
dividend div divisor

Description
L'operatore Div esegue una divisione intera che scarta i risultati frazionari senza arrotondare. Se il divisore è zero, DelphiScript segnala un errore.

See also
Operatore Mod
Operatore Div

Do

Declaration

  • For variable := expression1 to expression2 do istruzione
  • While expression do istruzione
  • With expression do istruzione.

Description
La parola chiave Do fa parte delle istruzioni For, While and With di DelphiScript.

Example:

For i := 0 To AnIndex - 1 Do
  S := S + #13 + AString;

See also
Parola chiave For
Parola chiave To
Parola chiave While
Parola chiave With
DownTo keyword

DownTo

Declaration
For variable := expression1 DownTo expression2 Do statement.

Description
Usare DownTo in un ciclo For per eseguire un conteggio decrescente.

See also
Parola chiave For
Parola chiave To
Parola chiave Do

Else

Declaration

  • If condition then statement Else statement
  • Try statement except exception Else statement end
  • Case expression of Else end;

Description
La parola chiave Else introduce la parte "catch-all" di diverse istruzioni. Si noti che la parte else di un'istruzione if è seguita da una singola istruzione, ma la parte else delle istruzioni try-except e case può contenere più istruzioni.

See also
Parola chiave If
Parola chiave Then
Parola chiave Try
Parola chiave Case

End

Declaration

  • Begin statements End;
  • Try statements Except Exception clauses... else Statements... End;
  • Try statements Finally statements End;
  • Case Expression of clauses Else statements... End;

Description
La parola chiave End termina un blocco o una parte multipla come dichiarazioni, istruzioni Case e così via.

See also
Parola chiave Begin
Parola chiave Case
Parola chiave Try

Except

Declaration
Try statements Except statements End;

Description
Usare i blocchi Try-Except per gestire casi eccezionali, ad esempio per intercettare eccezioni specifiche e fare qualcosa di utile con esse, come aggiungerle a un registro degli errori o creare una finestra di dialogo intuitiva. Poiché la parola chiave On non è supportata in DelphiScript, usare l'istruzione Raise all'interno del blocco Except e riportare solo un messaggio testuale.

Example:

Try
  X := Y/Z;
Except
  Raise('A divide by zero error!');
End;

See also
Parola chiave End
Parola chiave Finally
Parola chiave Try

Finally

Declaration
Try statements... Finally statements... End;

Description
La parola chiave finally avvia la parte finally di un blocco try-finally. Le istruzioni nel blocco finally vengono sempre eseguite, indipendentemente da come il controllo esce dal blocco try: eccezione, uscita o interruzione. Si consiglia l'uso del blocco try-finally quando si gestiscono la creazione/distruzione di oggetti e l'I/O dei file.

See also
Parola chiave End
Parola chiave Raise
Parola chiave Try

For

Declaration

  • for variable := expression1 to expression2 do statement
  • for variable := expression1 downto expression2 do statement

Description
Un ciclo for valuta le espressioni che specificano i limiti di questo ciclo, quindi esegue ripetutamente il corpo del ciclo tramite la variabile di controllo del ciclo, che viene aggiornata dopo ogni iterazione.

Example:

For i := 0 to AnIndex - 1 Do
Begin
  S := S + #13 + AString;
End;
ShowMessage(S);

See also
Parola chiave Do
Parola chiave DownTo
Parola chiave Repeat
Parola chiave To
Parola chiave While
Parola chiave With

Forward

Declaration
subroutine header; forward;

Description
La direttiva Forward consente di dichiarare una funzione o una procedura prima che venga chiamata, dichiarandone l'intestazione (nome, parametri e tipo restituito) con la direttiva forward.

Function

Declaration
Function name (parameters) : return type;

Description
Una Function è una sottoroutine che restituisce un valore. Si noti che negli script non sono consentiti puntatori a funzioni, cioè non è possibile definire tipi funzionali. Le variabili dichiarate all'interno di una funzione non sono accessibili all'esterno di questa procedura.

Example

Function TestFunc(Min, Max : integer) : integer;
Begin
  Result := Random(Max - Min +1);
End;

Goto

Declaration
goto label

Description
L'istruzione goto trasferisce il controllo all'etichetta indicata. L'etichetta può essere qualsiasi identificatore o una stringa numerica composta da un massimo di quattro cifre.

Example

Label StartHere;
// code
 
StartHere: //do anything;
 
Goto StartHere;

See also
Parola chiave LabelIf

Declaration

  • if condition then statement;
  • if condition then statement1 else statement2;

Description
La condizione per la parola chiave If deve essere un'espressione booleana. La parola chiave Else è facoltativa.

Example

If A > B Then
    ShowMessage('X>Y and A > B');
Else
    ShowMessage('X>Y and A <=B');
End;

See also
Parola chiave And
Parola chiave Begin
Parola chiave Or
Parola chiave Then
Parola chiave Else

Interface

Declaration
Interface
// Globally unique identifier string.
Methods
Properties
End;

Description
La parola chiave interface consente l'accesso a un oggetto esistente in memoria e richiama i metodi dell'oggetto. Un'interfaccia può essere composta solo da proprietà e metodi, senza dati. Poiché le interfacce non possono contenere dati, le loro proprietà devono scrivere e leggere tramite metodi. Ancora più importante, le interfacce non hanno implementazione, poiché definiscono solo un contratto verso 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 dati dal proprio oggetto associato.

DelphiScript è un linguaggio senza tipi; pertanto non è possibile definire nuovi tipi come nuovi record, array o classi, né le relative interfacce.

Fare attenzione all'altro uso della parola chiave Interface, che viene usata per le sezioni Interface/Implementation di un'unità Embarcadero Delphi. Queste parole chiave Interface/Implementation possono essere usate negli script, ma vengono sostanzialmente ignorate quando uno script viene eseguito in Altium Designer.

Label

Declaration
label digits, identifier, ...;

Description
La parola chiave label dichiara 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 usata nello stesso blocco per identificare un'istruzione come destinazione di un'istruzione goto.

Example:

Label StartHere;
// code
StartHere: //do anything;
Goto StartHere;

See also
Parola chiave GotoMod

Declaration
Integer expression mod integer expression

Description
L'operatore mod esegue un'operazione di modulo intero o resto. Il risultato di A mod B è A - (A div B) * B.

See also
Funzione Div

Nil

Declaration
const nil = pointer(0);

Description
La parola chiave nil è uno speciale valore puntatore che è garantito essere distinto e non puntare a nulla.

Not

Declaration

  • not boolean expression
  • not integer expression

Description
L'operatore not esegue una negazione. Se l'operando è di tipo booleano, il negativo è una negazione logica. Not False = True e not true = false. Se l'operando è un intero, l'operatore not esegue una negazione bit a bit di ciascun bit nel valore intero, cioè un'operazione di complemento.

Of

Declaration
case expression of
  selector: expression1
  ...
end

Description
La parola chiave Of viene usata per l'istruzione case.

See also
Istruzione Case

Or

Declaration

  • boolean expression or boolean expression
  • integer expression or integer expression

Description
L'operatore or esegue un OR logico se gli operandi sono di tipo booleano, oppure un OR bit a bit se gli operatori sono interi. Un OR logico è falso solo se entrambi gli operandi sono falsi; altrimenti è vero quando almeno uno degli operandi è vero.

See also
Parola chiave And
Parola chiave Not
Parola chiave Shl
Parola chiave Shr
Parola chiave Xor

Procedure

Declaration

  • Procedure name;
  • Procedure Name (Parameter, ...);

Description
La parola chiave procedure dichiara una sottoroutine che non ha un tipo restituito. Le variabili dichiarate all'interno di una procedura non sono accessibili all'esterno di questa procedura. Si noti che questa parola chiave può essere usata ma viene ignorata dal sistema di scripting.

Example:

Procedure TestRand(Var Rand: Integer; Max : Integer);
Begin
  Rand := Random(Max);
End;

See also
Parola chiave FunctionProgram

Declaration
Program Name;
declarations...
Block

Description
La parola chiave program avvia uno script. L'estensione di file per uno script è *.pas. Si noti che questa parola chiave può essere usata ma viene ignorata dal sistema di scripting.

See also
Parola chiave FunctionRaise

Declaration
Raise statement;

Description
La parola chiave raise è correlata alla parola chiave Try. La parola chiave Raise può essere usata senza parametri per rilanciare l'ultima eccezione. Può anche essere usata con un parametro stringa per generare un'eccezione usando un messaggio specifico.

Example:

Raise(Format('Invalid Value Entered : %d', \[Height])); 

Si noti che la parola chiave On non è supportata in DelphiScript, quindi gli oggetti Exception non possono essere utilizzati negli script.

Repeat

Declaration
repeat
statements;
until boolean expression

Description
Le istruzioni all'interno di un blocco Repeat Until vengono eseguite ripetutamente finché l'espressione booleana non è vera.

Example:

Repeat
  Write('Enter a value (0..9): ');
  ShowMessage(IntToStr(I));
Until (I >= 0) and (I <= 9);

See also
Parola chiave Until

Result

Declaration
Var result : Function return type;

Description
Ogni funzione in uno script deve usare la parola chiave Result per restituire un valore risultante. Il tipo della variabile è il tipo restituito dalla funzione.

See also
Parola chiave Function

Shl

Declaration
value shl bits

Description
L'operatore shl esegue uno spostamento a sinistra di un valore intero di Bits posizioni di bit. I bit liberati vengono riempiti a destra con bit a zero.

See also
Parola chiave And
Parola chiave Not
Parola chiave Or
Parola chiave Shr
Parola chiave Xor

Shr

Declaration
value shr bits

Description
L'operatore shr esegue uno spostamento a destra di un valore intero di Bits posizioni di bit. I bit liberati vengono riempiti a sinistra con bit a zero.

See also
Parola chiave And
Parola chiave Not
Parola chiave Or
Parola chiave Shl
Parola chiave Xor

String

Declaration

  • type string;
  • type Name = string[Constant]

Description
La parola chiave string rappresenta il tipo stringa.

Then

Declaration
If expression then statement

Description
La parola chiave Then fa parte di un'istruzione If.
See also
Parola chiave If

To

Declaration
For variable := expression1 to expression2 do statement

Description
La parola chiave to fa parte di un ciclo for con conteggio crescente.

Example

For i := 0 to AnIndex - 1 do
  S := S + #13 + AString;

See also
Parola chiave Downto
Parola chiave For

Try

Declaration

  • Try statements finally statements end;
  • Try statements except statements end;

Description
La parola chiave try introduce un'istruzione try-except o un'istruzione try-finally. Queste due istruzioni sono correlate ma hanno scopi diversi.

Try Finally
Le istruzioni nel blocco finally vengono sempre eseguite, indipendentemente da come il controllo esce dal blocco try: eccezione, Exit o Break. Usare il blocco try-finally per liberare oggetti temporanei e altre risorse e per eseguire attività di pulizia. In genere non è necessario più di un'istruzione try-finally in una subroutine.

Example:

Reset(F);
Try
  ...  // process file F
Finally
  CloseFile(F);
End;

Try Except
Usare try-except per gestire casi eccezionali, ad esempio per intercettare eccezioni specifiche e fare qualcosa di utile con esse, come aggiungerle a un registro degli errori o creare una finestra di dialogo intuitiva. Poiché la parola chiave On non è supportata in DelphiScript, usare l'istruzione Raise all'interno del blocco Except.

Example:

Try
  X := Y/Z;
Except
  Raise('A divide by zero error!');
End;

See also
Parola chiave Raise

Type

Declaration
Type Name = type declaration ...

Description
La parola chiave Type dichiara il tipo di una variabile. Poiché DelphiScript è un linguaggio senza tipi, non è necessario dichiarare variabili di un tipo specifico, ma ciò può essere fatto per migliorare la leggibilità degli script. Tutte le variabili in uno script sono sempre di tipo Variant. La principale limitazione nella scrittura di script è che non è possibile dichiarare record o classi.

Il typecasting viene ignorato negli script, quindi 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 usati per memorizzare qualsiasi tipo di dato ed eseguire numerose operazioni e conversioni di tipo. Un variant viene controllato e calcolato in fase di esecuzione. Il compilatore non avviserà di possibili errori nel codice, che possono essere rilevati solo con test approfonditi. Nel complesso, le porzioni di codice che usano variant possono essere considerate codice interpretato, perché molte operazioni non possono essere risolte fino al run time. Questo 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 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.

La parola chiave unit introduce una unit, che è il modulo di base per uno script. Si noti che questa parola chiave può essere usata ma viene ignorata dal sistema di scripting.

See also
Parola chiave Function
Parola chiave Program

Until

Declaration
Repeat
Statements;
Until boolean expression

Description
La parola chiave until segna la fine del blocco Repeat-Until. Le istruzioni all'interno di un blocco Repeat-Until vengono eseguite ripetutamente finché l'espressione booleana non è vera.

Example:

Repeat
  Write('Enter a value (0..9): ');
  ShowMessage(IntToStr(I));
Until (I >= 0) and (I <= 9);

See also
Parola chiave Repeat

Uses

Declaration
Uses Unit Name, ...;

Description
La parola chiave uses elenca i nomi delle unit importate nell'unit circostante. La dichiarazione uses è facoltativa perché il sistema di scripting supporta le unit importate in Altium Designer. È possibile includere la dichiarazione uses per migliorare la leggibilità.

Tutte le unit memorizzate nello stesso progetto possono accedere alle variabili globali di una qualsiasi di queste unit. Tenerlo presente quando si dichiarano variabili nelle unit all'interno dello stesso progetto.

Le API Client, PCB, Schematic e WorkSpace Manager di Altium Designer e le unit SysUtils, Classes e altre di Delphi sono importate e disponibili per l'uso negli script, quindi non è necessario dichiarare specificamente queste unit negli script.

See also

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 e possono essere omessi, quindi queste 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 usati per memorizzare qualsiasi tipo di dato ed eseguire numerose operazioni e conversioni di tipo. Un variant viene controllato e calcolato in fase di esecuzione. Il compilatore non avviserà di possibili errori nel codice, che possono essere rilevati solo con test approfonditi. Nel complesso, le porzioni di codice che usano variant possono essere considerate codice interpretato, perché molte operazioni non possono essere risolte fino al run time. Questo 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, quindi 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;

While

Declaration
while expression do statement

Description
L'istruzione while esegue ripetutamente l'istruzione finché l'espressione è vera.

See also
Parola chiave Break
Parola chiave Continue
Parola chiave Do
Parola chiave DownTo
Parola chiave For
Parola chiave Repeat
Parola chiave To
Parola chiave With

With

Declaration
with expression do statement

Description
L'istruzione With aggiunge un riferimento a record, oggetto, classe o interfaccia all'ambito per la risoluzione dei nomi dei simboli.

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'operatore xor esegue un OR esclusivo sui suoi operandi. Se gli operandi sono di tipo booleano, restituisce un risultato booleano: true se gli operandi sono diversi e false se sono uguali.

Uno xor intero opera su ciascun bit dei suoi operandi, impostando il bit del risultato a 1 se i bit corrispondenti nei due operandi sono diversi, e a 0 se entrambi gli operandi hanno bit identici. Se un operando è più piccolo dell'altro, l'operando più piccolo viene esteso con 0 nei bit più a sinistra.

See also
Parola chiave And
Parola chiave Not
Parola chiave Or
Parola chiave Shl
Parola chiave Shr

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Invio per inviarci il tuo feedback.
Disponibilità delle funzionalità

Le funzionalità disponibili dipendono dalla soluzione Altium in uso – Altium Develop, un’edizione di Altium Agile (Agile Teams o Agile Enterprise), oppure Altium Designer (con licenza attiva).

Se non vedi nel tuo software una funzionalità descritta,  contatta il team vendite di Altium per saperne di più.

Documentazione legacy

La documentazione di Altium Designer non è più suddivisa per versione. Se è necessario accedere alla documentazione delle versioni precedenti di Altium Designer, visitare la sezione Documentazione legacy della pagina Altri programmi di installazione.

Contenuto