Ir para conteúdo

POWERED BY:

Arquivado

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

fabiosc80

Listagem em array

Recommended Posts

Oi Pessoal oque vou falar aqui é humilhante

 

Mas nao sei mexer com array.

 

Preciso fazer uma coisa aqui e preciso usar ele mas nao sei como.

 

Será que vcs poderiam me ensinar em definitivo isso.

 

Vou explicar oque preciso.

 

tenho o seguinte código:

 

<%        For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%Next %>

Ele lista os produtos que estao sendo comprados.

Só que preciso jogar toda essa lista pro corpo do e-mail que vai estar na outra página

 

Entao pensei em usar variavel para deixar tudo igualzinho como esta nessa tela atual pra poder mandar pra outra tela que tem o código do e-mail mas nao consegui pois ele repete só uma vez.

Entao me falaram pra usar array mas nao consigo entender como usar isso.

 

Alguem poderia me explicar.

 

Sei que é vergonhoso mas tenho que perguntar isso.

 

Desculpem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Pessoal oque vou falar aqui é humilhante

 

Mas nao sei mexer com array.

 

Preciso fazer uma coisa aqui e preciso usar ele  mas nao sei como.

 

Será que vcs poderiam me ensinar em definitivo isso.

 

Vou explicar oque preciso.

 

tenho o seguinte código:

 

<%        For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%Next %>
Ele lista os produtos que estao sendo comprados.

Só que preciso jogar toda essa lista pro corpo do e-mail que vai estar na outra página

 

Entao pensei em usar variavel para deixar tudo igualzinho como esta nessa tela atual pra poder mandar pra outra tela que tem o código do e-mail mas nao consegui pois ele repete só uma vez.

Entao me falaram pra usar array mas nao consigo entender como usar isso.

 

Alguem poderia me explicar.

 

Sei que é vergonhoso mas tenho que perguntar isso.

 

Desculpem.

<{POST_SNAPBACK}>

Tipo, vamos supor que voce tenha o array arrTeste(n) e deseja colocar os valores dele em uma variavel , listando-o....

 

ASP

[*]

 

[*]iMax Ubound(arrTeste)

 

[*]

 

[*]

 

[*]html ""

 

[*]For i = 0 to iMax

 

[*] html = html & "<br>Codigo: " & arrTeste(i)

 

[*]Next

 

[*]

 

[*]

 

Espero ter ajudado em algo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo quando eu falei que era vergonhoso pra mim era até por que nao sei nem criar o array, em como jogar os valores nele entende?

 

nao sei nada de array.

 

como cria-lo?

 

Oi Pessoal oque vou falar aqui é humilhante

 

Mas nao sei mexer com array.

 

Preciso fazer uma coisa aqui e preciso usar ele  mas nao sei como.

 

Será que vcs poderiam me ensinar em definitivo isso.

 

Vou explicar oque preciso.

 

tenho o seguinte código:

 

<%        For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%Next %>
Ele lista os produtos que estao sendo comprados.

Só que preciso jogar toda essa lista pro corpo do e-mail que vai estar na outra página

 

Entao pensei em usar variavel para deixar tudo igualzinho como esta nessa tela atual pra poder mandar pra outra tela que tem o código do e-mail mas nao consegui pois ele repete só uma vez.

Entao me falaram pra usar array mas nao consigo entender como usar isso.

 

Alguem poderia me explicar.

 

Sei que é vergonhoso mas tenho que perguntar isso.

 

Desculpem.

<{POST_SNAPBACK}>

Tipo, vamos supor que voce tenha o array arrTeste(n) e deseja colocar os valores dele em uma variavel , listando-o....

 

ASP

[*]iMax Ubound(arrTeste)<br /><br /><br />html ""<br />For i = 0 to iMax<br /> html = html & "<br>Codigo: " & arrTeste(i)<br />Next

 

Espero ter ajudado em algo

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fábio,.

 

Para começar....

 

Para criar um Array

 

Dim myArray

Redim myArray(4)

 

MyArray é o nome do Array,

Redim myArray(4) , estou indicando que o meu array possuirá 5 posições.!!!!

 

Cinco ???...Sim 5....Pois o Array é iniciado no Zero....

Depois de criado o Array basta popular as informações, indicando o número dos índices..

 

MyArray(0)= "Meu nome"

MyArraY(1) = "É"

MyArray(2)  = "Marcelo"

MyArray(3)  = "Eduardo"

MyArray(4)  = "Barcellos"

 

É importante ressaltar que isto é uma coleção de valores.

E para visualizar uma coleção de valores, utilizaremos uma função que é nativa do ASP....Ubound()..

 

Esta função retorna a quantidade de índices que existem no Array.

 

Por exemplo

Response.Write Ubound(myArray)

 

Será o retornado o número 4.

 

Portanto, para passarmos por todos valores do Array, criamos um laço de repetição "For...Next"

 

For i = 0 To Ubound(MyArray)

 

Response.Write myArray(i)

 

Next

 

Em "portugues" isso ficaria assim

 

 

De i = 0 para TotalMatriz(MyArray)

 

Escreva myArray(i)

 

Próximo

 

 

Espero ter ajudado....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo valeu cara, agora ja sei criar o array porem fiz aqui e ta dando um erro ve só:o código ta assim:

<%        For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%Next %><%Dim myArrayRedim myArray(2)MyArray(0) = SepararQtda(intI)MyArraY(1) = SepararPreco(intI)MyArray(2) = TB5("NomedoProduto")For i = 0 To Ubound(MyArray)Response.Write myArray(i)Next%>
Ta dando esse erro aqui:

Microsoft VBScript runtime error '800a0009' Subscript out of range: '2' /multilabor/produtos1a.asp, line 213

que é essa linha aqui:

]MyArray(0) = SepararQtda(intI)

Mas não ta certo Marcelo?Pq isso ?Não entendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce já havia aberto um laço "For..Next" lá em cima.....Quando voce saiu do laço a Variavel (IntI) ficou com o valor maior do que existia......Entedeu ???Voce vai ter que incluir esse pedaço do código

MyArray(0) = SepararQtda(intI)MyArraY(1) = SepararPreco(intI)MyArray(2) = TB5("NomedoProduto")

Dentro do Laço de Repetição de cima....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo deu certo porem algo deu errado.

 

eu fiz assim:

 

<%   	 Dim myArrayRedim myArray(2)   For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%MyArray(0) = SepararQtda(intI)MyArraY(1) = SepararPreco(intI)MyArray(2) = TB5("NomedoProduto")%><%Next %><%For i = 0 To Ubound(MyArray)Response.Write myArray(i)Next%>Só que ele só mostra sempre o ultimo produto comprado.Nao lista um embaixo do outro.

Voce já havia aberto um laço "For..Next" lá em cima.....

 

Quando voce saiu do laço a Variavel (IntI) ficou com o valor maior do que existia......Entedeu ???

 

Voce vai ter que incluir esse pedaço do código

MyArray(0) = SepararQtda(intI)

MyArraY(1) = SepararPreco(intI)

MyArray(2) = TB5("NomedoProduto")

Dentro do Laço de Repetição de cima....

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É colega.....Vamos ter que complicar isso um pouco mais....O Array pode ter também mais de um índice....(!!!!!)....Dim MyArrayRedim MyArray(5,2)No seu caso, só está aparecendo o último produto porque você esta utilizando sempre os mesmo indices cada vez que FOR..NExt é executado.Como voce terá vários registros, voce terá que fixar a quantidade de campos. Que, será a segunda variavel (?,2) que está no REDIM lá em cima.Enquanto a primeira variavel sera a quantidade de registros encontrados no primeiro Array. Ou seja, Ubound(SeparaQTDE).Seu for next ficaria assim:

For intI = 0 To Ubound(SeparaQtde)......MyArray(intI,0) = SepararQtda(intI)MyArraY(intI,1) = SepararPreco(intI)MyArray(intI,2) = TB5("NomedoProduto")Next

E para printar na tela

For i = 0 To Ubound(mYArray)  Response.Write MyArray(i,0) & "<br>"  Response.Write MyArray(i,1) & "<br>"  Response.Write MyArray(i,2) & "<br>"Next

Entendeu ???Ou Ficou complicado !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brother.. vergonhoso, eh Roubar e naum poder Carregar, huahuahua

 

Para aprender, nunca se deve ter vergonha. Tem que ser humilde e perguntar. Só isso!

 

Veja só..

 

ASP

[*]<%  

 

[*]Dim myArray

 

[*]Redim myArray([COLOR=purple]UBound(SepararQtda))[/color]

 

[*]

 

[*]For intI = 0 To UBound(SepararQtda)

 

[*]%>

 

[*]Quantidade: <%=SepararQtda(intI)%><br>

 

[*]Valor Unitário: <%=SepararPreco(intI)%><br>

 

[*]Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> 

 

[*]<%Session("Prod"SepararPro(intI)%>

 

[*]<%Sql5 "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)

 

[*]Set TB5 BC.Execute(Sql5)%>

 

[*]Produto: <%=TB5("NomedoProduto")%><p>

 

[*]<%MyArray([COLOR=red]intI[/color]) SepararQtda(intI)

 

[*]MyArraY([COLOR=red]intI[/color]) SepararPreco(intI)

 

[*]MyArray([COLOR=red]intI[/color]) TB5("NomedoProduto")

 

[*]%>

 

[*]<%

 

[*]Next 

 

[*]%>

 

[*]<%

 

[*]For i = 0 To Ubound(MyArray)

 

[*]

 

[*]Response.Write myArray(i)

 

[*]

 

[*]Next

 

[*]%>

a alteração em roxo, eu naum lembro se no asp funciona.. mas tenta ae

 

abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu só nao entendi isso aqui:

Como voce terá vários registros, voce terá que fixar a quantidade de campos. Que, será a segunda variavel (?,2) que está no REDIM lá em cima.

como assim????????

 

 

 

 

 

 

 

 

 

 

É colega.....

 

Vamos ter que complicar isso um pouco mais....

O Array pode ter também mais de um índice....(!!!!!)....

 

Dim MyArray

Redim MyArray(5,2)

 

No seu caso, só está aparecendo o último produto porque você esta utilizando sempre os mesmo indices cada vez que FOR..NExt é executado.

 

Como voce terá vários registros, voce terá que fixar a quantidade de campos. Que, será a segunda variavel (?,2) que está no REDIM lá em cima.

 

Enquanto a primeira variavel sera a quantidade de registros encontrados no primeiro Array. Ou seja, Ubound(SeparaQTDE).

 

Seu for next ficaria assim:

For intI = 0 To Ubound(SeparaQtde)

......

 

MyArray(intI,0) = SepararQtda(intI)

MyArraY(intI,1) = SepararPreco(intI)

MyArray(intI,2) = TB5("NomedoProduto")

 

Next

E para printar na tela

 

For i = 0 To Ubound(mYArray)

  Response.Write MyArray(i,0) & "<br>"

  Response.Write MyArray(i,1) & "<br>"

  Response.Write MyArray(i,2) & "<br>"

Next

Entendeu ???

Ou Ficou complicado !!!

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dark,É que um colega meu me esculachou praticamente hoje dizendo que por eu nao saber isso que é o basico da programação eu nao chegaria a lugar nenhum.Puts cara fiquei mó mal aqui.Alias estou ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabio...Quando fazemos o "Redim".....Nós estamos indicando quantas posições terão nosso Array....

ReDim ....(5,2)

Quando digo fixar, é porque será uma quantidade fixa.....que é o "2" no Redim.O número cinco, será igual a quantidade registros que serão incluidos, e portanto será variavel e não fixa.Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que entendi.

alias deu certo aqui porem como eu cato esse array agora e jogo pra uma variavel oque ele ta listando?

 

eu tentei fazer uma soma mas deu conflito no array

 

olha como ficou o código

 

<%   	 Dim myArrayRedim myArray(2,2)   For intI = 0 To UBound(SepararQtda)%>Quantidade: <%=SepararQtda(intI)%><br>Valor Unitário: <%=SepararPreco(intI)%><br>Valor: <%=SepararQtda(intI) * SepararPreco(intI)%><br> <%Session("Prod") = SepararPro(intI)%><%Sql5 = "SELECT NomedoProduto FROM Produtos WHERE Codigo="&SepararPro(intI)Set TB5 = BC.Execute(Sql5)%>Produto: <%=TB5("NomedoProduto")%><p><%MyArray(intI,0) = SepararQtda(intI)MyArraY(intI,1) = SepararPreco(intI)MyArray(intI,2) = TB5("NomedoProduto")%><%Next %><%For i = 0 To Ubound(MyArray)  Response.Write MyArray(i,0) & "<br>"  Response.Write MyArray(i,1) & "<br>"  Response.Write MyArray(i,2) & "<br>"Next%>

pior que essa é a parte facil pois essa é a parte que nao grava no banco.

vai ter uma pasrte que é igual mas eu ao clicar em finalizar compra vai ter que gravar no banco e mandar por e-mail.

 

Mas se eu nao enviar o valor desse resultado do array pra variavel nao posso recuperar na outra pagina certo?

 

 

 

 

 

 

 

Fabio...

 

Quando fazemos o "Redim".....

Nós estamos indicando quantas posições terão nosso Array....

ReDim ....(5,2)

Quando digo fixar, é porque será uma quantidade fixa.....que é o "2" no Redim.

 

O número cinco, será igual a quantidade registros que serão incluidos, e portanto será variavel e não fixa.

 

Entendeu ?

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o problema nao tem erro mas quando eu faço assim por exemplo:

 

<%

Msg = ""

For i = 0 To Ubound(MyArray)

Msg = Msg & MyArray(i,0) & "<br>" &

MyArray(i,1) & "<br>" &

MyArray(i,2) & "<br>"

Next

 

response.write Msg

%>

 

tava dando erro.

Agora arrumei...tava dando pau porque esqueci dos & rs rs rs

 

Bom aqui ta certo.

Vou acabar de montar aqui e quando eu for fazer o que tem que inserir no banco de dados você me ajuda denovo?

 

tipo sao dois, esse que você me ajudou não insere no banco.

 

tipo o outro é a mesma coisa porem quando a pessoa clicar em comprar no outro vai cadastrar no banco todos os pedidos tb entendeu?

 

 

 

Qual o erro ...

O Código tá certinho !!!!

<{POST_SNAPBACK}>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fábio...Só mais um coisa.....Voce pode criar uma Session e lhe atribuir um Array

Session("MyArray") = MyArray

E Depois

MeuArray2 = Session("myArray")For i = 0 To Ubound(meuArray2).......Next

Talvez ajude em passar os parâmetros !!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o jeito que eu fiz funcionou esse que você ta dizendo é mais facil?

 

 

Fábio...

 

Só mais um coisa.....

Voce pode criar uma Session e lhe atribuir um Array

 

Session("MyArray") = MyArray

E Depois

 

MeuArray2 = Session("myArray")

 

For i = 0 To Ubound(meuArray2)

 

.......

 

Next

Talvez ajude em passar os parâmetros !!!!!

<{POST_SNAPBACK}>

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.