Palabras clave
Esta referencia recoge las palabras clave de DelphiScript utilizadas en el sistema de scripts de Altium Designer. El sistema de scripts es compatible con el lenguaje DelphiScript, que es muy similar al lenguaje de programación Embarcadero Delphi™. La diferencia principal es que DelphiScript es un lenguaje de scripts sin tipos.
En esta sección se describen las palabras clave más comunes de DelphiScript, con información detallada y ejemplos. Para obtener más información sobre las palabras clave, como las rutinas de gestión de archivos Delphi, matemáticas y cadenas de caracteres, consulta lasección «Funciones» y la Referencia de Embarcadero Delphi.
Y
El operador « And
El operador « 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;
Palabra clave «or»
XOR palabra clave
Matriz
Array [index range];
El lenguaje DelphiScript es un lenguaje sin tipos, por lo que es necesario especificar el tamaño o el rango de una matriz. Aunque se puede definir el tipo de elementos que puede contener la matriz, no es necesario. No se admite la declaración « Open array
var x : array [1..2];
Begin
Begin
statement
End;
La palabra clave « begin
Var Test : Integer; Begin Test := Test + 4; ShowMessage(IntToStr(Test)); End;
Palabra clave «End»
Break
Break;
Una instrucción « BreakGoto
While Condition Do Begin DoSomething; Begin If AnotherCondition Then Break; End; End;
Palabra clave «While»
Palabra clave «Continue»
Palabra clave «Do»
Repetir palabra clave
Caso
Case expression Of
Value range : Expression;
Else Expression;
End;
Las sentencias « Case
En muchas situaciones, un conjunto complejo de sentencias « 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;
De la palabra clave
Continuar
Continue
La instrucción « ContinueGoto
Var I := 0; s:= 1; Begin While True Do Begin S := S \* 2; I := I \\+ 1; If I > 4 then continue; Break; End;
Palabra clave «break»
Palabra clave «While»
Palabra clave «Continue»
Palabra clave «Do»
Palabra clave «Repetir»
Const
Const
Name = Expression;
La palabra clave « Constconst
Const b = 30; Begin ShowMessage(IntTtStr(b)); End;
Cualquier intento de cambiar el valor del parámetro b const
Const b = 30; Begin b := 40; ShowMessage(IntToStr(b)); End;
Div
dividend div divisor
El operador « Div
Operador Mod
Operador Div
Do
-
instrucciónFor variable := expression1 to expression2 do -
declaraciónWhile expression do -
instrucción.With expression do
La palabra clave « DoFor, While and With
For i := 0 To AnIndex - 1 Do S := S + #13 + AString;
Para la palabra clave
De la palabra clave «For» a la palabra clave «To»
Palabra clave «While»
Con la palabra clave
Hasta la palabra clave
Hasta
For variable := expression1 DownTo expression2 Do statement.
Utiliza « DownToFor
Para la palabra clave
Palabra clave «To»
Hacer palabra clave
Else
-
If condition then statement Else statement -
Try statement except exception Else statement end -
Case expression of Else end;
La palabra clave « Elseelseifelsetry-exceptcase
Si la palabra clave
Then palabra clave
Palabra clave «Try»
Palabra clave «Case»
Fin
-
Begin statements End; -
Try statements Except Exception clauses... else Statements... End; -
Try statements Finally statements End; -
Case Expression of clauses Else statements... End;
La palabra clave « EndCase
Palabra clave «Begin»
Palabra clave «Case»
Palabra clave «Try»
Except
Try statements Except statements End;
Utiliza los bloques « Try-ExceptOnRaiseExcept
Try X := Y/Z; Except Raise('A divide by zero error!'); End;
Palabra clave «End»
Palabra clave «Finally»
Palabra clave «Try»
«Finally»
Try statements... Finally statements... End;
La palabra clave « finallytry-finallyfinallytrytry-finally
Palabra clave «End»
Palabra clave «Raise»
Palabra clave «Try»
Para
-
for variable := expression1 to expression2 do statement -
for variable := expression1 downto expression2 do statement
Un bucle « for
For i := 0 to AnIndex - 1 Do Begin S := S + #13 + AString; End; ShowMessage(S);
Palabra clave «Do»
Palabra clave «DownTo»
Palabra clave «Repeat»
Hasta la palabra clave
Mientras palabra clave
Con la palabra clave
Reenviar
subroutine header; forward;
La directiva « Forwardforward
Función
Function name (parameters) : return type;
Una función ( Function
Function TestFunc(Min, Max : integer) : integer; Begin Result := Random(Max - Min +1); End;
Goto
goto label
La instrucción « goto
Label StartHere; // code StartHere: //do anything; Goto StartHere;
Palabra clave «Label»
Si
-
if condition then statement; -
if condition then statement1 else statement2;
La condición para la palabra clave « IfElse
Si A > B Entonces ShowMessage('X > Y y A > B'); Si no ShowMessage('X > Y y A <= B'); Fin;</code></wrap></pre> <p><wrap><strong>Véase también</strong></wrap><br> <a href="#And">Palabra clave «And»</a><br> <a href="#Begin">Palabra clave «Begin»</a><br> <a href="#Or">Palabra clave «Or»</a><br> <a href="#Then">Palabra clave «Then»</a><br> <a href="#Else">Palabra clave «Else»</a> </p> <p><a id="Interface" name="Interface"></a> </p> <h3>Interfaz</h3> <p><wrap><strong>Declaración</strong></wrap><br> <wrap><code>Interfaz<br> // Cadena de caracteres identificadora única a nivel global.<br> Métodos<br> Propiedades<br> Fin;</code></wrap> </p> <p><wrap><strong>Descripción</strong></wrap><br> La palabra clave <wrap><code>interfaz</code></wrap> permite acceder a un objeto existente en memoria e invoca los métodos de dicho objeto. Una interfaz solo puede constar de propiedades y métodos; no puede contener datos. Dado que las interfaces no pueden contener datos, sus propiedades deben escribir en los métodos y leer de ellos. Lo más importante es que las interfaces no tienen implementación, ya que solo definen un contrato con un objeto existente en la memoria.Una interfaz puede considerarse como un punto de contacto con un objeto existente en la memoria del ordenador y ofrece la posibilidad de leer y escribir datos a través de las propiedades de la interfaz. La interfaz solicita datos al objeto asociado.
DelphiScript es un lenguaje sin tipos, por lo que no se pueden definir nuevos tipos, como nuevos registros, matrices o clases, ni tampoco interfaces asociadas.
Etiqueta
Declaration
label digits, identifier, ...;
Description
La palabra clave «» declara una o varias etiquetas. Una etiqueta puede ser una cadena numérica de hasta cuatro dígitos o un identificador. Una etiqueta se puede utilizar en el mismo bloque para identificar una instrucción como destino de una instrucción « label». goto
Example: Label StartHere; // code StartHere: //do anything; Goto StartHere;
See also
Palabra clave «Goto»Mod
Declaration
Integer expression mod integer expression
Description
El operador «» realiza una operación de módulo entero o resto. El resultado de « mod» es « A mod B». A - (A div B) * B
See also
Función «div»Nulo
Declaration
const nil = pointer(0);
Description
La palabra clave «» es un valor de puntero especial que se garantiza que es distinto y que no apunta a nada. nilNot
Declaration
not boolean expressionnot integer expression
Description
El operador «» realiza una negación. Si el operando es de tipo booleano, el resultado es la negación lógica. noty Not False = True. Si el operando es un entero, el operador « not true = false» realiza una negación bit a bit de cada bit del valor entero; es decir, una operación de complemento. notDe
Declaration
case expression of
selector: expression1
...
end
Description
La palabra clave «» se utiliza para la instrucción « Of». case
See also
Instrucción «case»Or
Declaration
boolean expression or boolean expressioninteger expression or integer expression
Description
El operador «» realiza una operación «Or» lógica si los operandos son de tipo booleano, o una operación «Or» bit a bit si los operandos son enteros. Una operación «Or» lógica es falsa solo si ambos operandos son falsos; en caso contrario, es verdadera cuando al menos uno de los operandos es verdadero. or
See also
Palabra clave «And»
Palabra clave «Not»
Palabra clave «Shl»
Palabra clave «Shr»
Palabra clave «Xor»Procedimiento
Declaration
Procedure name;Procedure Name (Parameter, ...);
Description
La palabra clave «» declara una subrutina que no tiene tipo de retorno. No se puede acceder a las variables declaradas dentro de un procedimiento desde fuera de este. Ten en cuenta que, aunque esta palabra clave se puede utilizar, el sistema de scripts la ignora. procedure
Example: Procedure TestRand(Var Rand: Integer; Max : Integer); Begin Rand := Random(Max); End;
See also
Palabra clave «function»Programa
Declaration
Program Name;
declarations...
Block
Description
La palabra clave «» da inicio a un script. La extensión de archivo de un script es « program». Ten en cuenta que, aunque esta palabra clave se puede utilizar, el sistema de scripts la ignora. *.pas
See also
Palabra clave «function»Raise
Declaration
Raise statement;
Description
La palabra clave «» está relacionada con la palabra clave « raise». La palabra clave « Try» puede utilizarse sin parámetros para volver a lanzar la última excepción. También puede utilizarse con un parámetro de cadena para lanzar una excepción utilizando un mensaje específico. Raise
Example: Raise(Format('Invalid Value Entered : %d', \[Height]));Ten en cuenta que la palabra clave «
» no es compatible con DelphiScript, por lo que los objetos « On» no se pueden utilizar en scripts. ExceptionRepetir
Declaration
repeat
statements;
until boolean expression
Description
Las instrucciones contenidas en un bloque «» se ejecutan repetidamente hasta que la expresión booleana sea verdadera. Repeat Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Palabra clave «Until»Resultado
Declaration
Var result : Function return type;
Description
Todas las funciones de un script deben utilizar la palabra clave «» para devolver un valor resultante. El tipo de variable es el tipo de retorno de la función. Result
See also
Palabra clave «function»Shl
Declaration
value shl bits
Description
El operador «» realiza un desplazamiento a la izquierda de un valor entero en un shle posiciones de bits. Los bits que quedan vacíos se rellenan por la derecha con ceros. Bits
See also
Palabra clave «And»
Palabra clave «Not»
Palabra clave «Or»
Palabra clave «Shr»
Palabra clave XORShr
Declaration
value shr bits
Description
El operador «» realiza un desplazamiento a la derecha de un valor entero en un shrs posiciones de bit. Los bits que quedan vacíos se rellenan por la izquierda con ceros. Bits
See also
Palabra clave «And»
Palabra clave «Not»
Palabra clave «Or»
Palabra clave «Shl»
Palabra clave XORCadena
Declaration
type string;type Name = string[Constant]
Description
La palabra clave «» representa el tipo «string». stringA continuación
Declaration
If expression then statement»
Description
La palabra clave «» forma parte de una instrucción « Then». « If
» «See also » «Para
Declaration
For variable := expression1 to expression2 do statement
Description
La palabra clave «» forma parte de un bucle « to» que cuenta hacia arriba. for
Example For i := 0 to AnIndex - 1 do S := S + #13 + AString;
See also
Palabra clave «Downto»
Palabra clave «For»Prueba
Declaration
Try statements finally statements end;Try statements except statements end;
Description
La palabra clave «» introduce una instrucción « try» o una instrucción « try-except». Estas dos instrucciones están relacionadas, pero tienen finalidades diferentes. try-finally
Try Finally
Las instrucciones del bloque «» siempre se ejecutan, independientemente de cómo salga el control del bloque «try» (por excepción, «Exit» o «Break»). Utiliza el bloque « finally» para liberar objetos temporales y otros recursos, así como para realizar tareas de limpieza. Normalmente, no es necesario incluir más de una instrucción « try-finally» en una subrutina. try-finally
Example: Reset(F); Try ... // process file F Finally CloseFile(F); End;
Try Except
Utiliza «» para gestionar casos excepcionales; por ejemplo, para capturar excepciones específicas y realizar alguna acción útil con ellas, como añadirlas a un registro de errores o crear un cuadro de diálogo intuitivo. Dado que la palabra clave « try-except» no es compatible con DelphiScript, utiliza la instrucción « On» dentro del bloque « Raise». Except
Example: Try X := Y/Z; Except Raise('A divide by zero error!'); End;
See also
Palabra clave «Raise»Tipo
Declaration
Type Name = type declaration ...
Description
La palabra clave «» declara el tipo de una variable. Dado que DelphiScript es un lenguaje sin tipos, no es necesario declarar las variables de un tipo específico, pero se puede hacer así para facilitar la legibilidad de los scripts. Todas las variables de un script son siempre de tipo Variant. La principal limitación a la hora de escribir scripts es que no se pueden declarar registros ni clases. TypeLa conversión de tipos se ignora en los scripts, por lo que los tipos en la declaración de variables se ignoran y pueden omitirse. Por lo tanto, estas declaraciones son correctas:
Example:
var a : integer;
var b : integer;
var c, d;Los tipos de los parámetros en la declaración de procedimientos o funciones se ignoran y pueden omitirse. Por ejemplo, este código es correcto:
Function sum(a, b) : integer; Begin Result := a + b; End;En general, los variantes se pueden utilizar para almacenar cualquier tipo de datos y realizar numerosas operaciones y conversiones de tipo. Un «variant» se comprueba en cuanto al tipo y se calcula en tiempo de ejecución. El compilador no advertirá de posibles errores en el código, que solo pueden detectarse mediante pruebas exhaustivas. En general, las partes del código que utilizan «variants» pueden considerarse código interpretado, ya que muchas operaciones no pueden resolverse hasta el momento de la ejecución. Esto puede afectar a la velocidad del código.
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
Palabra clave «var»Unidad
Declaration
Unit Name;
interface
declarations
implementation
declarations
statements
Initialization
statements
finalization
statements
end.
Unit Name;
interface
declarations
implementation
declarations
statements
begin
statements
end.La palabra clave «
» introduce una unidad, que es el módulo básico de un script. Ten en cuenta que, aunque esta palabra clave se puede utilizar, el sistema de scripts la ignora. unit
See also
Palabra clave «Function»
Palabra clave «Program»Hasta
Declaration
Repeat
Statements;
Until boolean expression
Description
La palabra clave «» marca el final del bloque « until». Las instrucciones dentro de un bloque « Repeat-Until» se ejecutan repetidamente hasta que la expresión booleana sea verdadera. Repeat-Until
Example: Repeat Write('Enter a value (0..9): '); ShowMessage(IntToStr(I)); Until (I >= 0) and (I = 9);
See also
Palabra clave «Repeat»Usos
Declaration
Uses Unit Name, ...;
Description
La palabra clave «» enumera los nombres de las unidades que se importan a la unidad que la rodea. La declaración « uses» es opcional, ya que el sistema de scripts es compatible con las unidades importadas en Altium Designer. Se puede incluir la declaración «uses» para facilitar la legibilidad. usesTodas las unidades almacenadas en el mismo proyecto pueden acceder a las variables globales desde cualquiera de estas unidades. Ten esto en cuenta al declarar variables en unidades dentro del mismo proyecto.
Las API de Client, PCB, Schematic y WorkSpace Manager de Altium Designer, así como SysUtils, Classes y otras unidades de Delphi, se importan y están disponibles para su uso en scripts, por lo que no es necesario declarar estas unidades específicamente en los scripts.
See also Para obtener información más detallada sobre la API de Altium Designer, consulta la documentación«Uso de la API de Altium Designer ».
Var
Declaration
Name : Type
Name : Type = Expression;
DelphiScript Variables
Todas las variables de un script son siempre de tipo Variant. Se ignora la conversión de tipos. Los tipos en la declaración de variablesse ignoran
y
pueden omitirse
, por lo que estas declaraciones son correctas:
Var a : integer;
Var b : integer;
Var c, d;Los tipos de los parámetros en la declaración de procedimientos o funciones se ignoran y pueden omitirse. Por ejemplo, este código es correcto:
Function sum(a, b) : integer; Begin Result := a + b; End;En general, los variantes pueden utilizarse para almacenar cualquier tipo de datos y realizar numerosas operaciones y conversiones de tipo. Un variante se comprueba en cuanto al tipo y se calcula en tiempo de ejecución. El compilador no advertirá de posibles errores en el código, que solo pueden detectarse mediante pruebas exhaustivas. En general, las partes del código que utilizan variantes pueden considerarse código interpretado, ya que muchas operaciones no pueden resolverse hasta el momento de la ejecución. Esto puede afectar a la velocidad del código.
Declaración de una variable variante:
Var V; Begin // you can assign to it values of several different types: V := 10; V := 'Hello, World'; V := 45.55; End;
Array elements
se ignora el tipo de los elementos de la matriz y puede omitirse, por lo que estas declaraciones son equivalentes:
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;Mientras que
Declaration
while expression do statement
Description
La instrucción «» ejecuta repetidamente la instrucción mientras la expresión sea verdadera. while
See also
Palabra clave «break»
Palabra clave «Continue»
Palabra clave «Do»
Palabra clave «DownTo»
Palabra clave «For»
Palabra clave «Repeat»
Hasta la palabra clave
Con la palabra claveCon
Declaration
with expression do statement
Description
La instrucción «» añade una referencia a un registro, objeto, clase o interfaz al ámbito para la resolución de nombres de símbolos. 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
Palabra clave «Do»XOR
Declaration
- expresión booleana XOR expresión booleana
integer expression Xor integer expression
Description
El operador «» realiza una operación «O exclusivo» sobre sus operandos. Si los operandos son de tipo booleano, devuelve un resultado booleano: verdadero si los operandos son diferentes y falso si son iguales. xorUn «
» entero opera sobre cada bit de sus operandos, estableciendo el bit resultante en « xor» si los bits correspondientes en ambos operandos son diferentes, y en «0» si ambos operandos tienen bits idénticos. Si un operando es más pequeño que el otro, el operando más pequeño se amplía con « 1» en los bits más a la izquierda. 0
See also
Y la palabra clave
Palabra clave «Not»
Palabra clave «Or»
Palabra clave «Shl»
Palabra clave «Shr»