CULTURA

Asp y matrices

En ÁSPID podemos considerar un formación como formato de datos correspondiente a una lista de elementos donde cada elemento se distingue por un par de clave y valor.

Normalmente, se acostumbra recopilar bajo el término informático array tanto los elementos matemáticos correspondientes a vectores como a matrices. Los arreglos naturalmente comienzan desde cero (0) y no desde uno (1), pero también podemos administrarlos a partir del valor que nos interesa o incluso manipularlos con valores no consecutivos.

Sin embargo, veamos un primer ejemplo:

Dim myArray(1)

myArray(0) = "this"
myArray(1) = "that"
ReDim Preserve myArray(2)
myArray(2) = "theother".

Las matrices están indexadas a cero, esto significa que si escribo como arriba, Dim my Array (1) significa que he reservado dos lineas» de nuestra matriz, fila 0 y fila 1.

Para variar el tamaño de una matriz que mantiene el contenido anterior sin cambios (menos de acortar el tamaño de la matriz, por supuesto), use Redim con la cláusula Preservar idénticamente a cómo sucedió en Visual Basic.

CÓMO OPERAR CON ARRAYES UNIDIMENSIONALES

-Separar-

Ejemplo:

Dim MyString, MyArray
MyString = "Paola,Mario,Luca"
MyArray = Split(MyString, ",")

-LBound / UBound-Me devuelve el valor más bajo y más alto de la matriz especificada respectivamente. El número máximo de elementos disponibles en la matriz, además del ArrayName, puede especificar el elemento para verificar como explicado mejor a continuación.

LBound (ArrayName).

ARRAJES MULTIDIMENSIONALESDe sintaxis intuitiva se declaran así: Atenuar MyArray (x, y) donde x = columnas e y = filas. A continuación, se muestra un ejemplo claro de cómo puede utilizar una matriz multidimensional:

Dim myArray(2,3)
'myArray(col,row)
'Array def is (dept,item,cost)
myArray(0,0) = "housewares"
myArray(1,0) = "sauce pan"
myArray(2,0) = "22.50"
myArray(0,1) = "housewares"
myArray(1,1) = "toaster"
myArray(2,1) = "12.50"
myArray(0,2) = "housewares"
myArray(1,2) = "wooden spoon"
myArray(2,2) = "4.50"
myArray(0,3) = "housewares"
myArray(1,3) = "oven cleaner"
myArray(2,3) = "2.50"
Response.Write("<table border=2>")
Response.Write("<tr><td>Row</td><td>Department</td>")
Response.Write("<td>Item Name</td><td>Cost</td></tr>")
For i = 0 to UBound(myArray, 2)
Response.Write("<tr><td>#" & i & "</td>")
Response.Write("<td>" & myArray(0,i) & "</td>")
Response.Write("<td>" & myArray(1,i) & "</td>")
Response.Write("<td>" & myArray(2,i) & "</td></tr>")
Next
Response.Write("</table>")

Aquí está el resultado:

Fila Departamento Nombre del artículo Costo0 artículos para el hogar cacerola 22.501 tostadora de menaje 12,50Cuchara de madera 2 menaje 4.50Limpiador de horno 3 menaje 2.50

El único paso complicado en este código es el paso en el que se tiene en cuenta el ciclo. Para:

UBound (MyArray, 2) significa que tomo el mayor valor del segundo elemento de la matriz (es decir, el número máximo de líneas, «2»). En otras palabras, el ciclo «For» se utiliza para llenar toda la tabla.a la última línea disponible.

ARRAYES Y REGISTRO MULTIDIMENSIONAL

Veamos el código de inmediato:

sql = "select * from myTable"
Set RS = Conn.Execute(sql)
'Mette il Recordset nell'array
Dim myArray()
numRows = 0
Do While NOT RS.EOF
numRows = numRows + 1
ReDim Preserve myArray(3, numRows)
myArray(0, numRows - 1) = RS(0)
myArray(1, numRows - 1) = RS(1)
myArray(2, numRows - 1) = RS(2)
myArray(3, numRows - 1) = RS(3)
RS.MoveNext
Loop

Hola Fabuloso

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar