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

Sign in to follow this  
n3lThon

[Resolvido]Separar String em duas

Recommended Posts

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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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***

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.