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.
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.
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 (http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.text%28v=vs.110%29.aspx)
⇲ 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 (http://msdn.microsoft.com/en-us/library/system.io.streamwriter%28v=vs.90%29.aspx)
Ejemplo:
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:
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