Jump to content


Photo

Função De Concatenação - Preciso!


  • Faça o login para participar
6 replies to this topic

#1 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 25/01/2007, 20:15

Fala pessoal,

andei procurando na internet e nada de achar a maledita.

O que eu preciso é de uma função que faça concatenação, pois estou com esse problema em um script que fiz aqui.

A base do script é (por cima):

For var = ... to ... 'percorre os numeros informações, por exemplo, do numero 2 até o 12

if var < 10 then 'acrescenta um 0 nos valores menores que 10
valor = "0" & var
else
valor = var
end if

texto02 = "teste texto 02" 'aqui eu defino os numeros do "for var =..." que vao ter conteudo
texto07 = "teste texto 07"

blablabla 'agora aqui nessa linha que entre o meu problema. Eu preciso concatenar variaveis, sendo que uma delas nao existe. Vou explicar melhor, na teoria o codigo seria assim:

if (texto&valor) <> "" then
'mostra o conteudo do texto02 ou texto07 no caso, vai depender de qual ponto o "for var =..." esta passando.

-----
Acontece que texto&var nao resolve meu problema, pois "texto" nao existe. A intenção no momento em que eu pus aquele "if" com o texto&var era de pegar a variavel "valor" e anexar junto a palavra texto, formando entao um nome composto pelos dois elementos que aí sim seria uma variavel (no caso do exemplo, formaria texto02, texto03, texto04....até texto12). Deu pra entender?

É algo simples mas complicado de explicar.

se eu colocar "texto"&var nao me adianta tb, porque vai me imprimir na tela o nome que deveria ser uma variavel (vai imprimir "texto02". "texto03" e etc, e nao é isso que eu quero, eu quero o script junte os valores e apos juntar que interprete como variavel).

Resumindo: preciso de uma função de concatenação. Algo que eu possa usar dessa forma:

If Concatenar("texto", valor) <> "" then
.....



Espero que possam me ajudar, tá complicada essa historinha aí hehehe

valeu
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 25/01/2007, 20:40

Eu não entedi bulufas, so entedi que vc quer concatenar uma string ...
Tipo assim a única coisa que posso dizer é, tente concatenar antes de verificar a string tipo assim:

<%
'Texto_1 = "AUUA-"
Texto_2 = "AAA"

' Junta em uma nova String pra depois verificar
Novo_Texto = (Texto_1 & Texto_2)

If (Novo_Texto <> "") Then
 Response.Write "Não está Vazio!"
End If
%>

Há e eu desconheço qualquer função do tipo "Concatenar("texto", valor)" isso não existe a unica forma é com o "&" mesmo ...

Edição feita por: sk15, 25/01/2007, 20:41.


#3 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 25/01/2007, 22:18

Se entendi o que ele quer é dinamicamente definir qual o nome da variavel que vai ser verificada.


EDIT: Motivo falei besteira X}

[]s

Edição feita por: siola, 26/01/2007, 09:47.


#4 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 25/01/2007, 22:25

Deixa eu ver se entedi o que vc quiz dizer, que é trasformar um valor/ou nome qualquer numa variável para verificação posterior? Se for isso use EVAL() ...

eval("NovaVariavel = ""Rules""")
Respose.Write NovaVariavel

http://www.aspdev.or...p-eval-execute/

Pelo menos em PHP isso é muito comum:
eval("\$NovaVariavel = \"Rules\";")
echo $NovaVariavel;

Edição feita por: sk15, 25/01/2007, 22:28.


#5 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 26/01/2007, 07:43

ahhhhhh postei um texto gigante e o browser deu um voltar...

bom, vamos lá. Vou resumir o que eu postei.

O siola acertou em cheio. Sk15, esse primeiro código que vc postou (com o &) não dá certo porque não existe variavel "texto" no meu script. "Texto" é apenas uma palavra qualquer, sem valor algum, que unida a uma variavel (a variavel "valor") aí sim tem como resultado uma variavel (no caso do exemplo, unida vai formar a variavel "texto02", texto03", "texto04".... e verificar quais delas que tem conteudo. As que forem diferentes de vazio, ele vai exibir o conteudo. Acho que agora ficou mais claro.

É bem o que o siola comentou: "ele quer é dinamicamente definir qual o nome da variavel que vai ser verificada".

Essa função EVAL parece que tá bem mais próxima do que eu quero. Vou dar uma olhada e depois posto aqui!

Valeu

Edição feita por: Firehalk, 26/01/2007, 07:50.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#6 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 26/01/2007, 09:48

A solução do sk15 funciona perfeitamente ;) (me quebrou um galho imenso).

Veja como ficou:
<% texto1 = "a"
texto2 = "b"
texto3 = "c"

for i = 1 to 3
response.write Eval("texto" & i) & "<br>"
next %>

Ps: Editei meu post pra ninguem ver que eu falei besteira hehe =]

#7 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 26/01/2007, 12:33

Maravilha!

valeu caras, não tinha nem idéia de que podia ser tão simples assim, não mesmo.

Nunca tinha ouvido falar na eval (nao mexo com php e asp só as vezes, entao tô bem por fora), mas valeu mesmo, foi de grande ajuda.

Abraços!
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq