文本方式下字符的放大显示

Author: 崔宝深 Date: 1993-04-16

        请看以下程序,其中第200~280行是实现字符放大显示功能的子程序。每调用一次该子程序,则可显示一个放大的ASCII字符。其中A为字符的十进制ASCII码,L、C为放大字符左上角的行列坐标。放大的字符一般由7×7个ASCII字符构成(包含空格),具体由哪一种字符构成,取决于语句C$=CHR$(214)括号内的ASCII码。此外,如果将K$和C$赋予新值,即K$=CHR$(32)+CHR$(32):C$=CHR$(214)+CHR$(214)则可使放大字符加宽一倍。
        程序中第10行~50行是调用该子程序显示“CAD”字样的例子,N为字符个数。该程序已在IBMPC/XT及兼容机、BASICA环境下这行通过。
        10  N=3:T=1:SCREEN  0:COLOR  7,1:KEY  OFF  :CLS
        20  READ  L,C,A:GOSUB  200:T=T+1
        30  IF  T<=N  THEN  20
        40  RESTORE:DATA  6,25,67,6,35,65,6,45,68
        50  END
        200  DEF  SEG=&HF000:K$=CHR$(32):C$=CHR$(214)
        210  N1=64110!+8*A:LOCATE  L,C
        220  FOR  I=N1  TO  N1+7
        230  S=PEEK(I)
        240  FOR  J=7  TO  0  STEP1
        250  IF  (SAND2^J)=0  THEN  PRINT  K$;ELSE  PRINT  C$;
        260  IF  J=0  THENP  RINT:LOCAT  E,C
        270  NEXT  J,I
        280  RETURN