Identificarte

Versión Completa : Duda de programacion


Sponsored links
.




Uno
enero 20, 2006, 12:22
Que pena ser tan intenso y cansón, pero es que desde hace tiempo me acaece un interrogante que considero en este lugar se le podría dar solución...Ahí va...

(Bueno yo soy nuevo en el asunto de la programación, he aprendido un poco de C y Java por mi propia cuenta)

Como carajos hago para guardar... mmm digamos una configuración, el valor de una variable (Que alguna vez cuando el programa se ejecutó se introdujo por teclado) o cualquier tipo de informacion en un programa para que la proxima vez que corra la tenga disponible...

(Que no sea usando una base de datos o un archivo de texto:P )

una vez me comentaron acerca de usar un objeto serializable...Como es eso?? Que otra cosa puedo usar??

NSlaver
enero 20, 2006, 01:11
La idea para guardar una configuración, es guardarla en alguna parte. La parte complicada es decidir como uno planea guardar esta configuración y que quiere guardar.
IMHO como a mí me gusta hacerlo:
Tengo un objeto que del tipo configuración.
Carga junto con el programa desde un archivo.
El archivo tiene un formato tal que el humano pueda leer y modificar sin necesidad de abrir el programa (ahora que xml esta tan de moda, trabajar con este formato es una buena idea, hay varias librerias que te ayudan en esto).
---------
Interfaz Serializable = Guardar objetos = mirar api

®-Diegoي
enero 20, 2006, 09:40
Obligatoriamente te toca utilizar como mínimo un archivo. O si no, donde se guarda eso que deseas abrir inclusive cuando se apague el pc?

Yeison
enero 20, 2006, 12:24
La idea para guardar una configuración, es guardarla en alguna parte. La parte complicada es decidir como uno planea guardar esta configuración y que quiere guardar.
IMHO como a mí me gusta hacerlo:
Tengo un objeto que del tipo configuración.
Carga junto con el programa desde un archivo.
El archivo tiene un formato tal que el humano pueda leer y modificar sin necesidad de abrir el programa (ahora que xml esta tan de moda, trabajar con este formato es una buena idea, hay varias bibliotecas que te ayudan en esto).
---------
Interfaz Serializable = Guardar objetos = mirar api

pero para que complicarse la vida...he visto muchos programas que utilizan aun el texto plano para guardar configuracion y separan la informacion por saltos de lineas o caracteres especiales como un ;

Bye

Tael Yang
enero 20, 2006, 01:51
Pues si la idea es guardar la configuracion pues lo podes hacer en un archivo de configuracion(sea de texto o de lo que vos prefieras) para guardar datos mucho mas "extensos" podes hacerlo en una base de datos

HOHO
enero 21, 2006, 02:10
Consulte sobre los comandos savesetting y getsetting en la ayuda de vb6... estos comandos sirven para manejar configuraciones, guardan valores de variables en el registro...

se guardan con setsetting
y se leen con getsetting

Ahí le dejo el ejemplo de la ayuda de vb.net 2003


' Place some settings in the registry.
SaveSetting("MyApp", "Startup", "Top", "75")
SaveSetting("MyApp", "Startup", "Left", "50")
Console.WriteLine(GetSetting("MyApp", "Startup", "Left", "25"))
DeleteSetting("MyApp")

Uno
enero 21, 2006, 04:52
gracias a todos por sus sugerencias, ya tengo una idea más o menos de como hacerlo

Uno
enero 30, 2006, 09:32
Bueno he estado cacharreando un poco las últimas semanas con las respuestas que me dieron, pero la verdad estoy más confundido.... De pronto mi pregunta no fue lo suficientemente clara... Lo de guardar una configuración no lo necesito por el momento (La mayoria me respondió como hacer eso), yo lo que quiero hacer es hacer una lista de usuarios que contenga el nombre de cada uno y sus datos (no muy complicada), guardar esta lista y que la proxima vez que corra el programa, este lea (tenga acceso) a la lista de usuarios que fue introducida la vez pasada....

Existe una forma diferente a hacer un archivo .text o usar una base de datos....?????
puedo hacerlo con "Interfaz Serializable" de java como sería eso ( a grandes rasgos) ???

HOHO
enero 30, 2006, 04:17
SI desea guardar una tabla con datos, lo mejor sería usar código u objetos ADO para manejar una base de datos de access, vb6 tiene un asistente para la creación de formularios que manejan datos...

Si le parece muy complicado, use el comendo Open for... input,output,append,etc.. que es mas fácil y sencillo, ya que no codifica la información y si uno edita el archivo plano puede editar los datos guardados en el mismo fácilmente, por ejemplo desde el bloc de notas... además este comando es tan viejo que ya lo quitaron de vb.net 2003...

Si no va a usar ado sino este comando, postee otra vez y le doy un ejemplo...

Uno
enero 30, 2006, 07:19
Bueno y ese comando (Open) es para visual basic?? En java...
Quien sabe como funciona eso de Interfaz serializable...???

Shishio
enero 30, 2006, 07:31
Guarde en un archivo plano, en java tambien puede usar el OBDC para usar bases de datos es muy sencillon, pero por lo que cunta de la aplicacion lo mas practico es que usted un .txt

Uno
enero 30, 2006, 07:36
Yo sé como hacerlo con un .text, pero estoy interesado en hacerlo de una manera más elegante, segura e interesante... Solo por saber no es que el programa lo amerite...simple curiosidad y ánimo lúdico...

HOHO
enero 30, 2006, 08:05
Bueno y ese comando (Open) es para visual basic?? En java...
Quien sabe como funciona eso de Interfaz serializable...???


Es para visual basic, pero es tan viejo que se podía usar en qbasic 1.0, funciona así:

Por ejemplo quiero guardar el nombre de una persona y su dirección:


' Si desea que el archivo se sobrescriba al agregar este dato, use output en vez de append
open "c:\lista.dat" for append as #1
write #1,"Nombre","Dirección"
write #1,"Nombre2","Dirección2"
close #1


Y para ver los datos guardados:


dim nombre$ as string
dim direccion$ as string
cls
open "c:\lista.dat" for input as #1
do while not eof(1)
input #1,nombre$,direccion$
print "Nombre: " & nombre$ & ", dirección: " & direccion$
loop
close #1


Este ejemplo funciona en qbasic, si no tiene qbasic cambie el print por el msgbox y funciona en visual basic 5.0 y 6.0... en versiones mas avanzadas ya no se usa, porque muestra una ventana alertando un problema de seguridad, por esto lo dejé de usar...