Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manga

Problema com Matriz

Recommended Posts

Pessoal, ainda não sei muito sobre matrizes mas tenho que resolver um problema.

 

Tenho um script que captura dados externos de um TXT e precisa transformá-los em uma matriz com 2 campos: ID e Nome. Os dados estão organizados em uma única linha no TXT separados por TABs:

 

ID1 (TAB) NOME1 (TAB) ID2 (TAB) NOME2...

 

Estou recebendo o seguinte erro:

 

Erro de tempo de execução do Microsoft VBScript error '800a0009'

Subscrito fora do intervalo: 'j'

/spcar/update.asp, line 51

 

O código é esse:

 

ASP [/tr][tr]'Cria array com os dados de texto

arrayTXT = Split(texto, vbTab)

Total = Ubound(arrayTXT)

 

'Cria matriz de 2 dimensões: arrayMarca(numCampo,numRec)

 

Dim arrayMarca()

numRecs = Total / 2

Redim arrayMarca(1,numRecs)

 

j = 0

For i = 0 to Total

 

'Se i for par é o ID

If Fix(i/2) - (i/2) = 0 Then

arrayMarca(0,j) = arrayTXT(i) '***************LINHA 51

 

'Se i for impar é o NOME

ElseIf Fix(i/2) - (i/2) <> 0 Then

arrayMarca(1,j) = "'"&arrayTXT(i)&"'"

End If

j = j + 1

Next

 

TotalMarca = Ubound(arrayMarca)

For i = 0 to TotalMarca

Response.Write arrayMarca(0,i)&": "&arrayMarca(1,i)&"<br>"

Next

[/tr]

 

Obrigado pela ajuda!

Manga

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho.... faz assim...manda printar na tela o valor de numRecs e j antes de rodar essa linha.. ai posta ai..mas eh assim... você manda ele fazer um loop ateh o TOTAL... ok...e a variavel q você usa bidmensional eh criada pela avariavel numRecs q eh total /2...agora imagine a situação...total = 10numRecs = total / 2 '---5redim array(1,5)ai no loop... q eh baseado no total.. o j assume o valor de 6 por exemplo...array(1,6)entendeu... fora do intervalo... 6 > 5..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.