1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB] Ajuda com directório

Discussão em 'Programação' iniciada por brunocosta505, 8 de Maio de 2009. (Respostas: 6; Visualizações: 649)

  1. brunocosta505

    brunocosta505 Power Member

    boas..

    tenho estado a desenvolver um pequeno programa em VB, mas deparei-me com uma dúvida..

    objectos:
    1 textbox
    1 botão

    o meu objectivo é, através do botão, abrir um ficheiro de texto com o openfiledialog e depois de abrir o ficheiro queria que a textbox fica-se com o directório do ficheiro que foi aberto.. como por exemplo aconteçe nos setups dos softwares, na parte em que nos pede para escolher o directório em que queremos instalar o programa..

    eu tenho o código do openfiledialog a funcionar, só precisso é mesmo da linha de código em que textbox é afecta pelo directório..

    aqui está o meu código:
    Código:
    Dim nome As String
            Dim fich As FileStream
    
            Try
                If OpenFileDialog_1.ShowDialog() = Windows.Forms.DialogResult.OK Then
                    nome = OpenFileDialog_1.FileName
                    fich = New FileStream(nome, FileMode.Open)
    
                    Dim ler As New StreamReader(fich)
                    Dim c As Char
    
                    While (ler.Peek >= 0)
                        c = Convert.ToChar(ler.Read)
                        texto_fich = texto_fich + c
                    End While
                    ler.Close()
                End If
            Catch ex As Exception
                MsgBox("erro")
                Exit Sub
            End Try
    obrigado pela atenção :D
     
  2. PNDmartins

    PNDmartins Power Member

    Código:
    TextBox1.Text = OpenFileDialog1.FileName
     
  3. brunocosta505

    brunocosta505 Power Member

    funciona.. obrigado.. :D
    e já agora, há alguma maneira de pelo system ou algo assim do género de afectar uma string com o directório onde o executável se encontra?
     
  4. PNDmartins

    PNDmartins Power Member

    Podes fazer tudo o que quiseres a uma string. Agora depende do que tu queres fazer..
     
  5. brunocosta505

    brunocosta505 Power Member

    isso da string já não preciso.. já arranjei uma solução mas obrigado na mesma..

    mas agora tenho uma outra dúvida..

    Código:
    Try
                Dim file3 As FileStream
                file3 = New FileStream(Form_1.direc + "\add_servers_list.txt".ToString, FileMode.Open)
                Dim write1 As New StreamWriter(file3)
                write1.WriteLine(Form_1.quant)
                write1.WriteLine(TextBox_1.Text)
                write1.WriteLine(TextBox_2.Text)
                write1.Flush()
                write1.Close()
            Catch ex As Exception
                Dim file3 As FileStream
                file3 = New FileStream(Form_1.direc + "\add_servers_list.txt".ToString, FileMode.Create)
                Dim write1 As New StreamWriter(file3)
                write1.WriteLine(Form_1.quant)
                write1.WriteLine(TextBox_1.Text)
                write1.WriteLine(TextBox_2.Text)
                write1.Flush()
                write1.Close()
            End Try
    o sistema que está aqui é o seguinte:
    o programa verifica se o ficheiro existe, se não existir ele cria e guarda 1 int (contador de registos) e duas strings (introduzidas nas textbox) no ficheiro,

    caso contrário,

    apaga tudo o que está dentro do ficheiro e escreve a nova quantidade e as duas novas strings, mas eu queria que ele neste caso não apaga-se nada do que está dentro do ficheiro e que apenas adiciona-se.. há alguma maneira de o fazer?

    explicação:
    texto existencial no ficheiro:
    1
    aaa
    aaa

    depois de abrir e verificar que existe:
    1
    aaa
    aaa
    2
    bbb
    bbb

    acho que dá para perceber o que pretendo.. se não digam-me e tento explicar de outra maneira..

    obrigado pela atenção
     
  6. ribeiro55

    ribeiro55 Power Member

    Código:
    My.Application.Info.DirectoryPath
    Quanto à última pergunta, o que procuras é um Append write.
    Código:
    Dim SW As New IO.StreamWriter("caminho", [B][U]True[/U][/B])
    Assim, quando fazes SW.Write ou SW.WriteLine, o conteúdo é acrescentado.
     
  7. brunocosta505

    brunocosta505 Power Member

    funciona.. obrigado mais uma vez.. :D
     

Partilhar esta Página