Ir para conteúdo
Fórum Script Brasil
  • 0

Array


danyort

Pergunta

Galera,

Eu tenho uma array.

Ex.: var_array = "um, dois, tres"

e eu quero fazer uma comparação assim: ver se uma palavra existe dentro dessa array.

Por exemplo, vou buscar várias palavras de um bd e quero que, se ela exista no array execute uma função, senão executa outra.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Pequeno exemplo que eu fiz pra alguém aki do forum esses tempos:

<%frase="eu gosto de eu gosto de"
laco=split(frase,chr(32))
x = 0
dim buscadas
considera = true
buscadas = array()
for each palavra in laco
     if x > 0 then
        for each palavra2 in buscadas
           if palavra = palavra2 then
              considera = false
           end if
        next
        if considera = true then
           redim preserve buscadas(Ubound(buscadas)+1)
           buscadas(Ubound(buscadas)) = palavra
        end if
     else
        redim preserve buscadas(Ubound(buscadas)+1)
        buscadas(Ubound(buscadas)) = palavra
        x = x + 1
     end if
     considera = true
next
Response.write "Palavras sem repetir: "
for each palavra in buscadas
   response.write palavra & ", "
next
%>

Link para o comentário
Compartilhar em outros sites

  • 0

o que está errado no código:

str1 = "um,dois,tres,quatro,cinco,seis,sete,oito,nove,dez"

a = split(str1, ",")

for i=1 to UBound(a)

intDelSno=Trim(a(i))

if var_str = intDelSno then

response.write "é igual"

else

response.write "é diferente"

end if

next

este código é uma função e o var_str eu vou mandar quando chamar a função.

Link para o comentário
Compartilhar em outros sites

  • 0

só comece seu for com 0 pois 1 é o segundo item do array

abraço..

Link para o comentário
Compartilhar em outros sites

  • 0

mas, entaum, ele não funciona? da erro?

Link para o comentário
Compartilhar em outros sites

  • 0

Vou explicar o que quero fazer exatamente:

estou montando uma busca interna com fso.

Mas tem alguns arquivos que não quero que seja feita a busca, e esses arquivos eu guardo num array.

E na hora que estou fazendo a verificação e vou listar os arquivos encontrados com a palavra que fiz a busca, eu quero ver se aquele nome de arquivo está no meu array ou não. Se estiver, não quero que apareça na listagem, se não então aparece normal.

E quando utilizo esse código ele me retorna que nenhum dos arquivos listados está no array, sendo que 2 estão.

a função tá assim:

function ComparaArray(var_str)

a = split(str1, ",")

comparaarray = false

for i=1 to UBound(a)

intDelSno=Trim(a(i))

if var_str = intDelSno then

comparaarray = true

end if

next

end function

(na variável str1 estão os nomes dos arquivos que não quero que apareça)

e chamo a função assmi:

if ComparaArray(objFolder.Name) = false then

Link para o comentário
Compartilhar em outros sites

  • 0

na variável str1 estão os nomes dos arquivos que não quero que apareça

mas, em que momento do codigo você atribui valores à essa variavel?

quando você chama a funcao.. ela não usa as suas variaveis de dentro do codigo.. a menos que você passe ela como parametro quando chamar a funcao

seu problema provavelmente ta ae..

entendeu o que é?

Link para o comentário
Compartilhar em outros sites

  • 0

é..

quem sabe se você passar a variavel como parametro na funcao funcione

mas, pra testar, cria a variavel dentro da funcao, pra ver se vai funcionar

Link para o comentário
Compartilhar em outros sites

  • 0

como você descobriu o erro?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu apenas criei um novo arquivo somente com aquela função e pedi que escrevesse o retorno dela, e o retorno vinha certo.

Fiz vários testes assim e todos deram certo.

Mas quando executo no meu outro arquivo não me traz o que eu queria.

Agora falta descrobrir o porque, mas pelo menos já não vou mais perder tempo tentando mudar minha função.

Link para o comentário
Compartilhar em outros sites

  • 0

você já tentou passar o array com o nome dos arquivos para a funcao como parametro, e depois ver o resultado?

Link para o comentário
Compartilhar em outros sites

  • 0

ok então..

Link para o comentário
Compartilhar em outros sites

  • 0

sem problemas.. se precisar é só postar

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Putz... achei meu erro!!!! Pura falta de atenção!!!!!!

Sabe o que eu estava fazendo???

Ao invés de eu fazer a comparação com o objFile.Name eu fazia com objFolder.Name. E é óbvio que os nomes das pastas não são iguais aos arquivos.

Desculpa te incomodar tanto sendo que o erro tava ali na cara eu, por muuuuita falta de atenção, não percebia.

E deu certo a minha rotina agora!!!!!!

tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

hmm

como assim?

se você ler todo o conteudo do arquivo, todas as tags se tornam texto, não?

O que você pode fazer, é filtrar tudo de acordo com o que você quer

Por exemplo.. o texto fica dentro da tag Body?

então, você procura pelo inicio de body e fim de body..

Ou então, ignora os caracteres "<" e ">".. e de quebra.. o que tiver dentro..

Entendeu mais ou menos?

você precisa ver o que tem dentro do seu fonte, e filtrar conforme sua necessidade!

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

beleza..

qualquer coisa posta ae

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
ph34r.gif

Para ler somente o texto de um documento html:

ASP
<%

Option Explicit

Dim oDoc,fso,ts

Set fso = Server.CreateObject("Scripting.FileSystemObject")

Set ts = fso.OpenTextFile(Server.MapPath("teste.htm"),1)

Set oDoc = CreateObject("htmlfile")

oDoc.write ts.ReadAll()

Response.Write oDoc.Body.InnerText

ts.Close

Set oDoc = Nothing

Set ts=Nothing

Set fso=Nothing

%>

rolleyes.gif

pode explicar o que estes termos do codigo fazem?

porque ele não pega nada de html?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,8k
×
×
  • Criar Novo...