Declara una propiedad.
<property name="nombreDePropiedad" [internalName="variableDePropiedad"] />
o bien
<property name="nombreDePropiedad"> <get [internalName="nombreDeFunciónget"] /> <put [internalName="nombreDeFunciónput"] /> </property>
Sugerencia En XML, puede implementar elementos que no tengan contenido (como el elemento <property> element) si cierra el elemento con />.
Las propiedades se pueden exponer como valores simples. En ese caso, la propiedad se trata como una variable global dentro del archivo componente de secuencia de comandos.
También puede implementar propiedades como procedimientos (funciones o subrutinas), que permitan calcular un valor de propiedad y controlar si una propiedad es de sólo lectura, de escritura y lectura o de sólo escritura. Con esta técnica, las propiedades se implementan como un procedimiento (función o subrutina) en un elemento <script> independiente. El elemento <property> asigna el nombre de la propiedad a los procedimientos que se utilizan para implementarla. Los nombres de los procedimientos deben coincidir con los nombres internos que se especifiquen en el elemento <property>.
Cuando se llama a nombreDeFunciónput se pasa un argumento que contiene el valor al que se desea establecer la propiedad.
Además de sintaxis estándar mostrada arriba, puede utilizar una notación abreviada para especificar información que de otro modo tendría que agregar usando etiquetas secundarias. Por ejemplo, para declarar una propiedad con un descriptor de acceso "get" y otro "put" con el mismo nombre que la propiedad, puede usar la siguiente sintaxis:
<property name="miPropiedad" get put/>
cuya funcionalidad es equivalente a:
<property name="miPropiedad"> <get/> <put/> </property>
Si desea nombrar explícitamente los descriptores de acceso de forma diferente a los predeterminados, puede usar la siguiente sintaxis:
<property name="miPropiedad" get="comprobarget" put="comprobarput"/>
Para especificar una propiedad predeterminada, incluya el atributo dispId="0" en el elemento <property>. Para obtener más información, consulte Exponer propiedades.
El siguiente fragmento de componente de secuencia de comandos muestra la definición de cuatro propiedades (apellido, edad, fechaDeNacimiento y estadoc). La propiedad apellido es un valor simple. La propiedad edad es de sólo lectura y se implementa con la función leerEdad. La propiedad fechaDeNacimiento es de lectura y escritura y se implementa con las funciones leerFDN y escribirFDN. Finalmente, la propiedad estadoc se implementa con las funciones predeterminadas get_estadoc y put_estadoc.
Nota Es necesario incluir una sección CDATA para hacer opaca la secuencia de comandos del elemento <script>. Para obtener más información, consulte Archivos de componentes de secuencia de comandos y compatibilidad XML.
<public> <property name="apellido"/> <property name="edad"> <get internalName="leerEdad"/> </property> <property name="fechaDeNacimiento"> <get internalName="leerFDN"/> <put internalNme="escribirFDN"/> </property> <property name="estadoc"> <get/> <put/> </property> </public> <script language="VBScript"> <![CDATA[ Dim apellido ' Propiedad de lectura y escritura (sin funciones). Dim gFDN ' Variable global variable para almacenar la fecha de nacimiento. Dim gEstadoC ' Variable global para almacenar el estado civil. Function leerFDN()' Obtiene el valor de la propiedad fechaDeNacimiento.
leerFDN = gFDN End Function Function escribirFDN(nuevaFDN)
' Establece el valor de la propiedad fechaDeNacimiento.
If isDate(gFDN) Then
' Comprobación de errores.
gFDN = nuevaFDN
End If End Function Function leerEdad()
' Calcula la propiedad de sólo lectura edad.
If isDate(gDOB) Then
fdnM = DatePart("m", gFDN)
fdnD = DatePart("d", gFDN)
fdnA = DatePart("yyyy", gFDN)
hoyA = DatePart("yyyy", Date)
edad = hoyA - fdnA
' Ajustar si todavía no se han cumplido los años este año.
cumplir = DateValue(fdnM & "/" & fdnD & "/" & hoyA)
If DateDiff("d", cumplir, DateValue(Date)) < 0 Then
edad = edad - 1
End If
leerEdad = edad
End If End Function Function get_estadoc()
' Lee el valor de la propiedad estadoc.
get_estadoc = gEstadoC End Function Function put_estadoc(s)
' Escribe el valor de la propiedad estadoc.
If s = "C" Or s = "S" Then
gEstadoC = s
Else
gEstadoC = "?"
End If End Function ]]> </script>
Elemento <event> | Elemento <method> | Exponer eventos | Exponer métodos | Exponer propiedades
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |