Tema 3

153 views
62 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
153
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tema 3

  1. 1. Módulo 1. Conocimientos básicos de programación Tema 3. Gestión de Archivos Informática Tema 3. Gestión de Archivos 1/23
  2. 2. Objetivos • Introducir el concepto de archivo. • Conocer y saber distinguir entre archivos binarios y archivos de texto. • Conocer y saber utilizar los instrucciones para guardar y recuperar posteriormente variables. • Comprender los modos de apertura y cierre. • Conocer y saber utilizar las instrucciones de gestión de archivos y directorios. Informática Tema 3. Gestión de Archivos 2/23
  3. 3. Índice 1. 2. 3. 4. 5. 6. 7. Definición de archivo. Motivos por los que usar archivos. Tipos de archivos. El descriptor de archivo. Pasos para operar con un fichero Ejemplos. Instrucciones propias de VBA para la gestión de archivos y directorios 8. Resumen. Informática Tema 3. Gestión de Archivos 3/23
  4. 4. Definición • Concepto de Archivo: Un archivo (o fichero) es la unidad lógica de almacenamiento en un dispositivo de memoria secundaria. • Cualquier conjunto de datos almacenado en un dispositivo de almacenamiento secundario, independientemente de la información que represente (programas, textos, gráficos, …), está agrupado en una estructura de datos llamada archivo. • En los sistemas operativos modernos, un archivo se estructura como una secuencia de bytes. Informática Tema 3. Gestión de Archivos 4/23
  5. 5. Motivos por los que usar archivos (I) • Ventajas: – Persistencia de los datos. La memoria principal de un programa se libera tras su terminación (es volátil). Para poder mantener la información de ejecución de un programa hay que guardarla en archivos. Así podemos recuperar los datos en posteriores ejecuciones. – Capacidad de almacenamiento superior. El espacio de direcciones de memoria de un programa es limitado. Si los datos no caben en memoria principal se pueden guardar en archivos. Informática Tema 3. Gestión de Archivos 5/23
  6. 6. Motivos por los que usar archivos (y II) • Inconvenientes: – Lentitud de acceso a memoria secundaria. Los datos se deben trasladar a memoria principal para poder procesarse. Informática Tema 3. Gestión de Archivos 6/23
  7. 7. Tipos de Archivos • En función del tipo de información que contienen, los archivos se suelen clasificar en dos categorías: – De texto: las secuencias de bytes que lo forman sólo representan caracteres ASCII legibles (.txt, .m, etc.). – Binarios: las secuencias de bytes que lo forman deben ser interpretadas según la representación utilizada durante su almacenamiento (.exe, .jpg, etc.). Informática Tema 3. Gestión de Archivos 7/23
  8. 8. El descriptor de archivo • El acceso a archivos se hace a través de una estructura intermedia gestionada por el sistema operativo denominada manejador de archivo. • Para acceder a un archivo desde un lenguaje de programación, el sistema operativo crea un manejador de archivo y éste se asocia a una variable que será el descriptor o identificador de archivo. • Todo archivo tiene asociado un buffer (zona de memoria principal) para realizar las operaciones de E/S de forma más rápida. • La escritura no se realiza directamente sobre el dispositivo de almacenamiento, sino que se escribe en el buffer. • El espacio en memoria principal se reserva automáticamente cuando se realiza la apertura del archivo y se inicializa el descriptor de archivo. Informática Tema 3. Gestión de Archivos 8/23
  9. 9. Pasos para operar con un fichero (I) Abrimos el fichero (Open) Operamos con el fichero (leemos o escribimos en él) Cerramos el fichero (Close) Informática Tema 3. Gestión de Archivos 9/23
  10. 10. Pasos para operar con un fichero (II) • Abrir fichero: Open <fichero> For <modo de acceso> As #<numero de fichero> – <fichero>: fichero que se desea abrir (e.g. “resultados.txt”). – <modo de acceso>: Append Agregar información a un fichero de texto existente Input Leer datos de un fichero de texto Output Crear un archivo de texto y agrega la información – <numero de fichero>: numero con el que identificamos el fichero. Entre 1 y 511 Informática Tema 3. Gestión de Archivos 10/23
  11. 11. Pasos para operar con un fichero (III) • Operar con el fichero. Operaciones de lectura: Input #<número de fichero>, <lista de variables> Lee los datos del fichero correspondiente y los asigna a las variables de <lista de variables>. Normalmente el fichero que lee ha sido almacenado previamente utilizando el comando Write #. E.G. Input #1, nombre, edad, telefono Input(<número caracteres>,#<número fichero>) As String Lee un número determinado de caracteres del fichero indicado y devuelve un String con la información leída. Line Input #<número de fichero>, <variable cadena> Lee una línea del fichero y lo asigna a la variable <variable cadena> que ha tenido que ser previamente declarada como un String. Informática Tema 3. Gestión de Archivos 11/23
  12. 12. Pasos para operar con un fichero (IV) • Operar con el fichero. Operaciones de escritura: Print #<número de fichero>, <lista de variables> Escribe un lista de variables ó directamente un valor en el fichero. E.G. Print #1, nombre, edad, telefono E.G. Print #1, “Esto es una cadena” Write #<número de fichero>, <lista de variables> Escribe un lista de variables ó directamente un valor en el fichero, pero cada dato es separado con una coma. Estos datos después se podrán recuperar con Input #. E.G. Write #1, nombre, edad, telefono E.G. Write #1, “Esto es una cadena” Informática Tema 3. Gestión de Archivos 12/23
  13. 13. Pasos para operar con un fichero (y V) • Cerrar el fichero Close #<número de fichero> Informática Cierra el fichero con el que hemos estado trabajando Tema 3. Gestión de Archivos 13/23
  14. 14. Ejemplos (I) • Lectura de un fichero de texto, línea por línea, hasta al final del mismo Dim mivariable As String Open "c:nombres.txt" For Input As #1 ‘Abrimos el fichero While Not EOF(1) Line Input #1, mivariable Wend ‘Operamos con él Close #1 ‘Cerramos el fichero EOF (End Of File) es una función que devuelve True cuando se encuentra al final del fichero. Informática Tema 3. Gestión de Archivos 14/23
  15. 15. Ejemplos (II) • Lectura de un fichero de texto con la función INPUT Dim Contenido As String Open "c:nombres.txt" For Input As #1 ‘Abrimos el fichero Contenido = Input(LOF(1), #1) ‘Operamos con él Close #1 ‘Cerramos el fichero LOF (Length Of File) es una función que devuelve el tamaño en bytes del fichero. Informática Tema 3. Gestión de Archivos 15/23
  16. 16. Ejemplos (III) • Lectura de un fichero de texto con la función INPUT Dim ciudad As String Dim km As Integer Dim tmp As Single Open "c:datos.txt" For Input As #1 ‘Abrimos el fichero While Not EOF(1) Input #1, ciudad, km, tmp WEnd Close #1 Informática ‘Cerramos el fichero Tema 3. Gestión de Archivos 16/23
  17. 17. Ejemplos (IV) • Escritura de datos en un fichero Open "c:miarchivo.txt" For Append As #1 Print #1, "esta es una línea" Print #1, "esta es otra línea" Print #1, nombre, edad, telefono Close #1 Informática Tema 3. Gestión de Archivos 17/23
  18. 18. Ejemplos (y V) • Escritura de datos en un fichero Open "c:miarchivo.txt" For Append As #1 Write #1, "esta es una línea" Write #1, "esta es otra línea" Write #1, nombre, edad, telefono Close #1 Informática Tema 3. Gestión de Archivos 18/23
  19. 19. Instrucciones propias de VBA para la gestión de archivos (I) • Función Dir: Dir (<ruta>) As String busca archivos y devuelve una cadena con el nombre de un archivo o directorio encontrado. En el parámetro ruta debemos indicar el path de un archivo, directorio o unidad. Informática Tema 3. Gestión de Archivos 19/23
  20. 20. Instrucciones propias de VBA para la gestión de archivos (II) • Ejemplos Dim archivo As String archivo = Dir("c:*.exe") ‘Encuentra todos los archivos con extensión .exe While archivo <> "“ ‘Mientras encuentre algún archivo .exe archivo = Dir ‘Dir sin argumentos, devuelve el siguiente elemento encontrado Wend Informática Tema 3. Gestión de Archivos 20/23
  21. 21. Instrucciones propias de VBA para la gestión de archivos (III) • Procedimiento FileCopy: FileCopy <origen>, <destino> Copia el archivo <origen> en <destino>. Si el archivo existe lo sobre escribe (e.g. FileCopy "c:13 Tú.wav.mp3", "c:adios.mp3“) • Procedimientos MkDir: MkDir <directorio> Crea el directorio <directorio> (e.g. MkDir "MIDIR“) Informática Tema 3. Gestión de Archivos 21/23
  22. 22. Instrucciones propias de VBA para la gestión de archivos (IV) • Procedimiento Kill: Kill <archivo> Borra un archivo o archivos (e.g. Kill “1.txt”, Kill “*.txt”. • Función FileLen FileLen(<archivo>) As Long Devuelve el número de bytes de un archivo (e.g. MiTamanio = FileLen("PRUEBA")) Informática Tema 3. Gestión de Archivos 22/23
  23. 23. Instrucciones propias de VBA para la gestión de archivos (V) • Procedimiento Name: Name <archivo directorio antiguo> As <archivo directorio nuevo> Renombra archivos y directorios (e.g. Name "C:12 Timor.wav.mp3" As "c:Adios.mp3“) • Procedimiento Rmdir RmDir <Directorio> Borra un directorio (e.g. RmDir "MIDIR“) Informática Tema 3. Gestión de Archivos 23/23
  24. 24. Resumen • Archivo: unidad lógica de almacenamiento en un dispositivo de memoria secundaria. – Ventajas: Persistencia de los datos y capacidad de almacenamiento superior. – Inconvenientes: Lentitud de acceso a memoria secundaria. • Pasos para acceder a la información: abrir el fichero (open), operamos con el (leemos o escribimos información) y cerramos el fichero (close). • VBA incluye funciones para que podamos gestionar archivos y directorios tales como: Dir, FileCopy, MkDir, RmDir, Kill… Informática Tema 3. Gestión de Archivos 24/23

×