Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/04/2005, 06:35
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 20 años, 1 mes
Puntos: 17
Cita:
Iniciado por yenesepas
Gracias por tu respuesta maxExtreme:
Gracias a ti por apreciar la respuesta...

Cita:
Iniciado por yenesepas
No me ofendo; en realidad es algo que había leido en internet en una comparativa entre vb6 y vb.net y decían esto. Y yo, en principio me lo creí.
Ya, se miente mucho ;)


Cita:
Iniciado por yenesepas
OK. Lo que temo es que con la encriptación y si la base de datos con el tiempo se va haciendo grande (que puede ser, pues dependerá de todo lo que quiera meter dentro el usuario), el programa pierda agilidad/rápidez en el tiempo de desencriptado, al cargar en memoria una base de datos grande y realizar consultas sobre ella, etc ... es decir, temo que pueda acabar siendo un programa lento de esos que le pides algo y tardas en obtener el resultado ¿como lo ves?
Pues no se que decirte... Una base de datos normal pongamos que te ocupa 50 Mb... Eso lo abarca la memoria sin problemas. Y para desencriptar 25 Mb es prácticamente instantáneo. Pongamos la encriptación MD5 que se usa entre otras muchas cosas para corroborar que algo se ha bajado correctamente. Un CD de 700Mb puede tardar en encriptarlo un minuto, dos... 50Mb, en nada. Además son encriptaciones fuertes, puedes usar la tuya propia inventándotela y que sea mucho menos cargosa. En cualquier caso, la carga es una vez, y guarda otra, así que en el tiempo que el programa esté en funcionamiento no va a tener retardo alguno.

Cita:
Iniciado por yenesepas
¿No hay ninguna otra manera para que la base de datos de un programa (que trabaje sobre el disco duro de cada usuario, claro) hecho en mi caso con VB no pueda ser accedida desde fuera de ese programa?
No. Es un archivo normal y corriente, por lo que siempre se podrá abrir, al menos que alguien no sepa cómo, debido a que esté encriptada o nadie conozca el formato.

Cita:
Iniciado por yenesepas
¿A que te refieres con que lo haga todo mi programa? ¿Puedes aportarme alguna información más sobre este aspecto de la carga de la base de datos en memoria? Como se hace, etc ... ¿Algun tutorial o documento que lo explique? Cualquier ayuda me será muy útil.
Tú cargas sencillamente el archivo en memoria, leyéndole entero. Luego sobre él (sobre la variable) realizas las operaciones que quieras. *

Cita:
Iniciado por yenesepas
Tiene que ser una base de datos, pero me parece muy interesante (para otra utilidad que estoy todavía pensando) esto que dices de grabar en mi propio formato. ¿Te refieres por ejemplo a grabarlo en un txt y luego recuperar los datos de ahí? Pero un txt sería accesible desde fuera de mi programa ¿Como "creas tu propio formato"? También te agradeceré cualquier aclaración que puedas darme sobre este tema.
Precisamente por eso * te digo que es mejor hacer tu propio formato, porque sabes como es, mientras que si cargas una MDB en la memoria, tienes que conseguir el código o información del formato para hacer el código para abrirla. Tenerla la tienes, pero... ¿cómo la abres?

Sí, me refiero a guardarlo, "por ejemplo", en un txt (que no tiene porqué ser esa extensión). Y no, no es accesible. Prueba a abrir un .mdb, una .dll o cualquier otra cosa con un editor de texto o hexadecimal. ¿la has abierto? Sí, pero en realidad no consigues nada porque no son datos legibles a la vista humana. Las MDB, las DLL, etc las sabes abrir con ciertos programas, pero si es tu propio formato... ¿con qué lo abres? Con tu programa.

Para hacer tu propio formato simplemente es pensarle. Por ejemplo, un BMP tiene una cabecera con una serie de datos (altura, anchura, capas...), a continuación la paleta (...) y después los datos. Todo esto no "escrito" en ASCII, sino guardado. Un archivo se compone de bytes. Unos bytes pueden representar "123", pero ese 123 puede caber en un byte. Así es como se guardan los datos realmente. Por eso cuando abres un fichero con el WordPad, no entiendes nada, porque son bytes que no representan letras (ASCII). **

Cita:
Iniciado por yenesepas
Saludos y gracias
De nada .


** No ha quedado muy claro, y tampoco se si sabes hacer lecturas y grabaciones en un fichero más o menos correctamente (era muy básico ese párrafo).