Ficheros en delphi

Solo disponible en BuenasTareas
  • Páginas : 9 (2159 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de enero de 2012
Leer documento completo
Vista previa del texto
Ficheros en Delphi.
La verdadera potencia de un ordenador reside en su capacidad de tratamiento de datos. Pero no tiene ningun sentido sino podemos almacenar los datos, ya que entonces cada vez que necesitaramos hacer algo deberiamos introducir los datos, y además no podriamos conservar los resultados.
En Delphi podemos tratar ficheros tanto en Ascii como en binario. Los ficheros que vamos atratar son sequenciales, ya que para almacenar datos en otras estructuras mejores, como estrucutras indexadas, tenemos las bases de datos como Dbase o Paradox, entre otras, las cuales Delphi maneja a la perfección.
Ficheros Ascii
Los ficheros en formato Ascii son las más sencillo de todos. Un clásico fichero Ascii en el Config.sys o el Autoexec.bat, o casi cualquier Script de configuración decualquier dispositivo. Son ficheros que se pueden visualizar con la orden type del Msdos, o con el Notepad de Windows, suelen llevar extension txt.
Para leer o escribir un fichero de este tipo los primero que tenemos que hacer es indicar que se trata de un fichero de tipo texto, luego crearemos una variable con la cual leeremos o escribiremos, y como estamos tratando ficheros de tipo ascii, estatendra que ser una cadena de caracteres (un string). Lo siguiente es indicarle a Delphi como se llama nuestro fichero y con que nombre se conocerá en el programa.Luego lo abrimos, hay tres formas de hacerlo, en modo lectura, en modo escritura para añadir, o en modo reescritura. El modo lecutra no tiene nada que comentar, en cambio los otros dos modos tienen su peculiaridad, así en modo escrituraabrimos un fichero para añadir cadenas a él, y el modo reescrituta crea el fichero y si este ya existiera con anterioridad seria sobreescrito, así que mucho cuidado.
Vamos a crear un ejemplo donde introduzcas tu nombre y este sea grabado en un fichero de texto. Para ello pon un componente Edit y un botón en un formulario y asocia este código a su evento Onclik.
procedureTForm1.Button1Click(Sender: TObject);
Var
MiFichero : TextFile;
Nombre : String;
begin
Nombre := Edit1.Text;
AssignFile (MiFichero,'nombre.txt');
Rewrite (MiFichero);
writeln(MiFichero,Nombre);
CloseFile (mifichero);
end;
Si pruebas este programa verás que por muchos nombre que metas solo el último es grabado, el motivo es que cada vez que invocas este procedimiento el fichero es abierto con lainstrucción Rewrite, la cual crea el fichero sin importarle si existe o no. Observa la secuencia de las instrucciones, dentro de la sección de la variables lo importante es la asignación es la variable TextFile, la cual determina el tipo de fichero que vamos a utilizar. Dentro del bloque de instrucciones tenemos la instruccion AssignFile, que es para indicar como se llama el fichero de texto que vamos ausar, y lo asigna a Mifichero, que es el nombre con el que será conocido de ahora en adelante. Luego lo abrimos con la orden Rewrite, la cual ya os comenté que crea el fichero exista o no exista. Después grabamos los datos en nuestro fichero con la orden Writeln indicando que lo grabamos en nuestro fichero, ya que podemos tener más de un fichero abierto y de diferentes tipos, sin queremos grabarmás cosas debemos hacerlo antes de cerrar el fichero, ya que sino cuando lo volvamos a abrir este se creará.
Yo he usado la orden writeln, que graba una cadena de caracteres con un retorno de carro al final, con lo que si grabáramos otra cadena de caracteres esta se grabaría en la línea de abajo. En cambio si usas la orden Write, no es graba la cadena con el retorno de carro al final, con lo quesi grabas otra cadena de caracteres esta sería grabada a continuación. Prueba a cambiar la orden y ver las diferencias en el fichero creado.
Para leer el fichero, el proceso es similar, la diferencia está en que no podemos usar una orden de escritura sino que debemos usar una de lectura. Coloca un nuevo botón en el proyecto que estamos construyendo y una etiqueta, dentro del manejador Onclick...
tracking img