Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Free-Knowledgend en 11 Julio 2006, 23:27 pm



Título: problema con clase streamwriter
Publicado por: Free-Knowledgend en 11 Julio 2006, 23:27 pm
he probado ya muchas cosas y no consigo solucionar este problema, espero que podais echarme un cable:

dentro de mi codigo he escrito en una sub el siguiente codigo:

Código:
'========================================
'ALMACENAR TEXTOS cifrados
'========================================

Public Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click

Dim streamwriter As System.IO.StreamWriter
streamwriter = New System.IO.StreamWriter("registro.txt", True)

streamwriter.Write("Texto: ")
[...] ' CONTINUA

streamwriter.Close()

End Sub

y en otra sub:

Código:
'========================================
'BORRAR REGISTRO
'========================================

Public Sub btnborrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnborrar.Click

Dim streamwriter As System.IO.StreamWriter
streamwriter = New System.IO.StreamWriter("registro.txt", False)

streamwriter.Write("")
streamwriter.Close()

End Sub

hasta aqui todo va perfecto, el problema surge cuando intento abrir el archivo *.txt con el sigueinte codigo, mostrandome el error que os pongo a continuación:

Código:
'========================================
'ABRIR REGISTRO
'========================================

Public Sub btnabrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnabrir.Click

System.IO.File.Open("registro.txt", IO.FileMode.Open)

End Sub

(http://img185.imageshack.us/img185/6493/screen4yb.jpg)

mcuhas gracias de antemano por cualquier ayuda  ;) ;)

saludos  ;) ;)



Título: Re: problema con clase streamwriter
Publicado por: Robokop en 12 Julio 2006, 03:22 am
Primero esta clase de streamwrite es del lenguaje .NET asi que estas en el foro equivocado , porfavor algun mod que lo mueva al subforo .NET
La clase streamwrite no es compatible con el metodo que tu lo quieres abrir , ademas te falta otro parametro que es el modo en que lo va a abrir.
y tienes que crear un objeto antes para poderlo abrir.

antes del modulo o clase importas io asi:
imports system.io
Citar
sub main ()
dim fs as filestream
fs = new filestream("C:\texto.txt",filemode.create,fileaccess.write)

end sub
Pero ese metodo no serviria para streamwrite primero debes de hacer una convercion.

Citar
sub main ()
dim fs as filestream
fs = new filestream("C:\texto.txt",filemode.create,fileaccess.write)
sw = new streamwrite(fs)

end sub

He aqui un ejemplo que te hice para ver si lo entiendes

Citar
Imports System.IO
Imports System.Environment

Module Module1

    Sub Main()
        Dim crear As StreamWriter
        Dim str As String

        Try
            'Crear un archivo
            crear = New StreamWriter("C:\doc.txt")
            Console.WriteLine("Escriba las lineas que desea almacenar en el fichero." + NewLine _
            + "Finalice cada linea pulsando la telca <Enter>" + NewLine + "Para finalizar" _
            + " solo pulse la tecla <Enter>.")

            str = Console.ReadLine()
            While (str.Length <> 0)
                'Escribir en el fichero
                crear.WriteLine(str)
                'Leer la linea siguiente
                str = Console.ReadLine
            End While

        Catch ex As IOException
            Console.WriteLine("Error:" & ex.Message)
        Finally
            If (Not crear Is Nothing) Then crear.Close()

        End Try

    End Sub

End Module
Ese ejemplo no necesita  de fileStream y la declaciones porque ya lo crea, en caso que quieres hacer otros tipos de manejos con ficheros como por ejemplo usar Append,truncate .... necesitaras declara como ya lo dije

Cualquier duda postea en el foro correspondiente
salu2


Título: Re: problema con clase streamwriter
Publicado por: Free-Knowledgend en 12 Julio 2006, 13:47 pm
lo primero lo siento por equivocarme de foro, no me he fijado la verdad  :-\ :-\

he escrito el codigo que me has puesto utilizando la clase filestream, y todo funciona perfecto, salvo por lo de aqbrir el fichero... me gustaría que al hacer click en un boton se me abriese el archivo "resgistro.txt" como si lo abriese normalmente con el bloc de notas  :rolleyes: :rolleyes: :rolleyes:

como puedo hacer esto??  ;) ;)

una vez mas, muchas gracias por todo  ;) ;) ;)


Título: Re: problema con clase streamwriter
Publicado por: Robokop en 12 Julio 2006, 19:22 pm
Bueno podriamos usar shell :
Citar
Shell("notepad C:\hola.txt", vbNormalFocus)
De seguro debe de haber otros metodos implementados , a mi no me gusta usar en el .Net este tipo como shell , pero hasta haorita es el unico que conozco  todavia no se muy bien el lenguaje me faltan algunas cosas.
Pd:Pide a un mod global que te cambie el post para las personas que tengan dudas lo puedan consultar facilmente en el de .NEt


Título: Re: problema con clase streamwriter
Publicado por: Free-Knowledgend en 12 Julio 2006, 22:52 pm
funciona perfecto, muchisimas gracias por todo  ;) ;)

ahora mismo le pido a un mod que cambie el post de foro

saludos  ;) ;)


Título: Re: problema con clase streamwriter
Publicado por: MaLkAvIaN_NeT en 14 Julio 2006, 01:46 am
Citar
Shell("notepad C:\hola.txt", vbNormalFocus)
De seguro debe de haber otros metodos implementados , a mi no me gusta usar en el .Net este tipo como shell , pero hasta haorita es el unico que conozco  todavia no se muy bien el lenguaje me faltan algunas cosas.

puedes hacer esto:
Código:
System.Diagnostics.Process.Start("c:\hola.txt")