• Jueves 28 de Marzo de 2024, 11:06

Autor Tema:  como guardar listas en archivos?  (Leído 2512 veces)

VERICG

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
como guardar listas en archivos?
« en: Martes 22 de Julio de 2008, 17:10 »
0
Buenas  :hola: , soy nuevo en el foro y desde ya agradezco toda la ayuda que me puedan dar , mi problema es el siguiente:

Necesito realizar un programa en Pascal que administre el almacen de una empresa, para esto debo crear un registro con listas enlazadas que contenga la informacion de los productos, ademas debo realizar operaciones como hacer pedidos, entregas y al final actualizar las cantidades en el archivo, mi problema es que no se como almacenar esa lista en el archivo, y no se que tipo de archivo debo utilizar, si secuencial o aleatorio, ya lo intente con un archivo de acceso aleatorio pero al llegar a la instruccion donde deberia guardar la informacion en el archivo, me da el error que dice que no se pueden leer o escribir variables de este tipo. Espero haberme explicado bien. Gracias   :good:  
 
Saludos

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: como guardar listas en archivos?
« Respuesta #1 en: Jueves 24 de Julio de 2008, 14:28 »
0
Mu wenas

Tu problema es que intentas guardar los punteros de tu lista enlazada. Sólo deberías guardar los datos, no los punteros.

Un saludín

VERICG

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: como guardar listas en archivos?
« Respuesta #2 en: Viernes 25 de Julio de 2008, 22:52 »
0
Hola m0skit0, gracias por responder,

Precisamente eso intentaba hacer pero es alli cuando me da el error, cuando intento guardar el registro en el archivo, luego intente colocando el puntero que apunta al registro y no me dio error. Ahoara mi gran duda es: al realizar operaciones como modificar, incluir o eliminar un registro de mi lista, donde debo hacer estas modificaciones, en el archivo directamente, o tengo que hacerla en la lista y luego esa lista guardarla en el archivo? Estoy vuelto un 8 con esto, de verdad agradezco todo lo q me puedan ayudar.

Saludos :hola:

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: como guardar listas en archivos?
« Respuesta #3 en: Lunes 28 de Julio de 2008, 13:56 »
0
Cita de: "VERICG"
luego intente colocando el puntero que apunta al registro

No deberías guardar los punteros porque las listas enlazadas se asignan dinámicamente, es decir, no siempre te van a tocar las mismas direcciones de memoria. Y como no sabes cuáles te van a tocar, es tontería guardarlas en el fichero. Te repito que no debes guardar el registro completo (con registro me refiero al de datos, no al de fichero, claro), sino sólo el dato que interese. Por ejemplo, si tenemos en el registro un Integer y un puntero en el registro al siguiente elemento de la lista, sólo guardamos en el fichero el Integer, no el puntero. Te pongo un ejemplo con código:

Código: Text
  1.  
  2. type
  3.    pLista = ^tLista;
  4.    tLista = record
  5.       dato: Integer;
  6.       siguiente: pLista;
  7.    end;
  8.  
  9.  

En este caso sólo deberíamos guardar el elemento dato del registro de tLista.

Cita de: "VERICG"
al realizar operaciones como modificar, incluir o eliminar un registro de mi lista, donde debo hacer estas modificaciones

Desde luego en la lista. Cada cierto tiempo (que tú creas oportuno), actualizas el fichero desde la lista y así salvas los datos.

VERICG

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: como guardar listas en archivos?
« Respuesta #4 en: Lunes 28 de Julio de 2008, 16:07 »
0
Ok muchas gracias, lo habia descubierto de tantos golpes que me di con el programa, sin embargo te agradezco la respuesta porque era algo que no tenia muy claro.

Muchas gracias por tu ayuda, ya solucione el problema.  :good:

Saludos  :hola: