Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/06/2005, 12:54
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 20 años, 1 mes
Puntos: 17
Cita:
Iniciado por Augusto1987
Yo lo único que quiero saber es como hacer para almacenar muchas imágenes en un archivo y luego recurrir a ellas (probé con los archivos de recursos pero solo admiten bmps). El programa que estoy haciendo es un simple rompecabezas, y no quiero que la imágen se encuentre, como dije al libre acceso, pero después "de armada", no importa que el usuario la vea. Si alguien puede decirme como hacer, lo agradecería.
Muchas gracias.
Puedes hacer, como he dicho, un archivo que contenga datos encriptados. Ejemplo de un archivo:

- El encabezado. Iría la información concerniente al archivo, versión, programa, fecha y el lugar donde empiezan los datos
- Tabla de datos: Contendrá una lista, en cada elemento:
----- Símbolo/nombre de los datos
----- Offset final
- Los datos todos seguidos, encriptados o no

Entonces, deberás hacerte una función que lea/guarde este archivo.

Ejemplo del archivo:

Código:
0000 50 52 4F 47 52 41 4D 41 00 00 00 00 00 00 00 00 PROGRAMA........
0010 00 00 00 00 01 01 07 06 05 00 00 00 38 44 41 54 ............8DAT
0020 4F 31 00 00 00 00 00 00 00 63 44 41 54 4F 32 00 O1.......cDATO2.
0030 00 00 00 00 00 00 00 8F 45 73 74 65 20 65 73 20 ........Este es 
0040 65 6C 20 70 72 69 6D 65 72 20 64 61 74 6F 20 71 el primer dato q
0050 75 65 20 6C 6C 65 67 61 20 68 61 73 74 61 20 61 ue llega hasta a
0060 71 75 69 45 73 74 65 20 65 73 20 65 6C 20 73 65 quiEste es el se
0070 67 75 6E 64 6F 20 64 61 74 6F 20 71 75 65 20 6C gundo dato que l
0080 6C 65 67 61 20 68 61 73 74 61 20 61 71 75 69    lega hasta aqui
Para leerlo, lees el encabezado. Como puedes ver, lleva el título, la versión (01 01), la fecha (07 06 05), el comienzo de los datos (38). Después lees la tabla de datos buscando la que necesitas. Ejemplo, DATO1. Al lado de DATO1 aparece el offset (00 00 00 63), o sea 63. Como es el primer símbolo, comienzas desde 38 hasta 63 y ahí tienes tus datos. Si no fuera el primero, coges el offset del anterior dato como comienzo en vez de 38.

Como ves hay espacio que sobra para meter símbolos o el nombre del programa más grande. Todos deben ser iguales.