Jul 31

Ordenar Matriz

Tag: ASP, Programacióndeambulando @ 8:34 pm

Una función que he desarrollado, supongo que muy útil, se le pasa una matriz, el campo por el que lo queremos ordenar, y el orden, et tachán!!!

uso: matriz=orderMatrixBy(matriz,1,”asc”)

function orderMatrixBy(matriz,campo,orden)’se pasa una matriz, el campoa ordenar, y el tipo de orden, y nos devuelve el array ordenado!!

if isarray(matriz)=true and isnumeric(campo)=true then
dim i,j,aux,total,totalCampos
total=ubound(matriz,2)-1′total registros a recorrer, el -1 es por que se evita a llegar hasta el ultimo
totalCampos=Ubound(matriz, 1)’total de campos
redim aux(totalCampos)’el vector auxiliar para guardar la posicion de la matriz
dim desordenado:desordenado=true

if cint(campo)<=totalCampos then’si el campo que se le pasa es menor que o igual al total de campos

while desordenado’mientras este desordenado….
desordenado=false’le decimos que se ha ordenado

for i= 0 to total’recorremos todo el array
if (orden=”asc” and matriz(campo,i)>matriz(campo,i+1)) or (orden=”desc” and matriz(campo,i)<matriz(campo,i +1)) then’si se tiene que ordenar
for J = 0 to totalCampos’movemos toda la posicion de la matriz a un vector auxilias
aux(j)=matriz(j,i)
next

for J = 0 to totalCampos’la posicion + 1 a la anterior
matriz(j,i)=matriz(j,i+1)
                       next

for J = 0 to totalCampos’la posicion anterior guardada en aux en la posicion mas 1
matriz(j,i+1)=aux(j)
next
desordenado=true’sigue desordenado
end if
next
wend

end if

redim aux(0)’no lo usaremos mas

end if

orderMatrixBy=matriz’devolvemos la matriz

end function

4 Responses to “Ordenar Matriz”

  1. Niluc says:

    buenas,
    sabes algo a cerca de las validaciones de cif, nif y nie en asp.
    o por lo menos un NIE que sea correcto para comprobar que mi funcion es correcta??

    gracias un salduo

  2. deambulando says:

    hola….si usas el google, y buscas validación NIF asp….tendrás tu respuesta, http://www.mistrucos.net/truco-visual-basic-net-validar-nif-226_4.htm

    nos ha salido un programador perezoso, vaya :D

    sin embargo nadie ha desarrollado una función para ordenar una matriz por eso lo puse

  3. Niluc says:

    jajjajaja, eso de que he salido un programador perezoso….
    veo que tampoco te has parado a mirarlo mucho, el NIF es muy facil de validar, el unico problema es el NIE (que es para extrangeros), por lo visto es casi igual que el nifk, pero el unico problema es q no encuentro NIEs validos para comprobar si mi funcion es correcta,

    pero gracias de todos modos

    PD: He llegado a tener 15 ventanas con 15 validaciones diferentes XDD

    un saludo

  4. deambulando says:

    jajaja, no se ni lo que es un NIE, bueno cuando encuentres la solución pegala, a todo eso, ventanas??? no usas FIREFOX???? uau

Leave a Reply