Ir para conteúdo

POWERED BY:

Arquivado

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

Danilo Piovani

segunda Ocorrência em uma String

Recommended Posts

Olá Galera...Como vão beleza?Estou usando Request.ServerVariables("HTTP_USER_AGENT") para pegar o S.O do usuário.Porem ele me traz alé do S.O o Browser etc...Então estou fazendo um tratamento de String para este server variable.Notei que o S.O fica sempre depois entre duas ocorrencias de ;(ponto e virgla), minha idéia é calcular com o InStr essas ocorrencias e depois imprimir o que tiver no meio delas... ( O S.O DO USUÁRIO )Só não sei como fazer para pegar a segunda ocorrencia do ; (ponto e virgla), ....Alguem manja???[ ]s... valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara usa o INSTR denovo, mas contando a partir da posição que achou o primeiro....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu fiz o que você falou e veja só ele faz exatamente a mesma coisa...::: Código :::teste = Request.ServerVariables("HTTP_USER_AGENT") olha = trim(teste)o1 = InStr(olha, ";")o2 = Left(olha, o1 - 1)o3 = InStr(o1 , olha , ";")o4 = Left(olha, o3 - 1)response.write "Olha=" & olharesponse.write "<br>"response.write "Olha=" & o1response.write "<br>"response.write "Olha=" & o2response.write "<br>"response.write "Olha=" & o3response.write "<br>"response.write "Olha=" & o4::: Resultado :::Olha=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)Olha=24Olha=Mozilla/4.0 (compatibleOlha=24Olha=Mozilla/4.0 (compatible []s...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ve se tem o que você querso = Request.ServerVariables("HTTP_USER_AGENT")so = RIGHT(so,LEN(so)-INSTR(so,";"))so = RIGHT(so,LEN(so)-INSTR(so,";"))so = LEFT(so,INSTR(so,")")-1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse modo de fazer deu certo para o I.EPorem no FireFox e Opera é criado uma string maior... veja só...Montando com o código do marioufpa retorna:I.EOlha= MSIE 6.0; Windows NT 5.0)Olha= Windows NT 5.0)Olha= Windows NT 5.0 FireFoxOlha= U; Windows NT 5.0; pt-BR; rv:1.7) Gecko/20040707 Firefox/0.9.2Olha= Windows NT 5.0; pt-BR; rv:1.7) Gecko/20040707 Firefox/0.9.2Olha= Windows NT 5.0; pt-BR; rv:1.7[ ]s...

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifica se pelo menos sempre fica no terceiro lugar...se ficar altero um pouco pra ficar legar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com algo +/- assim:

so = Request.ServerVariables("HTTP_USER_AGENT")

Matrix_so = Split(SO,";")

So = Matrix_SO(Ubound(SO)-1)

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu fiz o que você falou e veja só ele faz exatamente a mesma coisa...::: Código :::teste = Request.ServerVariables("HTTP_USER_AGENT") olha = trim(teste)o1 = InStr(olha, ";")o2 = Left(olha, o1 - 1)o3 = InStr(o1 , olha , ";")o4 = Left(olha, o3 - 1)response.write "Olha=" & olharesponse.write "<br>"response.write "Olha=" & o1response.write "<br>"response.write "Olha=" & o2response.write "<br>"response.write "Olha=" & o3response.write "<br>"response.write "Olha=" & o4::: Resultado :::Olha=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)Olha=24Olha=Mozilla/4.0 (compatibleOlha=24Olha=Mozilla/4.0 (compatible []s...

como eu disse, era para voce utilizar o instr...como voce misturou com left e right dicou errado mesmo...a melhor forma de fazer é a do salgado, contanto que sempre fique na 3 posicaoMatrix_so = Split(Request.ServerVariables("HTTP_USER_AGENT"),";")response.Write "Sistema Operacional: " & Matrix_SO(2)é isso ai salgado, boa ideia a sua... :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal...Desculpem por dar uma sumida aí...É que ontem por motivos maiores não pude vir trabalhar...Salgado... sua idéia foi muito boa... Pessoal deu certo aqui.Mais uma vez pude contar com o conhecimentos dos super profissionais que escrevem por aqui...Pessoal eu peguei a idéia do Salgado e do Fabricio e ainda tive que fazer uma adaptação... pois a função como foi me passada ainda sobrava um parenteses na tela alem do nome do SOAí Ficou assim:Matrix_so = Split(Request.ServerVariables("HTTP_USER_AGENT"),";")So = Len(Matrix_so(2))So2 = Left(Matrix_so(2), So - 1)response.Write "Sistema Operacional: " & Matrix_SO(2)response.Write "<br>"response.Write "Sistema Operacional: " & Soresponse.Write "<br>"response.Write "Sistema Operacional: " & So2Maravilha...Valeu a todos que tentaram e conseguiram me ajudar...Vamos ver agora se consigo tratar para que uma pessoa que tenha Windows abaixo de 2000 entre por um outro lado na pesquisa interna que estou fazendo aqui na empresa...[ ]s...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabricio...Aproveitando sua idéia...Vou te explicar o que preciso... e avalia por favor se estou indo pelo caminho certo!Eu estou fazendo uma pesquisa interna sobre um empresa de terceiros...Aqui na empresa onde trabalho, temos windows 95, 98, 2000, XP, algumas maquinas com Linux... Eu só estou fazendo isso porque não queremos que o participante da pesquisa precise se identificar, mas por tras dos panos nós queremos saber quem participou, etc...Para isso eu decidi usar o Request.ServerVariables ("LOGON_USER") para pegar o usuário logado na rede...Ai encontrei o problema das maquinas que tenha SO 95,98 ( são minorias, mas precisam participar), que não conseguem interpretar um usuário logado na rede...Com isso fui atras de filtrar qual SO que a pessoa está usando e se for 2000 ou superior ele pega o usuário logado senão pega só o IP mesmo e ta tudo certo...Somente o IP para nós não serve, pois mais de uma pessoa podem estar trabalhando na mesma máquina ( manha, tarde e Noite).É isso ... estou indo pelo caminho certo??E essa sugestão se encaixa para eu resolver isso??[ ]s...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, claro... segue essa ideia...no caso do selectselect case...case 95, 98 nomeusuario = IP`case 2000 nomeusuario = logon_user... e por ai vai...nao sei como pegar o login do usuario sem ser pelo logon_user...

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.