Está en la página 1de 3

Tras el pedido reiterado de los alumnos, se explica a continuación:

1. Cómo leer y escribir archivos de texto desde Pascal

2. Cómo pegar los datos de un archivo txt a Excel

1) Comandos para leer desde y escribir en archivos de texto en Pascal

1a) En primer lugar, es necesario indicar al programa en qué archivo están los datos que pretendemos leer, y a qué otro archivo debe escribir los datos de salida. Para esto, debemos asignar la ruta del archivo (por ejemplo 'c:\trabajo\input01.txt') a una variable de texto (llamada, por ejemplo, Input). Esto se hace mediante el comando assign:

assign (<variable de texto>,<ruta del archivo>)

donde:

<variable de texto> es una variable que debemos haber inicializado previamente en la parte declarativa con formato texto, por ejemplo:

var Input: text;

<ruta del archivo> es la ubicación del archivo en nuestro disco rígido, encerrada entre comillas simples. Debemos notar que el archivo que leeremos debe existir y debe contener los datos que vamos a leer, pero el archivo de salida no tiene por qué existir: Pascal lo creará o lo sobreescribirá si ya existía.

1b) A continuación, debemos preparar los archivos para la lectura o la escritura. Si pretendemos leer información desde un archivo, utilizaremos el comando reset, de la siguiente manera:

reset (<variable de texto entrada>);

Si pretendemos escribir en un archivo de salida, usaremos el comando rewrite:

rewrite (<variable de texto salida>);

Esta nueva variable de texto no debe ser igual a la inicializada mediante reset. De un mismo archivo, o se lee, o se escribe.

1c) Para leer desde un archivo de texto, utilizaremos el comando read como sigue:

read (<variable de texto entrada>, <valor 1>, <valor 2>,

donde:

, <valor n>);

<variable de texto entrada> es la variable de texto que nos indica el archivo al que vamos a acceder

<valor 1>, <valor 2>,

, <valor n> son las variables que leeremos desde el archivo de

entrada, las cuales deben haber sido declaradas previamente.

Para escribir a otro archivo de texto, usaremos write o writeln. El primer comando nos escribirá las variables sin saltar de línea, mientras que el segundo insertará un salto de línea al finalizar de escribir las variables:

writeln (<variable de texto salida>, <valor 1>, <valor 2>,

, <valor n>);

1d) Finalmente, debemos cerrar los archivos utilizados para liberar memoria. Esto se hace mediante el comando close:

close (<variable de texto>);

1e) Ejemplo:

(* Inicializacion de los archivos de texto *) assign (Input, 'c:\trabajo\input01.txt'); assign (Output, 'c:\trabajo\output01.txt'); reset (Input); rewrite (Output);

(* Lectura desde input01.txt *) read (Input, NDat, FreqHOut, NIni, NFin); for i:= 1 to NDat do read (Input, Tinp[i], Finp[i]);

(* Escritura a output01.txt *) writeln (Output, k:6, Tout:12:5, Fout:12:5);

close (Input); close (Output);

2) Cómo pegar información desde un archivo de texto a Excel

Abrimos el archivo de texto, seleccionamos todo su contenido (digamos, n filas y m columnas) y lo copiamos.

Abrimos el Excel, nos posicionamos en alguna celda, y pegamos el contenido. Esto provocará que la información copiada del archivo de texto se pegue en n filas pero sólo una columna. Para indicar al Excel que distribuya el contenido en m columnas, tenemos dos opciones.

a) Ni bien pegamos el contenido, abajo a la derecha de la columna única donde se ha pegado la información, puede aparecer un ícono con opciones de pegado. Debemos seleccionar:

-Usar el asistente para importar texto

Luego, debemos optar por:

-Delimitados: si la información en el txt está separada por comas, tabulaciones o algo así. -De ancho fijo: si la información en el txt está alineada en columnas (recomendable).

Luego, el Excel nos propone la subdivisión a realizar. Suele estar bien.

Salteamos el elección de formato y le damos a finalizar.

b) Si no ha aparecido el ícono con opciones de pegado, existe un menú que tiene la misma funcionalidad y se encuentra en:

Datos - Texto en columnas

Repetir todo lo mencionado en a).

Bien, creo que con eso alcanza para aclarar sus inquietudes.

Guillermo Poltarak