CREAR ARCHIVO TXT DONDE GUARDA INFORMACIÓN DE LOS TEXTBOX

Iniciado por rochro, 12 Diciembre 2014, 20:51 PM

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

rochro

Hola a todos!

No se si voy a lograr que me entiendan pero haré lo posible.

Quisiera que me ayuden en resolver una aplicación donde al escribir en varios textbox se guarde por más que se cierre la aplicación donde al volver a abrir la aplicación aparezca lo ultimo que se introdujo en los textbox. Mi idea es que en vez que se trabaje con base de datos sólo se cree un archivo txt oculto donde guarde esas ultimas entradas de la aplicación.
El problema es que como soy bien básica en programación, no se me ocurre como hacerlo.

Espero su ayuda.

Gracias.

:)

Eleкtro

#1
La idea de utilizar un archivo de texto para guardar la configuración (y encima hacerlo oculto) es algo muy primitivo, a menos que quieras portabilizar la aplicación junto a un archivo de inicialización (ej: "config.ini");
lo más aconsejable según Microsoft es utilizar el registro de Windows para leer y escribir la configuración de la aplicación, pero teniendo la infrastructura My te será mucho más sencillo, eso si, tiene sus pequeños inconvenientes (que no vienen al caso).

Puedes crear una propiedad (por cada control) en la configuración del proyecto, y utilizarla de la siguiente manera:
Código (vbnet) [Seleccionar]

Public Class Form1

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
   Handles MyBase.Load

       Me.LoadUserSettings()

   End Sub

   Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) _
   Handles TextBox1.TextChanged

       My.Settings.TextBox1Text = DirectCast(sender, TextBox).Text

   End Sub

   Private Sub LoadUserSettings()

       Me.TextBox1.Text = My.Settings.TextBox1Text

   End Sub

End Class



Using My.Settings - MSDN

Saludos








rochro

#2
Cita de: Eleкtro en 12 Diciembre 2014, 22:45 PM
La idea de utilizar un archivo de texto para guardar la configuración (y encima hacerlo oculto) es algo muy primitivo, a menos que quieras portabilizar la aplicación junto a un archivo de inicialización (ej: "config.ini");
lo más aconsejable según Microsoft es utilizar el registro de Windows para leer y escribir la configuración de la aplicación, pero teniendo la infrastructura My te será mucho más sencillo, eso si, tiene sus pequeños inconvenientes (que no vienen al caso).

Hola Elektro, gracias por responder ante mi caso =).

Claro, quiero que sea portable la app. La idea es que al ingresar los campos, se procederá a hacer clic en un boton "guardar" donde lo que hará es crear un archivo txt e ingresar dichos campos en el archivo, para que luego al abrir nuevamente la aplicación aparezca esos últimos datos ingresados.

Eleкtro

No me ha quedado claro si optas por utilizar My.Settings, o sigues con la idea de un archivo de texto plano.

De ser lo segundo, esto te servirá para crear, añadir, eliminar, o modificar las secciones, campos, y valores de un archivo de configuración (ini/txt):
INI File Manager - By Elektro

PD: Al principio verás los ejemplos de utilización.

Saludos!








rochro

#4
Cita de: Eleкtro en 15 Diciembre 2014, 21:33 PM
No me ha quedado claro si optas por utilizar My.Settings, o sigues con la idea de un archivo de texto plano.

De ser lo segundo, esto te servirá para crear, añadir, eliminar, o modificar las secciones, campos, y valores de un archivo de configuración (ini/txt):
INI File Manager - By Elektro

PD: Al principio verás los ejemplos de utilización.

Saludos!

Específicamente no tiene que ser txt. Si dices que con my.settings es mucho más simple y no llevaría tanto código, pues creo que sería lo idean. He intentado adaptarlo pero tengo un inconveniente al ingresar My.Settings.TextBox1Text ( 'TextBox1Text' no es un miembro de 'windowsapplication1.my.settings'

Me gustaria que me expliques como trabaja el my.settings. ya que sólo utilizaré la applicación .exe .. no se si así trabajaría bien.

Que me recomiendas?

Eleкtro

#5
Cita de: rochro en 15 Diciembre 2014, 22:15 PM'TextBox1Text' no es un miembro de 'windowsapplication1.my.settings'

Te está indicando ese error porque obviamente primero tienes que crear la propiedad, llamarla "TextBox1Text" y asignarle el datatype de retorno (String), esto lo puedes hacer en la pestaña "Settings" en las propiedades del proyecto, desde VisualStudio. Te dejé un enlace que lo explica todo.

Cita de: rochro en 15 Diciembre 2014, 22:15 PMQue me recomiendas?

Sin duda, te recomiendo que uses un archivo por separado, ini/txt, xml, archivo binario serializable con formato propio, o como prefieras.

El inconveniente de usar My.Settings, es que si modificas el lugar o el nombre del archivo.exe, se perderán las configuraciones guardadas de My.Settings ya que el hash también cambiará, esto en una instalación normal no pasa nada donde el directorio de instalación es "permanente", pero en un portable es algo horrible,
entonces si usas My.Settings deberías "ajustar" otras cosas algo avanzadas, y trastear con XML en el app.config para modificar otras tantas, todo esto con la intención de asignar una ruta estática para guardar la configuración de My.Settings, que por lo general se guarda en un directorio que sigue esta estructura (por defecto):

C:\Users\<username>\Appdata\Local\<companyname>\<appdomainname>_<eid>_<hash>\<verison>

Así que para el caso es bastante engorroso usar My.Settings, mejor utiliza un .ini, espero que el ejemplo de arriba te sirva, sino, pregunta si tienes dudas

Saludos