为CC ED增加稿纸格式打印功能

Author: 刘同飞 Date: 1994-01-07

        笔者用PASCAL编写了一个稿纸格式文稿打印程序,可以在CCED下用16开纸直接打印出漂亮的20×20=400的稿纸格式文稿来。如果使用2.13H打印驱动程序,还可选择不同的打印字体。
        源程序清单附后。
        用TURBO PASCAL 5.0将源程序DY.PAS编译成DY.EXE文件。进入CCED按每行40个字符(20个汉字)编写好稿件。在CCED编辑状态下按CTRL+ENTE R进入DOS命令,调用DY.EXE对缺了一行按稿纸格式进行处理。然后按ENTE R键返回CCED编辑状态。再用SHIFT+F2键调入打印文件,按CTRL+P键进入CCED打印功能,即可实现稿纸格式打印。
        源程序清单:
        Program dy;
        uses ort;
        var
        ch:char;
        f1,f2:text;
        fi,fo:string;
        word:string;
        h,y,j:integer;
        begin
        clrsor;
        directvideo:=false;
        inline($b8/$06/$00/$cd/$10);
        write('  请输入文稿文件名:');readln(fi);
        write('  请输入打印文件名:');readln(fo);
        assign(fl,fi);assign(f2,fo);
        reset(f1);rewrite(f2);
        writeln();
        writeln(‘打印字体选择');
        writeln(‘1.24×24字体');
        writeln(‘2.24×24楷体');
        writeln(‘3.24×24黑体');
        writeln(‘4.24×24繁体');
        writeln();
        writeln('请选择1/2/3/4\:');
        ch:=readkey;
        if ord(ch)=$31 then write(f2,'`@A&16`')
        else if ord(ch)=$33 then write(f2,'`@M&16`')
        else if ord(ch)=$33 then write(f2,'`@I&16`');
        缺了一句
        h:=1;y:=1;
        while not eof(f1) do
        begin
        writeln(f2,'第',y,'页');
        while h<=20 do
        begin
        if not eoln(fl) then read(fl,word)
        else word:=' ';
        write(f2,'|'+word);
        for j:=1 to 19 do
        begin
        if not eoln(f1) then read(f1,word)
        else word:=' ';
        write(f2,'|'+word);
        end;
        readln(f1);
        writeln(f2,'|');
        if h=20 then
        begin
        writeln(f2,'`&10`');
        writeln(f2,'`&16`');
        writeln(f2,'  20×20=400字');
        y:=y+1;
        end
        else
        begin
        writeln(f2,'&10`');
        writeln(f2,'`&16`');
        end;
        h:=h+1;
        end;
        h:=1;
        end;
        close(f1);close(f2);
        end.
        刘同飞