Pasar informacion de un textbox a un archivo de texto.

Iniciado por sadfud, 20 Febrero 2015, 16:16 PM

0 Miembros y 1 Visitante están viendo este tema.

sadfud

Hola, hace tiempo que llevo intentando hacer lo siguiente y no encuentro el modo:
Quiero generar un archivo de texto a partir de la informacion que se encuentre en un textbox del formulario, de este modo.

Código (vbnet) [Seleccionar]
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       Dim obj As New Object
       Dim archivo As New Object
       Dim ruta As String = "C:\prueba.txt" 'Ej: Documentos\archivo1.txt

       obj = CreateObject("Scripting.FileSystemObject")
       archivo = obj.CreateTextFile(ruta, True)
       'Luego agregas las lineas que quieras al archivo
       archivo.WriteLine("primera liinea")
       archivo.WriteLine("segunda linea")
       archivo.WriteLine("aqui la info del text box")
       archivo.close() 'Al final cierras el archivo para que se libere de la memoria  
   End Sub


Bien, el codigo para generar el archivo y esta bien porque me lo genera de este modo
Linea 1
Linea 2
etc
Lo que yo quiero es que en la linea 3 me escriba el texto que yo tenga en un textbox.

Alguna idea de como hacerlo? gracias de antemano




[MOD]: Utiliza las etiquetas GeShi para insertar código, porfavor lee las normas del foro de programación.

Eleкtro

#1
Cita de: sadfud en 20 Febrero 2015, 16:16 PMlo que yo quiero es que en la linea 3 me escriba el texto que yo tenga en un textbox.

⇲ Utiliza la propiedad Text del TextBox:
TextBox.Text Property (System.Windows.Controls) - MSDN

⇲ E intenta evitar el uso de metodologías de VisualBasicScript en Vb.Net, puedes desarrollar el código usando puro código .Net:
StreamWriter Class (System.IO) - MSDN - Microsoft

Ejemplo:
Código (vbnet) [Seleccionar]
Imports System.IO
Imports System.Text

Public Class Form1

   Private Sub WriteFile()

       Dim sw As StreamWriter = Nothing

       Try
           sw = New StreamWriter(path:="C:\prueba.txt", append:=False, encoding:=Encoding.Default)
           Using sw
               sw.WriteLine("Primera liinea")
               sw.WriteLine("Segunda linea")
               sw.WriteLine(Me.TextBox1.Text)
           End Using

       Catch ex As Exception
           Throw

       Finally
           If sw IsNot Nothing Then
               sw.Dispose()
           End If

       End Try

   End Sub

End Class



EDITO:
Ora forma de llevarlo a cabo (por ejemplo) sería usando un StringBuilder:
Código (vbnet) [Seleccionar]
Imports System.IO
Imports System.Text

Public Class Form1

   Private Sub WriteFile()

       Dim sb As New StringBuilder
       With sb
           .Appendline("Primera liinea")
           .Appendline("Segunda liinea")
           .Appendline(Me.TextBox1.Text)
       End With

       Try
           File.WriteAllText("C:\prueba.txt", sb.ToString, Encoding.Default)

       Catch ex As Exception
           Throw

       Finally
           sb.Clear

       End Try

   End Sub

End Class


Saludos