Querría saber como se declara un tipo en asp, querría declarar un tipo por enumeración y también querría saber como poner para que estando en una variable del tipo pase al siguiente valor definido en la enumeración.
1 Respuesta
Respuesta de jringhetti
1
1
jringhetti, ESTUDIOS Postgrado: cursando 2do año Maestría en Ingeniería de...
Respecto de los tipos de datos, en JScript tenés tres primarios, dos compuestos y dos especiales Primarios String Number Boolean Compuestos Object Array Especiales Null Undefined En VBScript, tenés solamente un tipo de dato llamado Variant. Es un tipo de dato especial que contiene diferentes tipos de información depende de cómo sea utilizado. Es el tipo de dato retornado por todas las funciones en VBScript Un tipo Variant puede contener información numérica o de cadena (string). Un tipo Variant, se comporta como un número en un contexto numérico y como una cadena en un contexto de cadenas. Siempre se puede hacer que un número se comporte como una cadena simplemente encerrándola entre comillas. El tipo Variant tiene subtipos que van desde el numérico o cadena hasta tipos fecha o tiempo, así como desde el booleano hasta el punto-flotante. Subtipos Empty: Es no-inicializado. Su valor es 0 para variables numéricas o de cero longitud en una cadena. Null: Intencionalmente no contiene un dato válido. Boolean : True o False Byte: Enteros en el rango de 0 a 255 (1 byte). Integer : Enteros en el rango de -32,768 to 32,767 (2 bytes). Currency: -922,337,203,685,477.5808 a 922,337,203,685,477.5807. Long: Enteros en el rango de -2,147,483,648 a 2,147,483,647. Single: flotantes de simple precisión, de -3.402823E38 a -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos. Double: flotantes de doble precisión, de -1.79769313486232E308 a -4.94065645841247E-324 para valores negativos; 4.94065645841247E-324 a 1.79769313486232E308 para valores positivos. Date (Time): Contiene un numero que representa una fecha que va desde Enero 1, 100 a Diciembre 31, 9999. String : Contiene una cadena de largo variable que puede alcanzar hasta aprox. 2000 millones de caracteres de largo (que exagerados que son los de MS!). Object: Contiene un Objeto (una referencia a un lugar de memoria, en realidad) Error: Contiene un código de error. Podes utilizar herramientas de conversión para pasar de un subtipo a otro. Para saber que subtipo tiene un Variant se utiliza la función VarType. VbEmpty: 0 Empty (no inicializado) vbNull: 1 Null vbInteger:2 Integer vbLong: 3 Long integer VbSingle:4 Single-precision floating-point number vbDouble: 5 Double-precision floating-point number vbCurrency: 6 Currency vbDate: 7 Date vbString: 8 String vbObject:9 Automation object vbError: 10 Error vbBoolean: 11 Boolean vbVariant: 12 Variant (utilizado con arreglos de Variants) vbDataObject: 13 A data-access object vbByte: 17 Byte vbArray: 8192 Array Ejemplo Dim MyCheck MyCheck = VarType(300) ' Devuelve 2. MyCheck = VarType(#10/19/62#) ' Devuelve 7. MyCheck = VarType("VBScript") ' Devuelve 8. Para hacer un tipo de datos enumerador, vas a tener que utilizar un objeto. En JScript (no se cual de los tipos de scripts estás utilizando): objetoEnmerador = new Enumerator([colección]) [colección] Es opcional. Difiere de los arreglos en que los miembros de una colección no pueden accederse en forma directa. En lugar de utilizar índices, como lo harías con arrays, solamente podes ir moviéndote con un puntero (como son los enumerados de Pascal) Hacia el próximo elemento de la colección. Collections differ from arrays in that the members of a collection are not directly accessible. Instead of using indexes, as you would with arrays, you can only move the current item pointer to the first or next element of a collection. Ejemplo function MostrarPosiciones(posicion){ var e,i; e = new Enumerator("primero", "segundo","tercero","cuarto"); i = 0; while(i < posicion && !e.atEnd()) e.moveNext()) if(!e.atEnd()) x = e.item(); else x = "No existe la posicion"; return x; } En VBScript se utiliza el mismo objeto, lo que cambia (obviamente) la sintaxis.