quarta-feira, fevereiro 14, 2007

Vetor com tamanho dinâmico e variável em ASP

Sempre uso vetor variável... arrays redimensionáveis. Por quê? Porque não sei a quantidade de itens que serão inseridos! Mas no ASP eu sempre tinha um problema.... eu sempre esquecia a maneira correta de declarar as arrays e perdia muito tempo até achar o jeito certo. Eu sou assim... sempre tenho certeza que vou lembrar e na hora do vamos ver eu esqueço. Aí tenho que testar as maneiras ou copiar de outro script. A reutilização é normal, mas consultar como se declara uma variável é deprimente para um programador! Então aí vai a maneira correta de fazer isso, criando um vetor dinamicamente:

<%
tamanho = 20
Dim arrNomes()
ReDim arrNomes(tamanho)
%>

Assim temos um vetor arrNomes com tamanho de 20 criado dinamicamente.
E se eu quiser alterar o tamanho.... vamos a um exemplo:

<%
tamanho = 0
Dim arrBlablabla
ReDim arrBlablabla(tamanho)
' não precisa nem ter a variável tamanho, basta fazer
ReDim arrBlablabla(0)

While not rs.eof
ReDim Preserve arrBlablabla(UBound(arrBlablabla)+1)
arrBlablabla(UBound(arrBlablabla)) = rs("cd_usuario")
rs.MoveNext
Wend
%>

Esse código acima cria um vetor de tamanho 0 e depois, para cada registro encontrado no RecordSet, ele altera o tamanho do vetor e na posição criada, joga o código do usuário. É simples, mas quando se bate o olho parece que é difícil. Só parece. Logicamente você deve antes criar uma conexão com o banco e coisas mais, mas a lógica é essa. Pode ser que haja outra maneira, mas, se tratando de exemplo, acho que é válido!

Abraço!

2 comentários:

Anônimo disse...

Não há nenhum código acima....

Anônimo disse...

muito bom, estava com dificuldades para chegar neste objetivo,e graças a sua dica consegui, funciona que uma beleza