Pascal/Turbo Pascal - Pascal Ayuda Abrir Fichero

 
Vista:

Pascal Ayuda Abrir Fichero

Publicado por victor (4 intervenciones) el 31/03/2013 16:52:43
Necesito hacer este ejercicio

Realizar un programa que abra un fichero de texto para lectura, y lo vaya leyendo línea a línea. Deberá presentar como resultado final el nombre del fichero, el número de líneas y el número de caracteres.

NOTA: Recuerde que en la posición cero de una cadena de caracteres se almacena la longitud, pero debe usar la orden ord para tratar esta longitud como un entero.

y yo he hecho esto esta bien

rogram Archivo;
var
Archiv : text; {Variable tipo archivo de texto}
Nombre : String;
Procedure CreaArchivo;
begin
Assign(Archiv,'prueba.txt'); {Asigna variable "Archiv" a Pueba.txt}
ReWrite(Archiv); {Crea el archivo}
Writeln(Archiv,'Este es un archivo de prueba');
Writeln(Archiv,'Tema 9'); {Escribe nombres}
Writeln(Archiv,'Finalizando casi el curso');
Writeln(Archiv,'La progrmación es muy costosa de aprender'); {en el archivo }
close(archiv);
end;
procedure presenta;
begin
CreaArchivo; {Llama al Procedimiento "CreaArchivo"}
Assign(Archiv,'prueba.txt');
Reset(Archiv); {Abre el archivo. Vamos a escribir en el.}
Readln(Archiv, Nombre);
Writeln(Nombre); {Lee del archivo y mete lo }
Readln(Archiv, Nombre);
Writeln(Nombre); {leido a la variable Nombre}
Readln(Archiv, Nombre);
Writeln(Nombre); {Luego muestra en pantalla }
Readln(Archiv, Nombre);
Writeln(Nombre);
Close(Archiv); {Cierra el archivo. Esto es importante}
end;

PROCEDURE leer_archivo(nombre_fichero:String);
VAR
archivo:Text;
contador_lineas:Integer;
contador_caracteres:Integer;
linea:String;
BEGIN
Assign(archivo, nombre_fichero);
Reset(archivo);
contador_lineas := 0;
contador_caracteres := 0;
WHILE NOT EOF(archivo) DO
BEGIN
READLN(archivo, linea);
contador_lineas := contador_lineas + 1;
contador_caracteres := contador_caracteres + ORD(linea[0]);
WRITELN(linea);
end;
Close(archivo);
WRITELN('Se leyo el archivo ' + nombre_fichero);
WRITELN('Cantidad de lineas: ', contador_lineas);
WRITELN('Cantidad de caracteres: ', contador_caracteres);
end;
BEGIN
leer_archivo('prueba.txt');
readln;
END.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pascal Ayuda Abrir Fichero

Publicado por ramon (2158 intervenciones) el 31/03/2013 19:09:40
Tu programa funciona pero si quitas la variable archivo:Text; teniendo en cuanta que ya tienes
Archiv : text; la puedes emplear y pondrás mas claridad al programa.
También te comento que como lo tienes en un archivo de por ejemplo 80 lineas pasarían todas
y solo verías las ultimas.
por lo demás esta bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar