GRAVAR DADOS EM ARQUIVO TXT E PULAR LINHA

FELIPEJR 11/05/2010 11:38:08
#341490
Estou tentando usar arquivo txt para gravar dados no vb2008. Já consegui gravar através do [Ô][Ô]sw.WriteByte(Val(AscW([Ô]T[Ô])))[Ô][Ô] ,porém não consigo pular linha para o próximo dado.
Já tentei usar vbcrlf concatenado com a informação e somente vbCrlf, mas não surte efeito nenhum.

Grato.
TECLA 11/05/2010 13:22:10
#341496
FABIOPAGANINI 11/05/2010 13:54:00
#341497
Resposta escolhida
Escrita:



Dim Arquivo as new system.io.streamWriter ([Ô]c:    este.txt[Ô])

Arquivo.write([Ô]Isto Escreve Um[Ô]) [ô]escreve sem dar nova linha
Arquivo.WriteLine ([Ô] Texto. e isto, além de escrever, inclui uma nova linha.[Ô]) [ô]escreve e dá nova linha
Arquivo.close()


Leitura:



Using Leitor as system.io.streamreader([Ô]c:    este.txt[Ô])
do
dim Linha as string = Leitor.ReadLine()
if Linha is nothing then exit do

msgbox (Linha)

loop

leitor.close
end using

FELIPEJR 14/05/2010 15:11:07
#341784
Obrigado pela ajuda.
A ajuda foi util, porém eu gostaria de abrir um arquivo através do openfiledialog.
quando vou associar o openfiledialog com uma streamwriter, o procedimento não é aceito e diz que não se pode carregar uma stream em uma streamwriter.
Na sequencia abaixo eu consigo gravar um dado, porem não consigo pular uma linha ( Ressaltando que eu salvo o arquivo e mantenho ele aberto continuamente).

If Button1.Text = [Ô]Iniciar[Ô] Then
Dim myStream As Stream
Dim SaveFileDialog1 As New SaveFileDialog()
SaveFileDialog1.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
SaveFileDialog1.Filter = [Ô]Text Files (*.txt)|*.txt|All Files (*.*)|*.*[Ô]
SaveFileDialog1.FilterIndex = 1
SaveFileDialog1.RestoreDirectory = True

If (SaveFileDialog1.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = SaveFileDialog1.FileName
myStream = SaveFileDialog1.OpenFile()

If (myStream IsNot Nothing) Then
[ô]Code to write the stream goes here.
myStream.Close()
End If

[ô] TODO: Add code here to open the file.

[ô]Dim OpenFileDialog As New OpenFileDialog
[ô]Dim sw As FileStream

OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = [Ô]Text Files (*.txt)|*.txt|All Files (*.*)|*.*[Ô]


[ô]If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then


[ô]Dim FileName As String = OpenFileDialog.FileName
[ô]FileName = OpenFileDialog.FileName

[ô] TODO: Add code here to open the file.

[ô]TextBox5.AppendText(OpenFileDialog.FileName)
[ô]sw = File.Open(OpenFileDialog.FileName, FileMode.Append, FileAccess.Write, FileShare.None)
sw = SaveFileDialog1.OpenFile()
[ô]End If

End If

Timer1.Enabled = True
Button1.Text = [Ô]Parar[Ô]
Timer3.Enabled = True
Else
Timer1.Enabled = False
Timer3.Enabled = False
Button1.Text = [Ô]Iniciar[Ô]
sw.WriteByte(Val((AscW([Ô]#[Ô]))))
sw.Close()


End If



Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick

Dim ValorGravado As String
Dim I As Integer
Dim J As Integer

For J = 1 To Len(DateTime.Now)
ValorGravado = Mid(TimeOfDay, J, 1)
sw.WriteByte(Val((AscW(ValorGravado))))
Next

sw.WriteByte(Val((AscW([Ô] [Ô]))))
sw.WriteByte(Val((AscW([Ô]T[Ô]))))

For I = 1 To Len(PVText1.Text)
ValorGravado = Mid(PVText1.Text, I, 1)
sw.WriteByte(Val(AscW(ValorGravado)))
Next

sw.WriteByte(Val((AscW([Ô];[Ô]))))
sw.WriteByte(Val((AscW([Ô] [Ô]))))
sw.WriteByte(Val((AscW([Ô]U[Ô]))))
sw.WriteByte(Val((AscW([Ô]R[Ô]))))

For I = 1 To Len(PVText2.Text)
ValorGravado = Mid(PVText2.Text, I, 1)
sw.WriteByte(Val(AscW(ValorGravado)))
Next
sw.WriteByte(Val((AscW([Ô]:[Ô]))))
FABIOPAGANINI 14/05/2010 16:17:32
#341788
meu caro amigo, o openfiledialog nao abre exatamente um arquivo, ele apenas informa o caminho do arquivo selecionado (ou melhor [Ô]Aberto[Ô]).
entao seria da seguinte forma:



  

if openfiledialog1.showdialog() = dialogresult.ok then

[ô]nesta linha, a variavel filename ira receber o caminho do arquivo selecionado
dim FileName as string = openfiledialog1.filename

[ô]a partir de agora, que temos o caminho do arquivo, podemos criar um stream que possa ser utilizado para gravaçção ou leitura


using Arquivo as new io.streamwriter (filename)
arquivo.writeline ([Ô]escrevendo uma linha[Ô])
arquivo.close

end using
end if





o mesmo pode ser usado para o open dialog como para o save dialog.
FELIPEJR 14/05/2010 17:33:59
#341795
Obrigado mais uma vez.
A função funciona perfeitamente, assim como a do colega FABIOPAGAMINI, porém o que eu preciso fazer seria aproveitar o caminho salvo no SaveFileDialog e Abrir o arquivo. O arquivo teria que permanecer aberto até que o button fosse clicado novamente, fechando o arquivo e desabilitando o timer.
Eu declarei o filestream fora da sub e funcionou, ou seja, gravou no arquivo porém o filestream só habilita Write e WriteByte que aceitam vbCrLf, mas não fazem efeito no codigo.

Obrigado mais uma vez.
FELIPEJR 17/05/2010 09:55:01
#341929
Resumo do que Preciso:
Estou criando um arquivo com um nome aleatório através do SaveFileDialog, que é aberto após um clique num button.

Dim myStream As Stream
Dim SaveFileDialog1 As New SaveFileDialog()
SaveFileDialog1.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
SaveFileDialog1.Filter = [Ô]Text Files (*.txt)|*.txt|All Files (*.*)|*.*[Ô]
SaveFileDialog1.FilterIndex = 1
SaveFileDialog1.RestoreDirectory = True

If (SaveFileDialog1.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
Dim FileName As String = SaveFileDialog1.FileName
myStream = SaveFileDialog1.OpenFile()

If (myStream IsNot Nothing) Then
[ô]Code to write the stream goes here.
myStream.Close()
End If

Se eu conseguir atribuir este nome a um streamwriter, eu consigo gravar meus dados em sequencia, pois o arquivo permanecerá aberto durante a execução do programa.
Eu consegui fazer com um FileStream, porém não consegui criar uma nova linha no arquivo.

OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
OpenFileDialog.Filter = [Ô]Text Files (*.txt)|*.txt|All Files (*.*)|*.*[Ô]
FileName = OpenFileDialog.FileName
sw = SaveFileDialog1.OpenFile()

Consigo declarar [Ô]sw[Ô] como streamwriter, porém não consigo atribuir o endereço pra ele ser aberto.
FELIPEJR 17/05/2010 16:32:50
#341974
Resolvido!
No lugar de [Ô]sw = SaveFileDialog1.Filename[Ô] eu inseri [Ô]sw = New IO.StreamWriter(SaveFileDialog1.FileName).
Tambem modifique a declaração que é feita fora da sub: [Ô]Dim sw As IO.StreamWriter[Ô].

Agradeço novamente a ajuda.
Tópico encerrado , respostas não são mais permitidas