Uso de los componentes de formulario de VBScript

Uso de componentes en formularios de VBScript

Aunque los formularios y los componentes se basan en la Biblioteca de Componentes Visuales (VCL) de Embarcadero Delphi™, el Altium Designer basado en Delphi Tool Palette para colocar controles en un formulario cuando se utiliza VBScript. Además, los controladores de eventos se generan y el código se escribe utilizando el lenguaje VBScript, independientemente de los orígenes de los formularios y componentes en Delphi dentro de Altium Designer.

Descripción general de los componentes

El sistema de scripts gestiona dos tipos de componentes: componentes visuales y no visuales. Los componentes visuales se utilizan para crear la interfaz de usuario, mientras que los componentes no visuales se emplean para diferentes tareas, como las funciones que proporciona el Timer, OpenDialog y MainMenu . Por ejemplo, el componente no visual Timer se utiliza para activar código específico a intervalos programados y el usuario nunca lo ve. El Button, Edit y Memo son componentes visuales: el usuario los ve.

Ambos tipos de componentes aparecen en tiempo de diseño, pero los componentes no visuales no son visibles en tiempo de ejecución. Los componentes del Tool Palette son orientados a objetos y cuentan con los tres elementos siguientes:

  • Propiedades
  • Eventos
  • Métodos

Una property es una característica de un objeto que influye en su comportamiento visible o en sus operaciones. Por ejemplo, la Visible propiedad determina si este objeto puede verse en un formulario de script.

Un event es una acción o suceso detectado por el script. En un script, el programador escribe código para cada controlador de eventos, diseñado para capturar un evento específico, como un clic del ratón.

Un method es un procedimiento que siempre está asociado a un objeto y define el comportamiento de dicho objeto.

Todos los formularios de script tienen uno o más componentes. Los componentes suelen mostrar información o permiten al usuario realizar una acción. Por ejemplo, una etiqueta (Label) se utiliza para mostrar texto estático, un cuadro de edición (Edit) permite al usuario introducir datos y un botón (Button) puede utilizarse para iniciar acciones.

En un formulario se puede colocar cualquier combinación de componentes, lo que permite al usuario interactuar con ellos mientras se ejecuta el script (tiempo de ejecución). Es tarea del programador de scripts decidir qué ocurre cuando un usuario hace clic en un botón o modifica el texto de un cuadro de edición.

El sistema de scripts proporciona una amplia gama de componentes para crear interfaces de usuario sencillas o complejas para los scripts. Todos los componentes que se pueden colocar en un formulario se encuentran en el panel «Paleta de herramientas».

Para colocar un componente en un formulario, localiza su icono en el Tool Palette y hacer doble clic en él. Esta acción coloca el componente en el formulario activo en su posición predeterminada, con el ancho y la altura predeterminados. La representación visual de la mayoría de los componentes viene determinada por el conjunto de propiedades asociadas a ellos.

Un componente colocado, en su posición y con su anchura y altura predeterminadas, se puede redimensionar o reposicionar con el ratón o a través del Object Inspector panel. Cuando se suelta un componente en un formulario, el sistema de scripts genera automáticamente el código básico necesario para utilizar el componente y actualiza el formulario de script. Para que el componente del formulario funcione, solo queda configurar las propiedades, introducir código en los controladores de eventos y utilizar los métodos según sea necesario.

Diseño de formularios de script

Un formulario de script está diseñado para interactuar con el usuario dentro del entorno de Altium Designer. El diseño de formularios de script constituye el núcleo del desarrollo visual en Altium Designer.

Cada componente que se coloca en un formulario de script y cada propiedad que se configura se almacena en un archivo que describe el formulario (un *.dfm archivo) y mantiene una relación con el código de script asociado (el *.vbs archivo). Así pues, para cada formulario de script existe el *.vbs archivo y el *.dfm archivo.

Al trabajar con un formulario de script y sus componentes, se puede acceder a sus propiedades y modificarlas mediante el Object Inspector panel. Se puede seleccionar más de un componente haciendo clic en ellos mientras se mantiene pulsada la tecla Mayús, o arrastrando un rectángulo de selección alrededor de los componentes del formulario de script. Un formulario de script tiene un título asociado a la Caption propiedad del Object Inspector .

Creación de un nuevo formulario de script

Con un proyecto de script abierto, haz clic con el botón derecho del ratón sobre el proyecto en el Projects y selecciona la opción Add New to Project y, a continuación, el VB Script Form elementos de los menús contextuales. Se creará un nuevo formulario de script con el EditScript1.vbs . Como alternativa, en un *.PrjPCB proyecto, selecciona File » New » Script Files » VB Script Form comando.

Cómo mostrar un formulario de script

Un script debe incluir una rutina que muestre el formulario cuando se ejecute el script en Altium Designer. Dentro de esta rutina, se invoca el ShowModal se invoca el método correspondiente al formulario. La Visible debe establecerse en «false» (sin marcar) para que el ShowModal funcionen correctamente.

Ejemplo de ShowModal

Sub RunDialog
  DialogForm.ShowModal
End Sub

El ShowModal es una forma sencilla de mostrar el formulario de script cuando se RunDialog se invoca el cuadro de diálogo desde el script. Ten en cuenta que se pueden asignar valores a los componentes del DialogForm objeto antes de que DialogForm.ShowModal se invoque el método.

El ModalResult ejemplo que se muestra a continuación es más complejo. Sus últimos métodos se utilizan para los botones del formulario de script. Los métodos de script hacen que el cuadro de diálogo se cierre cuando el usuario hace clic en el OK o Cancel , lo que devolverá mrOk o mrCancel respectivamente desde el ShowModal método.

ModalResult Example

sub bOKButtonClick(Sender)
  ModalResult := mrOK
end sub
 
sub bCancelButtonClick(Sender)
  ModalResult := mrCancel
end sub
 
sub RunShowModalExample
  'Form Visible property must be false for ShowModal to work properly.
  If Form.ShowModal = mrOk     Then ShowMessage("mrOk")
  If Form.ShowModal = mrCancel Then ShowMessage("mrCancel")
end sub

Lo mismo que en el ejemplo anterior se podría conseguir estableciendo el ModalResult valor en mrOk para el OK botón y a mrCancel para el Cancel en sus controladores de eventos. Cuando un usuario hace clic en cualquiera de los botones, el cuadro de diálogo se cierra. No es necesario llamar al Close método, ya que cuando se ha establecido el ModalResult se ha establecido el método, el motor de scripts cierra el formulario de script automáticamente.

Tenga en cuenta que, para configurar la opción ModalResult para que se cancele cuando el usuario pulse la Esc tecla, hay que establecer la Cancel propiedad «Cancelar» del botón en «true» (marcada) en el Object Inspector , o bien inserta Sender.Cancel := True en el controlador de eventos del botón CancelButtonClick del formulario.

Aceptación de entradas del usuario

Uno de los componentes más habituales que puede aceptar entradas de un usuario es el EditBox . Este EditBox componente dispone de un campo de texto en el que el usuario puede escribir una cadena de caracteres. También hay otros componentes que pueden aceptar texto, como el componente de edición enmascarada, que es un componente de edición con una máscara de entrada para el campo de texto. La máscara controla, o filtra, la entrada y se almacena en una cadena de parámetros.

El ejemplo siguiente ilustra lo que ocurre cuando un usuario hace clic en el botón tras escribir texto en el cuadro de edición. Ten en cuenta que, si un usuario no ha escrito ningún texto en el componente de edición, el controlador de eventos responde con un mensaje de advertencia

sub TScriptForm.ButtonClick(Sender)
  If Edit1.Text = "" Then
  ShowMessage("Warning - empty input!")
  Exit
  End
  ' do something else for the input
End sub

Tenga en cuenta que el usuario puede desplazar el foco de entrada en el formulario utilizando la tecla Tab o haciendo clic en otro control del formulario.

Respuesta a eventos

Cuando un usuario selecciona un formulario o un componente, Altium Designer envía un mensaje al sistema de scripts, que responde a la notificación del evento llamando al método de controlador de eventos adecuado.

Escribir controladores de eventos

Es posible que un script tenga que responder a eventos que puedan producirse en un componente en tiempo de ejecución. Un evento es un vínculo entre una acción en Altium Designer —como hacer clic en un botón— y un fragmento de código que responde a dicha acción. El código de respuesta es un controlador de eventos, que modifica los valores de las propiedades y llama a métodos.

Además de las propiedades de un componente, cada uno cuenta con un conjunto de nombres de eventos. El programador de scripts decide cómo reaccionará ante las acciones del usuario en Altium Designer. Por ejemplo, cuando un usuario hace clic en un botón de un formulario, Altium Designer envía un mensaje al script y este reacciona ante este nuevo evento; si se ha especificado el OnClick se haya especificado el evento correspondiente a un botón, este se ejecuta.

Todos estos componentes también tienen un evento para obtener y perder el foco. Sin embargo, si no se especifica el código para OnEnter y OnExit (OnEnter - el control tiene el foco; OnExit - el control pierde el foco), el script ignorará el evento.

Propiedades de los componentes

Para ver una lista de las propiedades de un componente, selecciona un componente y activa la Properties pestaña del Object Inspector panel.

Eventos del componente

Para ver una lista de los eventos a los que puede reaccionar un componente, selecciona un componente y activa la Events pestaña del Object Inspector panel. Para crear un procedimiento de gestión de eventos al que pueda reaccionar un componente, elija un evento adecuado y haga doble clic en su nombre.

Por ejemplo, seleccione el Button1 componente del Tool Palette panel, suéltalo en el formulario de script y haz doble clic junto al OnClick nombre del evento. El sistema de scripts volverá a centrarse en el editor de código, donde se habrá creado el código básico para el OnClick evento ya se habrá creado. Si un botón tiene un Close método en su CloseClick controlador de eventos, al hacer clic en el botón, su controlador de eventos captura el evento «on-click» y se ejecuta el código que hay dentro del controlador de eventos. Es decir, el Close método cierra el formulario de script.

En resumen, un controlador de eventos se crea en un script seleccionando un componente del formulario, o mediante el Object Inspector panel, y, a continuación, haciendo doble clic a la derecha del evento deseado (por ejemplo, OnClick) en la pestaña Events — aparecerá en el script la estructura de código adecuada.

Como alternativa, al hacer doble clic en un botón, el sistema de scripts añadirá un controlador para un OnClick evento. Otros tipos de componentes tendrán acciones predeterminadas completamente diferentes.

Métodos de los componentes

Consulte la Referencia de componentes para obtener una lista de los métodos de un componente y consulte la documentación de Embarcadero Delphi para obtener información más detallada.

Creación de componentes en tiempo de ejecución

Los componentes se pueden crear y destruir directamente en un script. Normalmente no es necesario pasar el identificador del formulario, ya que el formulario de script se encarga de ello automáticamente; en su lugar, pasa un Nil parámetro al constructor del componente.

Por ejemplo, el Open y Save se pueden crear y destruir (el TOpenDialog y TSaveDialog , como parte del RTL de Delphi).

AI-LocalizedLocalizado por IA
Si encuentra un problema, seleccione el texto/imagen y presioneCtrl + Enterpara enviarnos sus comentarios.
Disponibilidad de funciones

Las funciones disponibles para usted dependen de qué solución de Altium tenga: Altium Develop, Altium Agile Teams, Altium Agile Enterprise o Altium Designer (con suscripción activa).

Si no ve una función documentada en su software actual, contacte con Ventas de Altium para obtener más información.

Documentación heredada

La documentación de Altium Designer ya no está versionada. Si necesita acceder a la documentación de versiones anteriores de Altium Designer, visite la sección Documentación heredada de la página de Otros instaladores.

Contenido