USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Cortando String
Fabbro
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 10/02/2006 09:17 hs            
Galera muito obrigado pela ajuda, mas com o codigo que o Tekki me passou resolvi o meu programa, pois não conhecia esse comando split.
O resultado final é o seguinte.
 
Dim sArray() As String
Dim sCaminho As String
 
sCaminho = "//Servidor/Sistemas/Pasta1/Pasta2/Pasta3/Pasta4/Pasta5"
 
sArray = Split(Caminho, "/")
 
sCaminho = Left(sCaminho, Len(sCaminho) - Len("/" & sArray(UBound(sArray))))
 
sCaminho = Left(sCaminho, Len(sCaminho) - Len("/" & sArray(UBound(sArray) - 1)))
 
Desse jeito eu consigo eliminar as duas ultimas pastas independente que qualquer coisa, numero de pastas, tamanho e do nome da pasta e etc.
 
Obs.: As barras estão na posição contaria no conteudo do caminho da rede na passagem p/ a variavel sCaminho, pq se colocar na posição correta, o html do site entende que é um link, então posta sem elas a mensagem.
 
Um abração a todos!
TÓPICO EDITADO
 
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 10/02/2006 10:59 hs         
acho que vai te ajudar ... função recursivo ... o intPosicao começa com 3 por causa do "//"
 
'Preciso fazer com que a string "//Servidor/Sistemas/Pasta1/Pasta2/Pasta3" me
'retorno sempre "//Servidor/Sistemas/Pasta1"  independente do tamanho e do
'nome esculhido para as duas ultimas pastas. A unica maneira é usando as barras.
'Já usei mid, left, right, instr, e não consegui. Se alguem puder me ajudar eu
'agradeço!
Private Sub Command1_Click()
  Dim strAux As String
  Dim strAux2 As String
  strAux = "//Servidor/Sistemas/Pasta1/Pasta2/Pasta3"
  strAux2 = LeftPath(strAux, 3, 0, 3)
  MsgBox strAux2
End Sub
Public Function LeftPath(strPath As String, intPastas As Integer, intPastasEncontradas As Integer, intPosicao As Integer) As String
  If intPastas = intPastasEncontradas Then
    LeftPath = Mid(strPath, 1, intPosicao - 2)
  Else
    intPosicao = InStr(intPosicao, strPath, "/")
    LeftPath = LeftPath(strPath, intPastas, intPastasEncontradas + 1, intPosicao + 1)
  End If
End Function
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página