Ir para conteúdo

POWERED BY:

Arquivado

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

explore

Erro

Recommended Posts

ai pessoal eu fiz um script para pegar o 1 eo 2 nome do usuario!

 

no caso:

 

Explore Silveira Neves

 

Retorna : Explore Silveira

 

Mas se o usuario digita apenas o primeiro nome ele da erro!

 

ASP

[*]Erro de tempo de execução do Microsoft VBScript (0x800A0009)

 

[*]Subscrito fora do intervalo: 'r'

 

[*]/teste/teste.asp, line 26

 

Linha 26:

 

ASP

[*]pegaValor = pegaValor& " " &Ucase(Mid(trim(teste( r )),1))

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

 

[*]<%

 

[*]Dim nome,n_nome

 

[*]

 

[*]nome "Explore Silveira Neves"

 

[*]

 

[*]n_nome split(nome," ")

 

[*]

 

[*]Response.Write(n_nome(0)+" "+n_nome(1))

 

[*]

 

[*]%> 

 

obs: Por que voce falou sobre "debaixo do meu nariz"? ? não curti muito a maneira como você falou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa SPLIT e voce terá nos indices a quantidade de nomes assim nao dará este erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais nesse caso eu Uso um Split!!!!

 

Vo postar o codigo todo!!!!!

 

ASP

[*]<%

 

[*]if nome <> "" then

 

[*]teste Split(nome," ")

 

[*]for r = 0 to Lbound(teste) + 1

 

[*]pegaValor = pegaValor& " " &Ucase(Mid(trim(teste( r )),1))

 

[*]next

 

[*]Response.write(pegaValor&"<br>")

 

[*]end if

 

[*]%>

 

E ele da o erro que Falei!!!!!!!!

 

Não sei o que é, mais o erro deve estar na minha cara!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodou perfeitamente aqui....

 

<%

nome = "Sergio mendes Silva"

if nome <> "" then

 

teste = Split(nome," ")

 

for r = 0 to Lbound(teste) + 1

 

pegaValor = pegaValor& " " &Ucase(Mid(trim(teste( r )),1))

 

next

 

Response.write(pegaValor&"<br>")

 

end if

 

%>

 

saida: SERGIO MENDES

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce quer os dois primeiros nomes

 

mas se tiver apenas um retorna apenas ele, é isso???

 

então não pode fazer com que concatene se não tiver dois nomes

 

mude pra isso e veja

ASP

    [*]

     

    [*]<%

     

    [*]NOME "Mario UFPA Monteiro ASP"

     

    [*]

     

    [*]WHILE INSTR(NOME," ") > 0 THEN

     

    [*]  NOME REPLACE(NOME," "," ")

     

    [*]WEND

     

    [*]NOME TRIM(NOME)

     

    [*]

     

    [*]IF NOME <> "" THEN

     

    [*]  NOMES SPLIT(NOME," ")

     

    [*]  FOR I LBOUND(NOMES) TO UBOUND(NOMES)

     

    [*]  IF I LBOUND(NOMES) OR I LBOUND(NOMES)+ 1 THEN

     

    [*] PEGAVALOR = PEGAVALOR & " " & UCASE(NOMES(I))

     

    [*]  END IF

     

    [*]  NEXT

     

    [*]END IF

     

    [*]

     

    [*]PEGAVALOR TRIM(PEGAVALOR)

     

    [*]

     

    [*]Response.Write(PEGAVALOR & "<BR>")

     

    [*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mario Deu certo!!! só dei uma modificas!!

 

Entendi sua logica valeu!

de nada tiozinho http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

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.