• Martes 7 de Julio de 2020, 11:42

Autor Tema:  Memoria  (Leído 1420 veces)

VideoPascal

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Memoria
« en: Jueves 15 de Octubre de 2009, 18:33 »
0
Las variables sirven para guardar memoria pero dentro de un programa. Por ejemplo, puedo tener la variable Points, pero cada vez que ejecute el codigo será la misma. ¿Cómo puedo hacer una variable que guarde memoriaincluso cuando cierre el programa? Por ejemplo, para hacer un "Record de la casa", que cuando cierre el TP se mantenga.
Gracias

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Memoria
« Respuesta #1 en: Jueves 15 de Octubre de 2009, 18:38 »
0
Pues el sistema operativo te provee un mecanismo para hacer eso. Se llama archivo.

VideoPascal

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Memoria
« Respuesta #2 en: Jueves 15 de Octubre de 2009, 18:41 »
0
Gracioso :P
Vale, pero ponme un ejemplo de procedimiento donde te cree un archivo con la variable

Dynyck

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Memoria
« Respuesta #3 en: Jueves 15 de Octubre de 2009, 19:58 »
0
No entiendo el fin. Recuerda que un archivo es un conjunto de datos, y en pascal existen 3 tipos: con tipo, sin tipo, y de texto. Tu quieres guardar la posicion de memoria luego de cerrar el programa? Quieres que una variable "quede en el aire" al cerrar el programa? :huh:

VideoPascal

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Memoria
« Respuesta #4 en: Jueves 15 de Octubre de 2009, 20:03 »
0
A ver quiero que durante la ejecucion del programa me guarde el record, p. ej= 6 ptos, y que si se modifica (a 10 ptos) y cierro el pascal y vuelvo a abrirlo, pues la variable sga siendo 10 ptos y no 6 como al principio

Dynyck

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Memoria
« Respuesta #5 en: Jueves 15 de Octubre de 2009, 20:11 »
0
Necesitas usar un fichero. Entonces, cuando consigas el puntaje los guardas en alguno, y luego al abrir programa nuevamente, lees el fichero.

VideoPascal

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Memoria
« Respuesta #6 en: Jueves 15 de Octubre de 2009, 20:25 »
0
Ya van dos veces que me dicen lo mismo, pero ¿Cuáles son los comandos para guadar un dato en un fuchero y leerlo????

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Memoria
« Respuesta #7 en: Jueves 15 de Octubre de 2009, 22:17 »
0
Cita de: "VideoPascal"
Gracioso :P
Vale, pero ponme un ejemplo de procedimiento donde te cree un archivo con la variable
:clown:

Va...
Como no sé cuál es la estructura de datos que utilizas para guardar los puntos haré uno ad-hoc.
Código: Pascal
  1.  
  2. const
  3.   NombreArch='Puntaje.dat';
  4. type
  5.   TPuntaje=record
  6.    puntos: integer;
  7.    nombre: string[20];
  8.   end;
  9.  
  10. TArchPuntaje=File of TPuntaje;
  11.  
  12. var
  13.   PutajeActual: TPuntaje;
  14.  
  15. procedure GuardarPuntos(Puntaje: TPuntaje);
  16. var
  17.   Arch: TArchPuntaje;
  18. begin
  19. Assign(Arch,NombreArch);
  20. Rewrite(Arch); { Recrea el archivo }
  21. Write(Arch,Puntaje);
  22. Close(Arch);
  23. end;
  24.  
  25. Procedure LeerPuntos(var Puntaje: TPuntaje);
  26. var
  27.   Arch: TArchPuntaje;
  28. begin
  29. Assign(Arch,NombreArch);
  30. Reset(Arch); { Abre para lectura }
  31. Read(Arch,Puntaje);
  32. Close(Arch);
  33. end;
  34.  
  35. begin
  36. LeerPuntos(PuntajeActual); { Lee los puntos guardados }
  37. ...
  38. { some code here... }
  39. ...
  40. GuardarPuntos(PuntajeActual);  
  41. end.
  42.  
  43.  

Cuidado: Asumo que el archivo Puntaje.dat ya existe en el directorio actual, así que la primera vez probablemente te salte en error.

Esta es una buena página para comenzar a aprender sobre manejo de archivos... o ficheros como dicen al otro lado del Atlántico :).

http://mx.geocities.com/antrahxg/pascal ... hivos.html

epayan

  • Miembro activo
  • **
  • Mensajes: 41
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.pillin-slk.blogspot.com
Re: Memoria
« Respuesta #8 en: Jueves 15 de Octubre de 2009, 23:33 »
0
no puede estar mejor contestada tu pregunta :)