Program Headerpage; { Use this program to create a header page for program listings and/or printed program output. Make sure your printer is turned on when you run this program. Supply the requested information and the header page will be created using the data you supply. } Uses Crt, DOS, printer; const days : array [0..6] of String[9] = ('Sunday','Monday','Tuesday', 'Wednesday','Thursday','Friday', 'Saturday'); ff = 12; Banner1 = 'INTRODUCTION TO PROGRAMMING, 765-171'; Banner2 = 'Spring, 2001'; Banner3 = 'Instructor: Dr. B. R. Harris'; Linelength = 80; Centering_value = 40; var yr, mo, day, dow : word; hr, min, sec, hund : Word; name, date, time, section, project_number, value: String[20]; function LeadingZero(w : Word) : String; var s : String; begin Str(w :0, s); if Length(s) = 1 then s := '0' + s; LeadingZero := s; end; Begin Clrscr; Writeln('Please enter the requested information:'); Writeln; Write('Name: '); Readln(name); Write('Section: '); Readln(section); Write('Project number: '); Readln(project_number); Write('Date project is due (e.g., February 2, 2001): '); Readln(date); Write('Time project is due (e.g., 1:00 pm): '); Readln(time); Write('Value of project: '); Readln(value); Writeln(lst); Writeln(lst); Writeln(lst); Writeln(lst); Writeln(lst); Writeln(lst); Writeln(lst); Writeln(lst, Banner1 : (Linelength - Length(Banner1)) DIV 2 + Length(Banner1)); Writeln(lst, Banner2 : (Linelength - Length(Banner2)) DIV 2 + Length(Banner2)); Writeln(lst, Banner3 : (Linelength - Length(Banner3)) DIV 2 + Length(Banner3)); Writeln(lst); Writeln(lst); Writeln(lst, 'Name: ' :Centering_value, name); Writeln(lst); Writeln(lst, 'Section: ' :Centering_value, section); Writeln(lst); Writeln(lst, 'Project number: ' :Centering_value, project_number); Writeln(lst); Writeln(lst, 'Time due: ' :Centering_value, time); Writeln(lst); Writeln(lst, 'Date due: ' :Centering_value, date); Writeln(lst); Writeln(lst, 'Project value: ' :Centering_value, value, ' points'); Writeln(lst); Writeln(lst); Writeln(lst); GetTime(hr, min, sec, hund); Write(lst, 'Current time: ' :Centering_value); Writeln(lst, LeadingZero(hr),':', LeadingZero(min),':', LeadingZero(sec), '.', LeadingZero(hund)); GetDate(yr, mo, day, dow); Write(lst, 'Current date: ' :Centering_value); Writeln(lst, days[dow],', ', mo :0, '/', day :0, '/', yr :0); { Comment out the next line if you do not wish to send a "page eject" command to the printer after the header page is printed. } Writeln(lst, CHR(ff)) End.