Editar y guardar cambios para la siguinete ejecución

Iniciado por Hurubnar, 15 Febrero 2011, 15:58 PM

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

Hurubnar

Quisiera saber si hay algún modo de que se pueda editar una variable en tiempo de ejecución y guardar los cambios producidos aunque se cierre el ejecutable, es decir, que se guarden los cambios para la siguiente ejecución.

Por ejemplo: tengo un textbox (texto: text1), una Label (caption: label1) y un botón (caption: command1).
Cuando lo ejecuto no me aparece más que eso y no hay ninguna acción.

Lo que yo quiero es que al pulsar el botón se escriba el contenido del textbox en el label1 (label1.caption = text1.text) y se quede así de tal modo, que después de cerrar el ejecutable y abrirlo otra vez el caption del label sea: text1



No encontré nada, quizás porque no busqué bien, le estaría enormemente agradecido a quien me puediera orientar o ayudar. Gracias de antemano,

Un saludo

Cromatico

Que yo sepa en el mismo ejecutable no se pueden guardar, pero podrias guardar tus variables en alguna parte del registro de windows, que al cerrar el programa actualize los datos en el registro y al abrirlo, que los lea...
Sino tambien puedes guardarlo en un archivo INI, en recursosvisualbasic hay un muy buen ejemplo sobre leer y escribir en un .ini

Saludos!


79137913

HOLA!!!


Cita de: ignorantev1.1 en 15 Febrero 2011, 16:46 PM
En el mismo ejecutable no se puede, pero:

http://foro.elhacker.net/programacion_visual_basic/rutinas_interesantes-t139883.0.html;msg657075#msg657075


Mmm, talves si se pueda en el mismo ejecutable, cambiando algun valor hex (osea que el mismo programa se modifique) que sea el de la variable caption del label... nose, no me meto XD.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

CAR3S?

em...

yo hice algo parecido, pero...(mira mis posts, el de crear exe desde el exe xd)

ese es el metodo del builder, sino podes hacer un archivo de configuracion que se lea cuando abren el programa...

Tokes

Puedes crear un archivo en el disco duro, en el mismo directorio de tu aplicación. Por ejemplo:

Private sub Command1_Click()
label1.caption=text1.text
Open app.path & "\ArchivoConNombreQueQuieras.txt" for output as #1
     Print   #1, Text1.Text
close #1
End Sub


En el form_load de tu formulario debes abrir ese archivo que tiene guardado el contenido de tu Text1.

Private sub Form_Load()
Open app.path & "\ArchivoConNombreQueQuieras.txt" for input as #1
   Line Input   #1, Text1.text
Close #1
Label1.Caption=Text1.Text
End Sub


Mas o menos así. Espero que te haya servido. Saludos.

BlackZeroX

.
Hay algo mas facil aun, pero si limpias el registro o limpias el cache de los programas (la verdad no se como se le dice), tus configuraciones se eliminaran.

usa:

Código (Vb) [Seleccionar]


    VBA.GetAllSettings()
    VBA.DeleteSetting()
    VBA.SaveSetting ()
    VBA.GetSetting ()



P.D.: VBA. es optativo, yo solo lo uso para encontrar funciones que no recuerdo (para mas info oprime F2 en tu IDE de VB6).

Temibles Lunas!¡.
The Dark Shadow is my passion.

Hurubnar

Lo primero, muchas gracias a todos por intentar ayudarme  ;)

Bueno, a quienes me dijeron que podía guardar los cambios en un archivo aparte (o demás), ya lo había pensado, pero no me viene bien pues quiero que se pueda utilizar el programa en diferentes ordenadores, sin necesidad de nada más que el ejecutable.

Por lo que miré el código de BlackZeroX pero no entendí nada... :S
Es decir, si yo utilizo el SaveSetting (), y quiero guardar una variable, ¿Cómo debo hacerlo?

Gracias de nuevo,
Un saludo

Edu

Usa archivos .ini para guardar tu informacion, todos los programas hacen eso, o sino modifican el registro

BlackZeroX

#9
...
mmm mas facil no tienen otra:

En un proyecto agregar esta linea:

Código (Vb) [Seleccionar]


    Call VBA.SaveSetting("InfraAPP", "Autor", "BlackZeroX", "Miguel Angel Ortega Avila")



En otro proyecto agregar esta otra

Código (vb) [Seleccionar]


    MsgBox VBA.GetSetting("InfraAPP", "Autor", "BlackZeroX")



Ejecutar el 1er proyecto ( SaveSetting() ), despues ejecutar el segundo proyecto ( GetSetting() ).

Temibles Lunas!¡.
The Dark Shadow is my passion.