Jump to content
programadorvb6

Como posso gravar ou obter valores

Recommended Posts

programadorvb6

Olá boa noite.

Estou com um problema em adquirir dados de um ficheiro de texto e tambem gravar dados.

O que estou a fazer é uma só unica função para duas opções destintas, Ler & Gravar

Envio o código para que me possam ajudar.

No Módulo :

Module Module1
Public ObjProcedimentos As New Procedimentos
End Module

Na classe :

Public Class Procedimentos
    Public Enum OpcaoFicheiro
        Ler = 0
        Gravar = 1
    End Enum
    Public Property FazTrabalho As OpcaoFicheiro

Public Shared Function Ficheiro(ByRef IndicarCaminho As String, ByRef FazTrabalho As OpcaoFicheiro, ByRef Opcional As String)
        Dim Ler_Documento As StreamReader
        Dim Grava_Documento As StreamWriter
        If FazTrabalho = OpcaoFicheiro.Ler Then
            Ler_Documento = New StreamReader(IndicarCaminho)
            Opcional = Ler_Documento.ReadLine()
            Ler_Documento.Close()
        End If
        If FazTrabalho = OpcaoFicheiro.Gravar Then
            Grava_Documento = New StreamWriter(IndicarCaminho, True)
            Grava_Documento.WriteLine(Opcional)
            Grava_Documento.Close()

        End If

    End Function
End Class

Chamar o Procedimento :

Procedimentos.Ficheiro(Application.StartupPath & "\Opcoes.txt", Procedimentos.OpcaoFicheiro.Ler, Nothing)

Ao chamar o procedimento quando a opção seja = Gravar consegui-se introduzir dados ; ao escolher a opção = Ler consegui-se opter dados do ficheiro.

Grato desde já pela vossa atenção.

Programadorvb6


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.
 

Share this post


Link to post
Share on other sites
Caça

O que é que queres fazer que não estas a conseguir?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
programadorvb6

Olá bom dia

Queria que  a função fizesse a distinção entre o Gravar e Ler.

Para que :

- Quando desse a ordem para : Gravar  me aceitasse os dados contidos na variável Opcional, e procedesse á sua gravação.

-Quando desse a ordem para : Ler, me devolvesse o conteúdo do ficheiro .txt, para que o possa indicar em um controle (TexBox; Listbox etc..)

Grato desde já pela sua atenção.

Atentamente.

ProgramadorVB6


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.
 

Share this post


Link to post
Share on other sites
Caça

Ele não te está a devolver todo o conteúdo do ficheiro de texto porque estás a utilizar a função ReadLine. Para isso seria a ReadToEnd

O mesmo repete-se para a escrita.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
programadorvb6

Para isso basta fazer a substituição.

Ok.

Para ir buscar os valores seria uma coisa deste genero que não esto a conseguir :

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Procedimentos.Ficheiro(Application.StartupPath & "\Opcoes.txt", Procedimentos.OpcaoFicheiro.Gravar, TextBox1.Text)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Procedimentos.Ficheiro(Application.StartupPath & "\Opcoes.txt", Procedimentos.OpcaoFicheiro.Ler, ListBox1.Items.Add())

    End Sub


______________________________________________________________________________

Que minha coragem seja maior que meu medo e que minha força seja tão grande quanto minha fé.
 

Share this post


Link to post
Share on other sites
Tiago Salgado

Altera a tua função para isto

Public Shared Function Ficheiro(ByRef IndicarCaminho As String, ByRef FazTrabalho As OpcaoFicheiro, ByRef Opcional As String) as String
        Dim Ler_Documento As StreamReader
        Dim Grava_Documento As StreamWriter
        If FazTrabalho = OpcaoFicheiro.Ler Then
            Ler_Documento = New StreamReader(IndicarCaminho)
            Opcional = Ler_Documento.ReadLine()
            Ler_Documento.Close()
            Return Opcional 
        End If
        If FazTrabalho = OpcaoFicheiro.Gravar Then
            Grava_Documento = New StreamWriter(IndicarCaminho, True)
            Grava_Documento.WriteLine(Opcional)
            Grava_Documento.Close()

        End If

    End Function
End Class

Depois para chamares a função para Ler e Escrever fazes algo como:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Procedimentos.Ficheiro(Application.StartupPath & "\Opcoes.txt", Procedimentos.OpcaoFicheiro.Gravar, TextBox1.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ListBox1.Items.Add(Procedimentos.Ficheiro(Application.StartupPath & "\Opcoes.txt", Procedimentos.OpcaoFicheiro.Ler, ""))
    End Su

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

×
×
  • Create New...

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.