{LAOUTPUT.INC - Output procedures used in program LA.PAS.} PROCEDURE ShowOnScreen; Begin Repeat ClrScr; Line_Number := 1; GotoXY(29,Line_Number); Write('AMORTIZATION SCHEDULE'); Show_Heading; {Screen Line 08 or 09} Line_Number := Line_Number + 2; GotoXY(01,Line_Number); Writeln( ' PAYMENT PAYMENT EXTRA MONTHLY MONTHLY PRINCIPAL'); Writeln( ' DUE NO. PAYMENT INTEREST PRINCIPAL BALANCE'); Line_Number := 10 + Month; Repeat Compute_Line; GotoXY(02,Line_Number);Write(Date); GotoXY(17,Line_Number);PrintUsing('###',Payment_Number,Print_Or_Screen); GotoXY(27,Line_Number);PrintUsing('#,###.##',Month_Extra,Print_Or_Screen); GotoXY(40,Line_Number);PrintUsing('#,###.##',Month_Interest,Print_Or_Screen); GotoXY(53,Line_Number);PrintUsing('#,###.##',Month_Prin,Print_Or_Screen); GotoXY(66,Line_Number);PrintUsing('###,###.##',Balance,Print_Or_Screen); Interest_To_Date := Interest_To_Date + Month_Interest; Line_Number := Line_Number + 1; If Balance = 0 then Line_Number := 23; Until Line_Number = 23; GotoXY(01,24);Write('TOTAL INTEREST FOR YEAR = '); Total_Interest := Total_Interest + Interest_To_Date; GotoXY(39,24);PrintUsing('##,###.##',Interest_To_Date,Print_Or_Screen); Interest_To_Date := 0; Read(InKey); Until Balance = 0; ClrScr; Show_Header; GotoXY(28,16);Write('FINAL PAYMENT IS = '); GotoXY(49,16);PrintUsing('###,###.##',Month_Extra + Month_Interest + Month_Prin + Property_Tax,Print_Or_Screen); GotoXY(21,18);Write('TOTAL INTEREST FOR LOAN = '); GotoXY(47,18);PrintUsing('#,###,###.##',Total_Interest,Print_Or_Screen); Read(InKey); end; (* ShowOnScreen *) PROCEDURE PrintItOut; const Lines_Per_Page : integer = 66; var Line_Cnt, Page_Nbr : integer; Page_Done : Boolean; Begin Page_Nbr := 1; Repeat Write(Lst,' '); Write(Lst,'AMORTIZATION SCHEDULE'); Write(Lst,' Page: '); PrintUsing(##,Page_Nbr,Print_Or_Screen); WriteLn(Lst,' '); WriteLn(Lst,' '); If Page_Nbr = 1 then Begin Write(Lst,' PRINCIPAL = '); PrintUsing('###,###.##',Principal,Print_Or_Screen); Write(Lst,' '); Write(Lst,'MINIMUM PAYMENT = '); PrintUsing('#,###.##',Payment,Print_Or_Screen); WriteLn(Lst,' '); Write(Lst,' INTEREST RATE = '); PrintUsing('##.###',Print_Interest,Print_Or_Screen); Write(Lst,'% '); Write(Lst,'NON EQUITY AMOUNT = '); PrintUsing('###.##',Property_Tax,Print_Or_Screen); WriteLn(Lst,' '); Write(Lst,' TERM OF LOAN = '); PrintUsing('###',Number_Of_Payments,Print_Or_Screen); Write(lst,' '); Write(Lst,Term_Name[T_Indx]); Write(Lst,'EXTRA EQUITY PAYMENT = '); PrintUsing('###.##',Extra,Print_Or_Screen); WriteLn(Lst,' '); Write(Lst,' 1ST PAYMENT DUE = '); Write(Lst,Print_Date); Write(Lst,' '); Write(Lst,'TOTAL PAYMENT = '); PrintUsing('#,###.##',Total_Payment1,Print_Or_Screen); WriteLn(Lst,' '); If Total_Payment2 > 0 then Begin Write(Lst,' BEGINNING DATE = '); Write(Lst,Print_Date2); Write(Lst,' '); Write(Lst,'TOTAL PAYMNT (2) = '); PrintUsing('#,###.##',Total_Payment2,Print_Or_Screen); WriteLn(Lst,' '); end; (* Begin *) end; (* Begin *) Write(Lst,' '); WriteLn(Lst, '========================================================================'); Write(Lst,' '); WriteLn(Lst, '= PAYMENT PAYMENT EXTRA MONTHLY MONTHLY PRINCIPAL='); Write(Lst,' '); WriteLn(Lst, '= DUE NO. PAYMENT INTEREST PRINCIPAL BALANCE ='); Write(Lst,' '); WriteLn(Lst, '========================================================================'); If Page_Nbr = 1 then If Total_Payment2 > 0 then Line_Cnt := 11 Else Line_Cnt := 10 Else Line_Cnt := 6; Page_Done := false; Repeat Compute_line; Write(Lst,' '); Write(Lst,Date); Write(Lst,' '); PrintUsing('###',Payment_Number,Print_Or_Screen); Write(Lst,' '); PrintUsing('#,###.##',Month_Extra,Print_Or_Screen); Write(Lst,' '); PrintUsing('#,###.##',Month_Interest,Print_Or_Screen); Write(Lst,' '); PrintUsing('#,###.##',Month_Prin,Print_Or_Screen); Write(Lst,' '); PrintUsing('###,###.##',Balance,Print_Or_Screen); WriteLn(Lst,' '); Interest_To_Date := Interest_To_Date + Month_Interest; Line_Cnt := Line_Cnt + 1; If Balance = 0 then Month := 1; If Month = 1 then Begin WriteLn(Lst,' '); Write(Lst,' '); Write(Lst,'TOTAL INTEREST FOR YEAR = '); Write(Lst,' '); PrintUsing('##,###.##',Interest_To_Date,Print_Or_Screen); WriteLn(Lst,' '); WriteLn(Lst,' '); Total_Interest := Total_Interest + Interest_To_Date; Interest_To_Date := 0; Line_Cnt := Line_Cnt + 3; end; (* Begin *) If Line_Cnt > 50 then Page_Done := true; If Balance = 0 then Page_Done := true; Until Page_Done; If Balance > 0 then Repeat WriteLn(Lst,' '); Line_Cnt := Line_Cnt + 1; Until Line_Cnt = 66; Page_Nbr := Page_Nbr + 1; Until Balance = 0; Write(Lst,' '); Write(Lst,' FINAL PAYMENT OF = '); PrintUsing('###,###.##',Month_Extra + Month_Interest + Month_Prin + Property_Tax,Print_Or_Screen); WriteLn(Lst,' '); WriteLn(Lst,' '); Write(Lst,' '); Write(Lst,'TOTAL INTEREST FOR LOAN = '); Write(Lst,' '); PrintUsing('#,###,###.##',Total_Interest,Print_Or_Screen); WriteLn(Lst,' '); Line_Cnt := Line_Cnt + 3; Repeat WriteLn(Lst,' '); Line_Cnt := Line_Cnt + 1; Until Line_Cnt = 66; end; (* PrintItOut *)