Ir para o conteúdo
n3lThon

[Resolvido]Separar String em duas

Mensagens Recomendadas

n3lThon

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


dreams.each do |dream|

   dream.make_it_happen

end

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
anolsi

Em VB 2005 ou 2008?


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
anolsi

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


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
n3lThon

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


dreams.each do |dream|

   dream.make_it_happen

end

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
anolsi

Sorry, é FileName, e não Name


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
anolsi

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.


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
n3lThon

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.


dreams.each do |dream|

   dream.make_it_happen

end

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Soulsick

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?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
anolsi

    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.


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
n3lThon

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


dreams.each do |dream|

   dream.make_it_happen

end

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cybernavigator

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.


Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hellblazer

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 :)


There are two ways to write error-free programs; only the third one works.

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.