none
Respecto a los archivos de configuración ¿Se puede lo que explico a continuación?

    Pregunta

  • He definido unas opciones en el archivo de configuración a través de la interfaz: Proyecto\Propiedades de...\configuración

    Al ejecutar el programa, como sabrán, se genera automáticamente el archivo de configuración de usuario.

    Al cambiar algún dato en la interfaz de Visual Net el cambio no se refleja al ejecutar el programa porque toma el valor del archivo de configuración de usuario que se genera automáticamente, lo resuelvo borrando dicho archivo para que vuelva a tomar nuevamente los datos originales (los de la interfaz).

    Mi consulta es si no hay forma de borrar dicho archivo de usuario desde el mismo Visual Net o indicar desde allí que tome los valores de la interfaz y no del archivo de usuario (o sea hacer eso para efectos de reflejar y probar el cambio de datos realizado).

    viernes, 30 de septiembre de 2016 20:35

Respuestas

  • "James-2016" escribió:

    > He definido unas opciones en el archivo de configuración a través de la interfaz:
    > Proyecto\Propiedades de...\configuración
    >
    > Al cambiar algún dato en la interfaz de Visual Net el cambio no se refleja al
    > ejecutar el programa porque toma el valor del archivo de configuración de usuario
    > que se genera automáticamente, lo resuelvo borrando dicho archivo para que vuelva
    > a tomar nuevamente los datos originales (los de la interfaz).

    Hola:

    Si te soy sincero, realmente no me entero muy bien a qué te refieres con "tomar nuevamente los datos originales (los de la interfaz)". ¿?

    ¡Vamos a ver! Si has añadido algunas propiedades en la pestaña Configuración del proyecto, cuando se inicie la aplicación se tomarán los valores que por defecto hayas establecido en las mismas:

        Nombre     String       Federico
        Edad         Integer     34

    Ahora, en el transcurso de ejecución normal de la aplicación, modificamos los valores desde un formulario cualquiera, es decir, desde la propia interfaz de usuario de tu aplicación:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            ' Establecer el valor de las propiedades
            My.Settings.Nombre = "Alberto"
            My.Settings.Edad = 53
    
        End Sub

    Si ahora consultas de nuevo las propiedades:

        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
            ' Leer el valor actual de las propiedades
            Dim p1 As String = My.Settings.Nombre
            Dim p2 As Integer = My.Settings.Edad
    
            MessageBox.Show($"Nombre: {p1}{Environment.NewLine}Edad: {p2}")
    
        End Sub

    Obtendrás los valores "Alberto" y 53, por tanto, los valores han cambiado, sin necesidad de borrar nada.

    > Mi consulta es si no hay forma de borrar dicho archivo de usuario desde el mismo
    > Visual Net o indicar desde allí que tome los valores de la interfaz y no del
    > archivo de usuario (o sea hacer eso para efectos de reflejar y probar el cambio
    > de datos realizado).

    Si por "valores de la interfaz" entiendes los valores que tú has establecido en la pestaña Configuración del proyecto, y estos son los valores que SIEMPRE deseas que aparezcan (en el ejemplo, "Federico" y 34), entonces lo que tienes que hacer es indicar que no se guarde My.Settings al cerrar la aplicación. Para ello, abre las propiedades del proyecto, dirígete a la sección Aplicación, y elimina la marca de verificación Guardar My.Settings al cerrar:

    Ahora, se puede continuar modificando las propiedades desde la propia interfaz de usuario de tu aplicación, es decir, mientras que ésta se encuentra en ejecución. Pero para que éstas modificaciones NO SURTAN efecto en el propio archivo de configuración del usuario, tampoco deberás llamar al método Save del objeto My.Settings, porque entonces se actualizará el archivo de configuración del usuario con los nuevos valores que actualmente existan en sus propiedades:

        ' No ejecutar
        ' My.Settings.Save()

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 1 de octubre de 2016 6:11
    Moderador

Todas las respuestas

  • "James-2016" escribió:

    > He definido unas opciones en el archivo de configuración a través de la interfaz:
    > Proyecto\Propiedades de...\configuración
    >
    > Al cambiar algún dato en la interfaz de Visual Net el cambio no se refleja al
    > ejecutar el programa porque toma el valor del archivo de configuración de usuario
    > que se genera automáticamente, lo resuelvo borrando dicho archivo para que vuelva
    > a tomar nuevamente los datos originales (los de la interfaz).

    Hola:

    Si te soy sincero, realmente no me entero muy bien a qué te refieres con "tomar nuevamente los datos originales (los de la interfaz)". ¿?

    ¡Vamos a ver! Si has añadido algunas propiedades en la pestaña Configuración del proyecto, cuando se inicie la aplicación se tomarán los valores que por defecto hayas establecido en las mismas:

        Nombre     String       Federico
        Edad         Integer     34

    Ahora, en el transcurso de ejecución normal de la aplicación, modificamos los valores desde un formulario cualquiera, es decir, desde la propia interfaz de usuario de tu aplicación:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            ' Establecer el valor de las propiedades
            My.Settings.Nombre = "Alberto"
            My.Settings.Edad = 53
    
        End Sub

    Si ahora consultas de nuevo las propiedades:

        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    
            ' Leer el valor actual de las propiedades
            Dim p1 As String = My.Settings.Nombre
            Dim p2 As Integer = My.Settings.Edad
    
            MessageBox.Show($"Nombre: {p1}{Environment.NewLine}Edad: {p2}")
    
        End Sub

    Obtendrás los valores "Alberto" y 53, por tanto, los valores han cambiado, sin necesidad de borrar nada.

    > Mi consulta es si no hay forma de borrar dicho archivo de usuario desde el mismo
    > Visual Net o indicar desde allí que tome los valores de la interfaz y no del
    > archivo de usuario (o sea hacer eso para efectos de reflejar y probar el cambio
    > de datos realizado).

    Si por "valores de la interfaz" entiendes los valores que tú has establecido en la pestaña Configuración del proyecto, y estos son los valores que SIEMPRE deseas que aparezcan (en el ejemplo, "Federico" y 34), entonces lo que tienes que hacer es indicar que no se guarde My.Settings al cerrar la aplicación. Para ello, abre las propiedades del proyecto, dirígete a la sección Aplicación, y elimina la marca de verificación Guardar My.Settings al cerrar:

    Ahora, se puede continuar modificando las propiedades desde la propia interfaz de usuario de tu aplicación, es decir, mientras que ésta se encuentra en ejecución. Pero para que éstas modificaciones NO SURTAN efecto en el propio archivo de configuración del usuario, tampoco deberás llamar al método Save del objeto My.Settings, porque entonces se actualizará el archivo de configuración del usuario con los nuevos valores que actualmente existan en sus propiedades:

        ' No ejecutar
        ' My.Settings.Save()

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 1 de octubre de 2016 6:11
    Moderador
  • Sí, a eso me refería: a la pantalla de la pestaña Configuración donde se ingresan los datos.

    Es exactamente eso lo que quería porque mientras estoy haciendo el programa quiero carguen siempre los datos de dicha pestaña. Muchas gracias.

    domingo, 2 de octubre de 2016 0:47