segment printer; {externals to handle printer/file output } {to achieve independance between PC & PCW} TYPE {$I lptype} {$I lpexti} PROCEDURE file_or_printer; VAR i: byte; s: string[40]; BEGIN reset_viewport; REPEAT clearline(23); i := 0; write('Output to Printer or File (P or F)?'); readln(s); if s='p' then s := 'P'; if s = 'f' then s := 'F'; if (s<>'F') and (s<>'P') then begin writeln('P or F please!'); i := 1; end; UNTIL i=0; if s = 'F' then begin clearline(23); write('File name (RETURN for default of [', outf,']?'); readln(s); if s <> '' then outf := s; end else outf := 'LST:'; cursor(0, 55); writeln(scr_inv, 'Output:', outf, scr_nor); assign(out, outf); rewrite(out); set_viewport(1); END; PROCEDURE Close_Printer; begin close(out, true); end; begin end.