[C con Clase] winapi - hacer un historial de acciones

Steven R. Davidson vze266ft en verizon.net
Lun Mar 3 18:46:32 CET 2008


Hola Víctor,

Víctor wrote:
> No sabia bien que título poner, intento explicarlo. Tengo hecho un
> programa en el que voy introduciendo mensajes y aparecen en pantalla.
> Lo que quiero hacer (si se puede) es guardar esas acciones que
> aparecen en pantalla en un archivo y que de alguna forma pueda
> acceder a esas acciones que ya he utilizado antes desde el
> programa... se que es un poco general pero es que no tengo claro como
> hacerlo pero sí que es lo que quiero conseguir :s
> 

Sí se puede, pero depende de la sofisticación y complejidad que quieras 
tener. Deberías diseñar el formato de los mensajes o acciones en 
general. Como no nos has dado información específica o algunos ejemplos, 
no podemos darte una explicación más detallada. Te pongo un ejemplo para 
que te hagas una idea de un posible formato en el fichero de acciones:

El formato de un registro se define como:

[TIPO_DE_ACCIÓN, PARÁMETRO_1, PARÁMETRO_2, ..., PARÁMETRO_N]

Por ejemplo,

[0, 45, 23] [4, -3, 56, 78, 21] [2, 3, 10, -1, 5] [5, 0, "imagen.bmp"]

Aquí, tendrías que saber exactamente lo que significan las acciones 0 y 
las interpretaciones de sus respectivos parámetros. Por ejemplo,
0 := sumar dos números => 2 parámetros:
      #1 : primer sumando
      #2 : segundo sumando
2 := ordenar una lista de números => 0 o más parámetros:
      #1 : cantidad de elementos en la lista
      #2 : elemento
      #3 : elemento
      ...
      #N : elemento
4 := "hashear" una lista de cuatro índices => 0 o más parámetros (máximo 4):
      #1 : elemento
      #2 : elemento
      #3 : elemento
      #4 : elemento
5 := cargar una imagen => 2 parámetros:
      #1 : tipo de imagen:
           0 - BMP
           1 - JPEG
           2 - GIF
           3 - PNG
      #2 : ruta y nombre de la imagen

Posiblemente querrás tener un registro principal como cabecera acerca de 
la lista de registros posteriores. Por ejemplo,

[VERSIÓN, CANTIDAD_DE_REGISTROS]

O si quieres algo más complicado, podrías tener un directorio de 
registros para ir directamente al registro que quieras buscar. Sin 
embargo, como estás realizando un historial, seguramente no necesitarás 
acceder a los registros arbitrariamente, sino secuencialmente.

Todo esto es bastante genérico. Si puedes encontrar un formato común 
para todas las acciones, entonces será mejor en la implementación.


De todas maneras, quiero aclarar que este tipo de problemas tiene que 
ver con diseño y ficheros, y no necesariamente con el API de MS-Windows.

Espero que esto te oriente.

Steven






Más información sobre la lista de distribución Cconclase