Ir para conteúdo

POWERED BY:

Arquivado

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

PedBolo

Variavel funciona so uma vez

Recommended Posts

Pessoal,

 

estou tentando fazer um sistema de banners mas acontece que a variavel so retorna valor uma unica vez, na proxima que tento usar ela já esta vazia.

 

A variavel é a Arq, quando faço a verificação do banner para ver se é SWF ou não, ele funciona, entra dentro do if, mas na hora de escrever o nome do arquivo ele não escreve nada.

 

Function Publicidade(Id,Larg,Altu,Arq,Alvo)	Dim StrPublicidade	If Right(Arq,3) = "swf" Then		StrPublicidade = "<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" codebase=""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"" width=""" & Larg & """ height=""" & Altu & """>" & Chr(13)		StrPublicidade = StrPublicidade & "<param name=""movie"" value=""imagens/banner/" & Arq & """ />" & Chr(13)		StrPublicidade = StrPublicidade & "<param name=""quality"" value=""high"" />" & Chr(13)		StrPublicidade = StrPublicidade & "<embed src=""imagens/banner/" & Arq & """ quality=""high"" pluginspage=""http://www.macromedia.com/go/getflashplayer"" type=""application/x-shockwave-flash"" width=""" & Larg & """ h/eight=""" & Altu & """></embed>" & Chr(13)		StrPublicidade = StrPublicidade & "</object>" & Chr(13)	Else		StrPublicidade = "<a href=""publicidadeRedirecionar.asp?Id=" & Id & """ target=""" & Alvo & """><img alt="""" src=""imagens/banner/" & Arq & """ width=""" & Larg & """ height=""" & Altu & """ border=""0""></a>"	End IF		Publicidade = StrPublicidadeEnd Function

vlw galera

 

ateh mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi..é dentro dessa função que ela funciona só uma vez?:Ou você ta tentando utilizar ela fora da função ..!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou usando dentro da funcao, ai vai um exemplo mais simples:

 

Function Teste(Var)

Response.Write("Var contém " & Var & "<br>")

Response.Write("Var contém " & Var & "<br>")

Response.Write("Var contém " & Var & "<br>")

Response.Write("Var contém " & Var & "<br>")

End Function

 

Teste("123")

 

a funcao retorna

 

Var contém 123

Var contém

Var contém

Var contém

 

eu não sei por que isso tah acontecendo mas eh bem estranho

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho.. se ta acontecendo isso é problema com seu servidor.eu acabei de rodar seu codigo aqui e apareceu:Var contém 123Var contém 123Var contém 123Var contém 123Contate o suporte e explique o que esta ocorrendo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

dark0,

 

esse ai é soh um exemplo mesmo, mas o q acontece são com os dados que vem de um banco, o problema é o mesmo, retorna só na primeira vez assim:

 

Do While Not Rs.EOF

Response.write Rs("Campo3") & "<br>"

Response.write Rs("Campo3") & "<br>"

Response.write Rs("Campo3") & "<br>"

Response.write Rs("Campo3") & "<br>"

Rs.MoveNext

Loop

 

só retorna o primeiro

e não adianta eu fazer assim:

 

Do While Not Rs.EOF

Dim Var

Var = Rs("Campo3")

 

Response.write var & "<br>"

Response.write var & "<br>"

Response.write var & "<br>"

Response.write var & "<br>"

Rs.MoveNext

Loop

 

ou da maneira que eu estou fazendo:

 

Do While Not Rs.EOF

Response.Write FuncaoTeste(Rs("Campo3"))

Rs.MoveNext

Loop

 

Function FuncaoTeste(Var)

Dim Resposta

 

Resposta = var & "<br>"

Resposta = Resposta & var & "<br>"

Resposta = Resposta & var & "<br>"

Resposta = Resposta & var & "<br>"

 

FuncaoTeste = Resposta

 

End Function

 

sempre ele retorna soh o primeiro

 

se for ajudar, estou usando banco MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum karamemso colocando aquele codigo simples que você passou .. deveria aparecer a mesma coisa que eu te mostrei ali.você ta rodando isso localmente, ou na internet?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aquele codigo simples funciona, era so um exemplo mesmo, o problema soh acontece com dados que vem do banco, como nestes tres exemplos ai em cima....to rodando na net

Qual o valor de StrPublicidade após chamar a função?

a StrPublicidade vem com todo conteudo que eu indiquem a ela, menos o nome do arquivo do banner, pois foi usado para verficar se swf ou nao, olha o que ele retornou de um banner gif:<a href="publicidadeRedirecionar.asp?Id=141" target="_blank"><img alt="" src="imagens/banner/" width="468" height="60" border="0"></a>em banner swf a mesma coisa, a StrPublicidade retorna todos os dados menos o nome do arquivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

aquele codigo simples funciona, era so um exemplo mesmo, o problema soh acontece com dados que vem do banco, como nestes tres exemplos ai em cima....to rodando na net

Qual o valor de StrPublicidade após chamar a função?

a StrPublicidade vem com todo conteudo que eu indiquem a ela, menos o nome do arquivo do banner, pois foi usado para verficar se swf ou nao, olha o que ele retornou de um banner gif:<a href="publicidadeRedirecionar.asp?Id=141" target="_blank"><img alt="" src="imagens/banner/" width="468" height="60" border="0"></a>em banner swf a mesma coisa, a StrPublicidade retorna todos os dados menos o nome do arquivo
Suspeitei disso mesmo... Então verifique o conteúdo da variável ARQ antes de chamar a função. Dê um response.write só pra conferir.. eu tenho quase certeza que ela deve estar vazia.Assim Right(ARQ,3) seria vazio, e portanto diferente de "swf", e por isso está entrando no ELSE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha feito este teste e a variavel possui o nome do arquivo, mas ela fica vazia depois da verificação, tanto que nos banners que são SWf ele escreve o que esta no if do swf, ou seja ele entra no if normalmente...o estranho os dados soh aparecerem uma vez :\

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tinha feito este teste e a variavel possui o nome do arquivo, mas ela fica vazia depois da verificação, tanto que nos banners que são SWf ele escreve o que esta no if do swf, ou seja ele entra no if normalmente...o estranho os dados soh aparecerem uma vez :\

Achei que estivesse entrando SEMPRE no ELSE.Quando você escolhe um banner swf ele entra no IF e monta a string sem o nome do arquivo??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei que estivesse entrando SEMPRE no ELSE.Quando você escolhe um banner swf ele entra no IF e monta a string sem o nome do arquivo??

isso, ele soh retorna dados na primeira vez que uso a var na segunda vez em diante ela jah esta em branco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei que estivesse entrando SEMPRE no ELSE.Quando você escolhe um banner swf ele entra no IF e monta a string sem o nome do arquivo??

isso, ele soh retorna dados na primeira vez que uso a var na segunda vez em diante ela jah esta em branco
CaraFiz o seguinte teste sem alterar em nada sua função:Id = "12312"Larg = "100"Altu = "100"Arq = "teste.gif"Alvo = "xxx"Response.write (Publicidade(Id,Larg,Altu,Arq,Alvo))Testei tanto usando teste.gif quanto teste.swf e funcionou corretamente.Verifique as variáveis que você está passando como parâmetro... continuo achando que sua variável ARQ está vazia fora da função, antes de ser passada como parâmetro, pois não tem motivo pra variável funcionar na verificação do IF e ficar em branco depois.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é kra, toh achando estranho mesmo, eu fiz todos os testes mas ele soh retorna dados uma unica vez, alias isso não ocorre nesta função em todas as páginas e scripts tem o mesmo problemas, dados que provem do banco soh pode ser usado uma vez...tem alguma coisa a ver com o banco? pois o script nos testamos e esta funcionando normalmente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

poe uma variavel local na função tiozinhoFunction Teste(Var)VarLocal = VarResponse.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")End FunctionTeste("123")

Compartilhar este post


Link para o post
Compartilhar em outros sites

poe um dim dentro da função entaoFunction Teste(Var)Dim VarLocal VarLocal = VarResponse.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")Response.Write("Var contém " & VarLocal & "<br>")End FunctionTeste("123")

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi assim que eu fiz...o script estah funcionando, acontece q soh estah podendo usar o conteudo da variavel, parametro ou objeto somente uma vez... depois disso ela fica vazia... lembrando q é somente com dados do recordset...

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde voce armazena os dados do RS? ou joga direto na chaamda da função?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Function Publicidade(Id,Larg,Altu,Arq,Alvo)	If Right(Arq,3) = "swf" Then		StrPublicidade = "<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" codebase=""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"" width=""" & Larg & """ height=""" & Altu & """>" & Chr(13)		StrPublicidade = StrPublicidade & "<param name=""movie"" value=""imagens/banner/" & Arq & """ />" & Chr(13)		StrPublicidade = StrPublicidade & "<param name=""quality"" value=""high"" />" & Chr(13)		StrPublicidade = StrPublicidade & "<embed src=""imagens/banner/" & Arq & """ quality=""high"" pluginspage=""http://www.macromedia.com/go/getflashplayer"" type=""application/x-shockwave-flash"" width=""" & Larg & """ h/eight=""" & Altu & """></embed>" & Chr(13)		StrPublicidade = StrPublicidade & "</object>" & Chr(13)	Else		StrPublicidade = "<a href=""publicidadeRedirecionar.asp?Id=" & Id & """ target=""" & Alvo & """><img alt="""" src=""imagens/banner/" & Arq & """ width=""" & Larg & """ height=""" & Altu & """ border=""0""></a>"	End IF		Publicidade = StrPublicidadeEnd FunctionResponse.write Publicidade(3,300,400,"teste.gif","_blank")%>

Fiz este teste e funcionou normalmente, verifique se está chamando a função corretamente, talvez está faltando algum parâmetro na hora de chamar a função.

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.