Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-08-2011
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Guardar datos en un ejecutable

Hola a todos, hoy quisiera hacerles una pregunta interesante. es posible en
un momento de ejecucion de una aplicacion que esta guarde dos variables
por ejemplo de tipo strings dentro del propio ejecutable ?. algo así como
un recurso, pero que esta informacion quede dentro del .exe que no sea
visible al usuario. desde ya mil gracias a todos por sus atenciones
Responder Con Cita
  #2  
Antiguo 10-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cmfab.

Puedo estar equivocado, pero según creo, desde la misma aplicación no es posible ya que el archivo está bloqueado para escritura mientras permanece abierto.


Un saludo.

Edito: Una pregunta, ¿ Por que motivo deseas guardar una cadena de caracteres en el ejecutable ?
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-08-2011 a las 19:06:29.
Responder Con Cita
  #3  
Antiguo 10-08-2011
genius78 genius78 is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 4
Poder: 0
genius78 Va por buen camino
Investiga

Investiga la funcion
Código Delphi [-]
UpdateResource
Responder Con Cita
  #4  
Antiguo 10-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por genius78 Ver Mensaje
Investiga la funcion
Código Delphi [-]
UpdateResource
Hola genius78 y bienvenido a los foros de ClubDelphi.

La función UpdateResource no escribe dentro del propio ejecutable como solicita cmfab, lo hace en los recursos embebidos en él, de todos modos pienso que con Delphi y desde el programa en ejecución no es factible. ( hasta que me demuestren lo contrario... )

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 10-08-2011 a las 19:33:07.
Responder Con Cita
  #5  
Antiguo 10-08-2011
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Hola gracias por las respuestas, pero quiza me sirva ese recurso si esta embebido en el exe. quiere decir que el usuario no puede cambiar esos parametros, es así. podrian indicarme como hacerlo. gracias
Responder Con Cita
  #6  
Antiguo 10-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo cmfab.

Creo que vas a necesitar mucho más que esa función para solucionar el problema, es el S.O. a quién hay que 'puentear' para lograrlo. Ya que como te dije tu archivo .exe estará bloqueado para escritura mientras permanezca abierto.

Quizá con alguna rutina residente que pudiera tomar una instantánea de tu programa y esperar a que se cierre para adicionar los datos y reescribir el exe, u otro artilugio que desconozco se pueda lograr. (Si el antivirus no empieza a chillar como desquiciado... ).

Pero insisto con mi pregunta: ¿ Cuál es el motivo ? Por que seguramente haya un modo más sencillo de hacer lo que buscas.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 23-04-2016
arriolar arriolar is offline
Registrado
NULL
 
Registrado: oct 2011
Posts: 3
Poder: 0
arriolar Va por buen camino
¡¡¡Si es Posible guardar datos en el ejecutable!!!

Hola, ya se que es tarde pero le puede servir a otros. Dentro del ejecutable no se puede, pero si a continuacion de el.

Hace tiempo hice una pequeña aplicacion tipo Libreta de Direcciones para llevar en el usb, tener en la Pc o en la nube, los datos los guardaba en un archivo independiente. Al pasarselo a amigos se quejaban que no les abria, por que no sabian que hacia falta copiar la BD tambien.

Asi que por deporte me propuse obtener esto con un unico archivo que contuviese la BD y el ejecutable, que funcionase trasparente al usuario y guardase los cambios efectuados a la BD.

La "Danza" a grosso modo es la siguente:
Creamos el ejecutable y la BD, con otro programa le anexamos a continuacion la BD al programa.

El ejecutable acepta parametros y segun estos actua de distintos modos:

Sin parametros el programa compara una variable que definimos en tiempo de diseño cuyo valor es el tamaño real del ejecutable.

En caso de ser su tamaño mayor asume que contiene en si a la BD, se abre a si mismo en modo lectura y guarda una copia de si mismo con otro nombre (ya veremos luego por que), extrae la BD, llama a ejecutar su copia pasandole como parametro su propia ruta y nombre.

La copia al recibir el parametro ya sabe que es la copia y no el original, el usuario trabaja normal y al momento de cerrarse usa el parametro para borrar el original, se copia a si mismo con el nombre del original y le anexa a continuacion la BD, invoca al programa original con el parametro LIMPIAR y se cierra.

El programa al recibir el parametro LIMPIAR borra la copia, la BD y se cierra.

Este programa lo realice en C++ Con CBuilder5, use rutinas de manejo de archivos binarios (fOpen,fSeek etc)
Recientemente lo hice en Linux con Lazarus y me ahorre las rutinas dichas tirando del comando dd (DiskDump) que es muy potente, tambien le añadi cifrado fuerte a la BD ya que almacena usuarios y contraseñas.
Responder Con Cita
  #8  
Antiguo 23-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, bienvenido y gracias por contar tu historia.
No olvides, como todos los nuevos en clubdelphi, leer nuestra guía de estilo, gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar datos en Base de Datos MySQL knnibal Conexión con bases de datos 6 23-06-2011 15:36:42
Guardar valor de variables dentro del ejecutable jourdan OOP 5 19-07-2010 18:53:47
Como almacenar datos en un ejecutable droguerman Linux 1 04-04-2009 14:03:16
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Guardar carpeta en un ejecutable Drake C++ Builder 2 02-04-2006 00:08:35


La franja horaria es GMT +2. Ahora son las 17:09:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi