SoloCodigo

Programación General => Pascal => Mensaje iniciado por: VideoPascal en Jueves 15 de Octubre de 2009, 18:33

Título: Memoria
Publicado por: VideoPascal en Jueves 15 de Octubre de 2009, 18:33
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
Título: Re: Memoria
Publicado por: DriverOp en Jueves 15 de Octubre de 2009, 18:38
Pues el sistema operativo te provee un mecanismo para hacer eso. Se llama archivo.
Título: Re: Memoria
Publicado por: VideoPascal en Jueves 15 de Octubre de 2009, 18:41
Gracioso :P
Vale, pero ponme un ejemplo de procedimiento donde te cree un archivo con la variable
Título: Re: Memoria
Publicado por: Dynyck en Jueves 15 de Octubre de 2009, 19:58
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:
Título: Re: Memoria
Publicado por: VideoPascal en Jueves 15 de Octubre de 2009, 20:03
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
Título: Re: Memoria
Publicado por: Dynyck en Jueves 15 de Octubre de 2009, 20:11
Necesitas usar un fichero. Entonces, cuando consigas el puntaje los guardas en alguno, y luego al abrir programa nuevamente, lees el fichero.
Título: Re: Memoria
Publicado por: VideoPascal en Jueves 15 de Octubre de 2009, 20:25
Ya van dos veces que me dicen lo mismo, pero ¿Cuáles son los comandos para guadar un dato en un fuchero y leerlo????
Título: Re: Memoria
Publicado por: DriverOp en Jueves 15 de Octubre de 2009, 22:17
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 (http://mx.geocities.com/antrahxg/pascal/pmf/archivos.html" onclick="window.open(this.href);return false;)
Título: Re: Memoria
Publicado por: epayan en Jueves 15 de Octubre de 2009, 23:33
no puede estar mejor contestada tu pregunta :)