View Full Version : probl.com visual basic


pto.master
20-07-2007, 17:56
ola todos.. tenho um problema a compilar en visual basic quando tento compilar isto"streamreader"
Private Sub Form_Load()
Dim oArquivo As System.IO.File
Dim oLeitura As System.IOStreamReader
oLeitura = oArquivo.OpenText("c:\a.txt")
End Sub


e ao compilar dame este erro
compile error user defined type not defined
brgg................... atentment pto.master

K0mA
20-07-2007, 19:04
Tenta assim:

ola todos.. tenho um problema a compilar en visual basic quando tento compilar isto"streamreader"

Private Sub Form_Load()
Dim oArquivo As System.IO.File
Dim oLeitura As System.IO.StreamReader
oLeitura = oArquivo.OpenText("c:\a.txt")

End Sub

pto.master
20-07-2007, 20:02
nada o problema deve tar nas" references" nao sei qual activar:'(

Crepito
20-07-2007, 20:38
Tipo usa namespaces. E para isso que eles existem, para alem de deixarem o codigo mais facil de ler:


imports System.IO ' <-- namespace

Private Sub Form_Load()

' caminho para o ficheiro
Dim path as String = "c:\blablabla.txt"

Dim oArquivo As FileStream

Dim oLeitura As StreamReader

oArquivo = File.Open(path, FileMode.Open, FileAccess.Read)
oLeitura = new StreamReader(oArquivo)

' neste caso estas 2 linhas de cima podiam ser substituidas por apenas
' oLeitura = new StreamReader(path) , mas deixei assim pois podes vir
' a precisar de saber disto noutros projectos.

( ... )

'codigo para o que queres fazer com o ficheiro que esta a ser lido
( ....)

filestream.close()
streamreader.close()

End Sub

pto.master
20-07-2007, 20:54
continuo com mesmo erro

Crepito
20-07-2007, 20:58
Que erro e que te da?


PS: Reparei que me enganei numa cena:


filestream.close()
streamreader.close()

Esta errado!

A maneira correcta :

oArquivo.close()
oLeitura.close()
Teste o codigo e esta a funcionar. E claro que o que eu te dei n faz nada para alem de abrir e fechar o stream.


Um exemplo funcional:



imports system.io

Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim path As String = "c:\telefones.txt"

Dim oArquivo As FileStream

Dim oLeitura As StreamReader


Try
oArquivo = File.Open(path, FileMode.Open, FileAccess.Read)
oLeitura = New StreamReader(oArquivo)
MsgBox("Ficheiro Aberto!")
oArquivo.Close()
oLeitura.Close()
Catch ex As Exception
MsgBox(Err.Description)
End Try

End Sub

pto.master
20-07-2007, 21:00
compile error user defined type not defined