Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Hurubnar en 15 Febrero 2011, 15:58 pm



Título: Editar y guardar cambios para la siguinete ejecución
Publicado por: Hurubnar en 15 Febrero 2011, 15:58 pm
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

(http://img524.imageshack.us/img524/3541/irudia.png)

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


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: Cromatico en 15 Febrero 2011, 16:12 pm
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!


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: 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


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: 79137913 en 15 Febrero 2011, 16:55 pm
HOLA!!!


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!!!


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: CAR3S? en 15 Febrero 2011, 17:52 pm
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...


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: Tokes en 15 Febrero 2011, 18:31 pm
Puedes crear un archivo en el disco duro, en el mismo directorio de tu aplicación. Por ejemplo:

Código:
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.

Código:
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.


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: BlackZeroX en 15 Febrero 2011, 19:32 pm
.
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
  1.  
  2.    VBA.GetAllSettings()
  3.    VBA.DeleteSetting()
  4.    VBA.SaveSetting ()
  5.    VBA.GetSetting ()
  6.  
  7.  

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!¡.


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: Hurubnar en 15 Febrero 2011, 20:43 pm
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


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: Edu en 16 Febrero 2011, 00:56 am
Usa archivos .ini para guardar tu informacion, todos los programas hacen eso, o sino modifican el registro


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: BlackZeroX en 16 Febrero 2011, 04:49 am
...
mmm mas facil no tienen otra:

En un proyecto agregar esta linea:

Código
  1.  
  2.    Call VBA.SaveSetting("InfraAPP", "Autor", "BlackZeroX", "Miguel Angel Ortega Avila")
  3.  
  4.  

En otro proyecto agregar esta otra

Código
  1.  
  2.    MsgBox VBA.GetSetting("InfraAPP", "Autor", "BlackZeroX")
  3.  
  4.  

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

Temibles Lunas!¡.


Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: rodrigova en 6 Agosto 2014, 22:55 pm
Yo pase con la misma duda casi toda la noche de ayer, pero ahora se me ocurrio una solución muy fácil. Espero aun te sirva.

¿Que queremos lograr?
Que al ejecutar mi userform al agregar un texto en el textbox1, este texto aparezca en mi Label1 y quede guardado.

¿Se puede hacer? No, pero puedes realizar algo que es como guardarlo en el label engañando a la persona que ejecuta el programa.

¿Como lo hago?
1. Necesitas guardar el texto del textbox1 en una celda.
Por ejemplo:

Private Sub CommandButton1_Click()
ActiveCell = Txt1
End sub

2. Luego necesitas que al abrir el formulario el texto que pegaste en la celda activa
aparezca en tu lbl1, y sencillamente necesitas ponerlo en initialize, dandole el valor de celda activa a tu label
Asi:

Private Sub UserForm_Initialize()
Lbl1.Caption = ActiveCell
End sub

3. Listo viejo, cada vez que abras el formulario, será como haber guardado el texto en el label. :)





Título: Re: Editar y guardar cambios para la siguinete ejecución
Publicado por: arfgh en 7 Agosto 2014, 23:18 pm
en el mismo ejecutable del programa sí que puedes hacerlo, simplemente escribe en él al final del mismo con una estructura que te inventes.

saludos