• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

n3lThon

[Resolvido]Separar String em duas

14 mensagens neste tópico

Estou a usar um open file dialog para abrir um ficheiro e estou a guardar a localização e o nome do ficheiro numa variável. O que eu quero fazer é separar a variavel em duas (uma para a localização e outra para o nome).

nome = OpenFileDialog1.FileName

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só queres ficar com o nome do ficheiro , certo? Se assim for tens isto

My.Computer.FileSystem.GetFileInfo(Me.OpenFileDialog1.FileName).Name

Se precisares do caminho da Pasta:

My.Computer.FileSystem.GetFileInfo(Me.OpenFileDialog1.FileName).DirectoryName

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O exemplo para a pasta está a funcionar, agora o para o nome do ficheiro está a mostrar: "OpenFileDialog1" :/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que erro te dá? Estás a garantir que o Openfiledialog já foi chamado e foi clicado em ok para um ficheiro válido?

Eu já experimentei e está a funcionar correctamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este é o meu código:

    Private Sub cmdAbrirFicheiro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAbrirFicheiro.Click
        Dim nome, local As String
        Dim OpenFileDialog1 As New OpenFileDialog
        With OpenFileDialog1
            .Filter = "Ficheiros de TEXTO(*.txt*)|*.txt*"
            .ShowDialog()
        End With
        If OpenFileDialog1.FileName <> String.Empty Then
            nome = My.Computer.FileSystem.GetFileInfo(Me.OpenFileDialog1.FileName).Name
            local = My.Computer.FileSystem.GetFileInfo(Me.OpenFileDialog1.FileName).DirectoryName
            MessageBox.Show(nome & " - " & local)
        End If
    End Sub

Com FileName dá erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tive a testar agora isso e de facto acontece o que referiste... mas penso que é por causa desta instrução

Dim OpenFileDialog1 As New OpenFileDialog

por acaso não tens também, adicionado uma openfiledialog ao form?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Private Sub cmdAbrirFicheiro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAbrirFicheiro.Click
        Dim nome, local As String
        Dim OpenFileDialog1 As New OpenFileDialog
        With OpenFileDialog1
            .Filter = "Ficheiros de TEXTO(*.txt*)|*.txt*"
            .ShowDialog()
        End With
        If OpenFileDialog1.FileName <> String.Empty Then
            nome = My.Computer.FileSystem.GetFileInfo(OpenFileDialog1.FileName()).Name
            local = My.Computer.FileSystem.GetFileInfo(OpenFileDialog1.FileName()).DirectoryName
            MessageBox.Show(nome & " - " & local)
        End If
    End Sub

Já percebi. Como estás a criar só o OpenFileDialog aí dentro tens que tirar o Me.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tive a testar agora isso e de facto acontece o que referiste... mas penso que é por causa desta instrução

Dim OpenFileDialog1 As New OpenFileDialog

por acaso não tens também, adicionado uma openfiledialog ao form?

Tinha. Era esse o problema.

(...)

Já percebi. Como estás a criar só o OpenFileDialog aí dentro tens que tirar o Me.

Preferi tirar aquela linha.

Resolvido!

Obrigado aos dois. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se te está a fazer complicação isso, obtém o caminho completo e faz o split da string obtida, fazes o split pelo caracter '\'

a última parte do vector retornado é o nome do ficheiro. Por exemplo dim vector = "c:\teste\ficheiro.txt".split("\")

o resultado de vector(vector.length - 1) = "ficheiro.txt"

Acho eu que é isto que queres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se te está a fazer complicação isso, obtém o caminho completo e faz o split da string obtida, fazes o split pelo caracter '\'

a última parte do vector retornado é o nome do ficheiro. Por exemplo dim vector = "c:\teste\ficheiro.txt".split("\")

o resultado de vector(vector.length - 1) = "ficheiro.txt"

Acho eu que é isto que queres.

Penso que o metodo que ele está a utilizar e muito melhor, ja para nao falar de ter menos probabilidades de te erros :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora