Ir para conteúdo

POWERED BY:

Arquivado

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

asp.net

Funcao Mid

Recommended Posts

Tenho o código abaixo para verificar se uma string com tamanho (3) contem apenas letras.

 

letra=left(Trim(request.Form("txtplaca")),3)

For i=0 to 2

letra=Mid(letra,i,1)

if Not (IsNumeric(letra)) then

contador=contador+1

end if

next

O problema é que está dando erro na chamada da função mid. Erro.

 

Informações técnicas (para a equipe de suporte)

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A0005)

Chamada de procedimento ou argumento inválido: 'Mid'

/sites/htdocs/classificados/cadastroveiculos.asp, line 112

Compartilhar este post


Link para o post
Compartilhar em outros sites

testa ela com um numero ......v c funciona...se funcionar, você da um cint(i)depoisahhhhnao é contador que recebe contador +1, é o ii = i +1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona sim, troquei apenas o 0 inicial pelo 1, porém ele só está analizando o 1 elemento. Ou seja se eu colocar 1ab2000 ele me retorna o erro, porque os tres primeiro caracteres devem ser letras, mas se eu colocar a1b2000 ele não mostra a mensagem de erro, ou seja ele não está farrendo toda a string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funciona sim, troquei apenas o 0 inicial pelo 1, porém ele só está analizando o 1 elemento. Ou seja se eu colocar 1ab2000 ele me retorna o erro, porque os tres primeiro caracteres devem ser letras, mas se eu colocar a1b2000 ele não mostra a mensagem de erro, ou seja ele não está farrendo toda a string.

nao entendi...entra no msn ......

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho o código abaixo para verificar se uma string com tamanho (3) contem apenas letras.

 

letra=left(Trim(request.Form("txtplaca")),3)

For i=0 to 2

letra=Mid(letra,i,1)

if Not (IsNumeric(letra)) then

contador=contador+1

end if

next

O problema é que está dando erro na chamada da função mid. Erro.

 

Informações técnicas (para a equipe de suporte)

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A0005)

Chamada de procedimento ou argumento inválido: 'Mid'

/sites/htdocs/classificados/cadastroveiculos.asp, line 112

O Problema que está acontecendo é o seguinte. Quando eu digito a string da placa do carro Ex: mnh1456.

1 - O Comando Left(String,3) me retorna apenas a substring mnh, certo?

2 - Depois disto eu tenho que checar letra por letra para verificar se as mesmas não são números

3 - Caso nenhum dos tres testes sejam verdadeiros, ou seja nem o 1, nem o segundo e nem o terceiro caracter não sejam numéricos eu exibo a string original.

 

Agora o problema é o seguinte, se eu colocar 1nh1456, ou seja começar com número, ele me retorna o ERRO, certo?, porém se eu colocar m1h1456 ele não me retorna erro, porque quando ele passa pelo primeiro caracter ele considera apenas o primeiro caracter, ou seja apenas ele verifica o primeiro caracter.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi assim:For i=1 to 3 letra=Mid(left(Trim(request.Form("txtplaca")),3),i,1) 'response.Write(letra)&"<br>" if IsNumeric(letra) then contador=CInt(contador+1) end if 'letra="" 'response.Write(i) next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, é o seguinte:Tu tem uma variável chamada "letra", certo???Esta var recebe uma string, a qual tu quer ver se é somente letras...Tu viu que dentro do laço, tu atribui uma substring da var "letra" para ela mesma???olha como tu fez:letra=left(Trim(request.Form("txtplaca")),3)For i=0 to 2letra=Mid(letra,i,1)if Not (IsNumeric(letra)) thencontador=contador+1 end ifnext...para q server a var contador???tenta assim:dim letraTmpfor i= 1 to len(letra) + 1 letraTmp = Mid(letra,i,1) if Not (IsNumeric(letra)) then contador=contador+1next espero ter ajudado...

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.