Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Em Código Ordenação


thicomp

Pergunta

Por favor, alguém poderia meajudar neste código...

<%

FUNCTION SortArray(varArray)

For i = UBound(varArray) - 1 To 1 Step - 1

MaxVal = varArray(i)

MaxIndex = i

For j = 0 To i

If varArray(j) > MaxVal Then

MaxVal = varArray(j)

MaxIndex = j

End If

Next

If MaxIndex < i Then

varArray(MaxIndex) = varArray(i)

varArray(i) = MaxVal

End If

Next

END FUNCTION

response.write "<html><head><style>a{text-decoration:none;font-family:verdana;}</style></head><body>"

response.write "<br><br><center><table cellpadding=1 cellspacing=1 border=0 width=500>"

response.write "<tr bgcolor='#666666'><td align=center height=35 colspan=2><font face=verdana size=2 color='#ffffff'><b>Usuários</b></font>"

Response.Expires = 0

Response.Buffer = True

session ("it")="usu"

'PAGINAÇÃO DE ARQUIVOS USANDO ARRAY x FSO

Dim iLoop, limite, pagina, totalarq, i, x

Dim vlMaximo, vlMinimo, anterior

Dim ObjFso, ObjArq, ObjPasta, ObjSubPasta

Dim usuario, cor

Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")

Set ObjPasta = ObjFso.GetFolder(server.MapPath("/rel_P_D/Usuarios/"))

limite = 10 ' limite de registros por página

totalarq = ObjPasta.files.count ' total de arquivos encontrados

ReDim arrAvatar((totalarq-1))

Dim y

y = 0

' guardamos cada arquivo dentro de um array

For Each ObjArq in ObjPasta.Files

arrAvatar(y) = left(objArq.Name,3)

y = y + 1

Next

Set ObjPasta = Nothing

Set ObjArq = Nothing

Set ObjFso = Nothing

pagina = Request("pag")

IF pagina = "" Then

IF limite < UBound(arrAvatar) Then

vlMinimo = 0

vlMaximo = (limite-1)

Else

vlMinimo = LBound(arrAvatar)

vlMaximo = UBound(arrAvatar)

End IF

pagina = 1

anterior = ""

Else

vlMinimo = (pagina*(limite-1))+(pagina)

vlMaximo = ((limite-1)*(pagina+1))+((pagina)*1)

IF vlMaximo > UBound(arrAvatar) Then vlMaximo = UBound(arrAvatar)

pagina = pagina + 1

anterior = pagina - 2

IF anterior = 0 Then anterior = ""

End IF

For i = vlMinimo to vlMaximo

if cor= "#d2dfee" then: cor= "#eef3f9" else: cor= "#d2dfee": end if

response.write "<tr bgcolor='"& cor &"'><td height=20 colspan=2><a href=http://rel_P_D/cad1.asp?nome="

response.write arrAvatar(i) &"&org=dt>"

select case arrAvatar(i)

%>

<!--#include file="select.asp"-->

<%

end select

ReDim ArrUsuario(46)

SortArray ArrUsuario

for usuario=1 to UBound(ArrUsuario)

if usuarios<>"" then usuarios=usuarios&","

usuarios=usuario

next

ArrUsuario=split(usuario,",")

response.write ArrUsuario(usuario)

Next

response.write "<tr>"

IF vlMinimo = 0 Then

IF Not (vlMaximo >= (y-1)) Then

End IF

Else

response.write "<td align=left valign=top><a href='ord1.asp?pag="& anterior &"'><img src='img/esq.gif' border=0>anterior</a>"

End IF

IF Not (vlMaximo >= (y-1)) Then

response.write "<td valign=top align=right><a href='ord1.asp?pag="& pagina &"'><img src='img/dir.gif' border=0>próxima</a>"

End IF

response.write "<br><br>"

%>

O erro retornado (refere-se a linha em vermelho)

Microsoft VBScript runtime error '800a000d'

Type mismatch

/rel_P_D/paginacaothi1.asp, line 92

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

tente em vez de assim

ReDim ArrUsuario(46)
SortArray ArrUsuario
for usuario=1 to UBound(ArrUsuario)
if usuarios<>"" then usuarios=usuarios&","
usuarios=usuario
next
ArrUsuario=split(usuario,",")



response.write ArrUsuario(usuario)
faça assim
if usuarios<>"" then usuarios=usuarios&","
usuarios=usuario
next
ArrUsuario=split(usuario,",")

ReDim ArrUsuario(46)
SortArray ArrUsuario
for usuario=1 to UBound(ArrUsuario)


response.write ArrUsuario(usuario)

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, por favor, se puderem dar uma olhada neste código

Ele lê td certinho, só que na hora de imprimir, ele não faz a função "BubbleSort"... Se eu mando imprimir a matriz, sem a formatação da "table", ele me retorna os nomes dos usuários um na frente do outro, sem ao menos um espaço separando-os. Tipo assim: nome1nome2nome3...

Se eu deixar a linha que está em vermelho, chamando a função BubbleSort, me retorna o seguinte erro:

Response object error 'ASP 0106 : 80020005'

Type Mismatch

/rel_P_D/paginacaothi1_2.asp, line 0

An unhandled data type was encountered.

CODE

<!-- #include file = "menu.css" -->

<%@LANGUAGE="VBSCRIPT"%>

<%

Function BubbleSort( matriz )

dim i, j, aux

For i = 0 To UBound(matriz)

For j = 0 To UBound(matriz)

If( matriz(i) < matriz(j) ) Then

aux = matriz(j)

matriz(j) = matriz(i)

matriz(i) = aux

End If

Next

Next

BubbleSort = matriz

End Function

response.write "<html><head><style>a{text-decoration:none;font-family:verdana;}</style></head><body>"

response.write "<br><br><center><table cellpadding=1 cellspacing=1 border=0 width=500>"

response.write "<tr bgcolor='#666666'><td align=center height=35 colspan=2><font face=verdana size=2 color='#ffffff'><b>Usuários</b></font>"

Response.Expires = 0

Response.Buffer = True

session ("it")="usu"

'PAGINAÇÃO DE ARQUIVOS USANDO ARRAY x FSO

Dim iLoop, limite, pagina, totalarq, i, x

Dim vlMaximo, vlMinimo, anterior

Dim ObjFso, ObjArq, ObjPasta, ObjSubPasta

Dim usuario, cor

Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")

Set ObjPasta = ObjFso.GetFolder(server.MapPath("/rel_P_D/Usuarios/"))

limite = 14 ' limite de registros por página

totalarq = ObjPasta.files.count ' total de arquivos encontrados

ReDim arrAvatar((totalarq-1))

Dim y

y = 0

' guardamos cada arquivo dentro de um array

For Each ObjArq in ObjPasta.Files

arrAvatar(y) = left(objArq.Name,3)

y = y + 1

Next

Set ObjPasta = Nothing

Set ObjArq = Nothing

Set ObjFso = Nothing

pagina = Request("pag")

IF pagina = "" Then

IF limite < UBound(arrAvatar) Then

vlMinimo = 0

vlMaximo = (limite-1)

Else

vlMinimo = LBound(arrAvatar)

vlMaximo = UBound(arrAvatar)

End IF

pagina = 1

anterior = ""

Else

vlMinimo = (pagina*(limite-1))+(pagina)

vlMaximo = ((limite-1)*(pagina+1))+((pagina)*1)

IF vlMaximo > UBound(arrAvatar) Then vlMaximo = UBound(arrAvatar)

pagina = pagina + 1

anterior = pagina - 2

IF anterior = 0 Then anterior = ""

End IF

For i = vlMinimo to vlMaximo

if cor= "#d2dfee" then: cor= "#eef3f9" else: cor= "#d2dfee": end if

select case arrAvatar(i)

%>

<!--#include file="select.asp"-->

<%

end select

matriz = split(usuario,";")

for x=0 to UBound(matriz)

BubbleSort(matriz)

'response.write BubbleSort ( matriz )

response.write "<tr bgcolor='"& cor &"'><td height=20 colspan=2><a href=http://rel_P_D/cad1.asp?nome="&arrAvatar(i)&">"&matriz(x)&"</a>"

next

Next

response.write "<tr>"

IF vlMinimo = 0 Then

IF Not (vlMaximo >= (y-1)) Then

End IF

Else

response.write "<td align=left valign=top><a href='paginacaothi1_2.asp?pag="& anterior &"'><img src='img/esq.gif' border=0>anterior</a>"

End IF

IF Not (vlMaximo >= (y-1)) Then

response.write "<td valign=top align=right><a href='paginacaothi1_2.asp?pag="& pagina &"'><img src='img/dir.gif' border=0>próxima</a>"

End IF

response.write "<br><br>"

%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...