Definir una matriz simple
Hay dos formas de definir e inicializar arrays en asp, veamos un ejemplo de cada una:
Método uno:
MyArray = Array("ene","feb","mar","abr","may","jun","jul","ago","septiembre","octubre", "nov","dic ")
El tamaño de la matriz está determinado por la cantidad de elementos inicializados.
Método dos:
Copie el código de código de la siguiente manera:
Dim myArray(2) 'Especifica el tamaño de la matriz
miArray(0)="Ene"
miArray(1)="febrero"
Expansión dinámica de matriz
Copie el código de código de la siguiente manera:
DIM miArray()
REDIM myArray(20) 'Redefine el tamaño de la matriz a 20
ReDim Preserve MyArray(i) 'Preserve conserva los datos originales en la matriz
matriz bidimensional
Ejemplo:
dim MyArray(5,10) 'define una matriz bidimensional
Ejemplo de asignación bidimensional:
MYArray(3,3)=100
También existe un método de implementación disfrazado para matrices bidimensionales:
atenuarMiArray(5)
MyArray(0)=Array(...) 'Matriz unidimensional
MyArray(1)=Array(...)'Matriz unidimensional
...
Al acceder, utilice el formato MyArray(x)(y)
índice de matriz
Utilice el método anterior para definir una matriz. El subíndice del primer elemento de cada matriz de dimensión es 0 y el subíndice del último elemento es el número de elementos -1.
Pero también puedes especificar el subíndice de la matriz, como por ejemplo:
dim MyArray1(3 a 10) 'El subíndice es del 3 al 10, MyArray(3) obtiene el valor del primer elemento
Funciones de matriz útiles
Función Ubound (nombre de la matriz): devuelve el subíndice del último elemento de la matriz.
Función Lbound (nombre de la matriz): devuelve el subíndice del primer elemento de la matriz; el valor predeterminado es 0.
Más aplicaciones:
Función de clasificación de matrices
[código]
función ordenar (ario)
Seguir comprobando = VERDADERO
Hacer hasta que KeepChecking = FALSO
Seguir comprobando = FALSO
Para I = 0 a UBound(ary)
Si I = UBound(ary) entonces salga por
Si ary(I) > ary(I+1) Entonces
PrimerValor = ario(I)
SegundoValor = ario(I+1)
ario(I) = SegundoValor
ario(I+1) = PrimerValor
Seguir comprobando = VERDADERO
Terminar si
Próximo
Bucle
ordenar = ario
Función final
Ejemplo de aplicación de función de clasificación de matrices
Copie el código de código de la siguiente manera:
DimMyArray
Mimatriz = Matriz(1,5,123,12,98)
Mimatriz = Ordenar(Mimatriz)
Para I = Lbound(MyArray) a Ubound(MyArray)
Respuesta.Escribir MyArray(I) & "<br>"
Próximo
Dividir una cadena y devolver una matriz
Copie el código de código de la siguiente manera:
DimMyArray
MyArray = Dividir (cadena, separador)
Para I = Lbound(MyArray) a Ubound(MyArray)
Respuesta.Escribir MyArray(I) & "<br>"
Próximo
Usando matrices en Aplicación y Sesión
Bloqueo de aplicación
Aplicación("StoredArray") = MiArray
Aplicación.Desbloquear
LocalArray = Aplicación ("StoredArray")
Sobrescribir matriz en la aplicación
Bloqueo de aplicación
Aplicación("StoredArray") = LocalArray
Aplicación.Desbloquear
El uso de la sesión es el mismo que el de la aplicación.
Importar datos de la base de datos a una matriz
DimMyArray
Obtener todos los registros
Mimatriz = RS.GetRows
Consigue los primeros 10 registros
Mimatriz = RS.GetRows(10)
Para fila = 0 a UBound(MyArray, 2)
Para col = 0 a UBound(MyArray, 1)
Respuesta.Escribir (col, fila) & "<br>"
Próximo
Próximo
Pasar matriz a otra página
Hay muchas formas de pasar una matriz a otra página. Actualmente existen tres métodos:
Defina una cadena separada por comas y luego use la función Dividir para volver a crear la matriz en la página siguiente.
Almacene la matriz en una variable de sesión y llámela en la página siguiente.
Las matrices se pasan a través del área oculta del formulario, se separan automáticamente por comas y luego se usa la función Dividir para recrear la matriz.
Los dos primeros métodos son buenos, pero ambos son más complicados que el tercero. Aquí sólo presentaremos el tercero porque es el más simple y efectivo.
1.asp:
<%
oscuro yo
atenuar miArray(20)
para I=0 a 20
myArray(I)="Artículo" & yo
próximo
%>
<html>
<cuerpo>
<formulario método="publicar" acción="2.asp">
<%
para I=0 a ubound(myArray)
respuesta.escribir "<tipo de entrada=nombre oculto=valor de myArray='" & myArray(I) & "'>"
próximo
%>
<p>
<tipo de entrada="enviar">
</formulario>
</cuerpo>
</html>
Lo que hicimos arriba es usar un campo implícito separado para almacenar cada elemento de la matriz en un formulario. Veamos la página siguiente:
2.asp
<html>
<cuerpo>
<%
cadena de arreglo tenue
atenuar mi matriz
oscuro yo
arrString=solicitud("miMatriz")
miArray = dividir(arrString,",")
para I=0 a ubound(myArray)
respuesta.escribir "Elemento "&I&" = " & myArray(I) & "<br>" & vbCrLf
próximo
%>
</cuerpo>
</html>
Artículos que te pueden interesar: