PROGRAM 27
PROGRAM COPYANYTEXTFILE (INPUT, OUTPUT, INFILE, OUTFILE); {ANTHONY F. ORITZ, ASSIGNMENT 10C, JULY 26, 1994} {THIS PROGRAM COPIES A FILE.} USES CRT; TYPE STRING11 = STRING [11]; PROCEDURE OPENFILES (VAR COUNT: INTEGER; VAR INFILE, OUTFILE: TEXT; VAR SOURCE, TARGET: STRING11); BEGIN COUNT := 0; WRITE ('ENTER THE NAME OF AN EXISTING SOURCE FILE. ' ); READLN (SOURCE); WRITE ('ENTER THE NAME OF THE TARGET FILE. '); READLN (TARGET); ASSIGN (INFILE, 'A:\' + SOURCE); ASSIGN (OUTFILE, 'A:\' + TARGET); RESET (INFILE); REWRITE (OUTFILE); END; FUNCTION MORELINES (VAR INFILE: TEXT): BOOLEAN; BEGIN MORELINES := NOT EOF (INFILE); END; PROCEDURE COPYALINE (VAR INFILE, OUTFILE: TEXT; VAR CH: CHAR; VAR COUNT: INTEGER); BEGIN WHILE NOT EOLN (INFILE) DO BEGIN READ (INFILE, CH); WRITE (OUTFILE, CH); WRITE (CH); COUNT := COUNT + 1; END; END; PROCEDURE STARTNEXTLINE (VAR INFILE, OUTFILE: TEXT); BEGIN READLN (INFILE); WRITELN (OUTFILE); WRITELN; END; PROCEDURE PRINTCOUNT (COUNT: INTEGER; SOURCE: STRING11); BEGIN WRITELN; WRITELN ('THERE ARE ', COUNT, ' CHARACTERS IN THE TEXT FILE ', SOURCE, '.'); END; PROCEDURE CLOSEFILES (VAR INFILE, OUTFILE: TEXT); BEGIN CLOSE (INFILE); CLOSE (OUTFILE); END; PROCEDURE PAUSE; BEGIN WRITELN; WRITE ('PRESS ENTER KEY TO CONTINUE. '); READLN; END; VAR INFILE, OUTFILE: TEXT; SOURCE, TARGET: STRING11; CH: CHAR; COUNT: INTEGER; BEGIN CLRSCR; OPENFILES (COUNT, INFILE, OUTFILE, SOURCE, TARGET); CLRSCR; WHILE MORELINES (INFILE) DO BEGIN COPYALINE (INFILE, OUTFILE, CH, COUNT); STARTNEXTLINE (INFILE, OUTFILE); END; PRINTCOUNT (COUNT, SOURCE); CLOSEFILES (INFILE, OUTFILE); PAUSE; END. { DATA FILE: LETTER.TXT } hi, anthony. { OUTFILE: BACKUP.TXT } hi, anthony. { OUTFILE: PROG27.OUT } ENTER THE NAME OF AN EXISTING SOURCE FILE. letter.txt ENTER THE NAME OF THE TARGET FILE. backup.txt hi, anthony. THERE ARE 12 CHARACTERS IN THE TEXT FILE letter.txt. PRESS ENTER KEY TO CONTINUE.
BACK TO COMP151 PAGE.