Ir para conteúdo

POWERED BY:

Arquivado

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

Xenofonte

[Resolvido] Muitos caracteres na string

Recommended Posts

Galera,

 

tenho uma variável de erro que está vindo de uma procedure:

 

Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres."

ela tem 43 caracteres, mas quando eu faço isso:

 

Session("ResultadoError") = len(Session("ResultadoError"))

me é retornado 1023 caracteres.

 

E outra...

 

quando eu faço a comparação:

strComp(Session("ResultadoError"), "A senha deve ter um mínimo de 8 caracteres.")
me retorna 1 (dizendo que são iguais)

 

 

o que é isso?

 

Tem alguma coisa a ver com unicode, hexadecimal? como resolver isso?

 

como converto de unicode para hexadecimal, será que dá certo?

 

alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa é apenas limitar o tamanho de sua senha ???

Session("ResultadoError") esta definido com string ???

você pode ter uma funcaun, para limitar o tamanho de sua variavel, a qual comtem a senha

você pode tratar isso ,antes de enviar, seria quase o mesmo eskma de verificar se a senha atual é igual a senha digitada, fica mais facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa mensagem da senha é só um exemplo.

existem varias verificações dentro da procedure.

 

a questão é q ja tentei com o mid quebrar, mas mesmo assim não da certo. Se eu passar 1 caractere a mais do q realmente a string é, já da o erro.

 

deve ta vindo algum lixo junto com a string.

 

e nao da certo de jeito nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veho testei aqui e deu certinho, veja so como eu fiz baseando na forma com que você esta montando

 

<%
'cria a session
Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres."

'faço a contagem para saber quantos caracteres tem na session que foi criada
Response.Write(len(Session("ResultadoError")))

Response.Write("<br><br>")

'faça a comparação entre a session criada e o texto, se o valor for 0 é verdadeiro, se for 1 é falso
Response.Write(strComp(Session("ResultadoError"), "A senha deve ter um mínimo de 8 caracteres."))
%>

Ao contar com a função "Len" ele me retorna a contagem de "43" caracteres e ao comprarar ele me volta o valor "0".

 

Deu certo aqui, você deve esta fazendo alguma coisa errada ae, siga meu exemplo e monte a sua função ae, depois poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bateu uma inspiração aqui e eu consegui ajeitar.

 

O problema estava no recebimento dentro da própria procedure (no asp estava tudo ok)

 

Dentro da própria procedure eu modifiquei a varíavel de saída(erro) de varchar2 para char

 

e deu certo 0o

 

Mesmo assim valeu a quem tentou ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que conseguiu, achei estranho pois da forma explicada por ti eu testei e funfou, mais que bom que deu certo ae.

 

[]'s

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.